
'''simple docstring'''







import os
import sys
from contextlib import contextmanager


# Windows only
if os.name == "nt":
					import ctypes
					import msvcrt  # noqa


					class 						__UpperCAmelCase      (					ctypes.Structure						):
												# _fields is a specific attr expected by ctypes
												__lowercase      		=       [("""size""", ctypes.c_int), ("""visible""", ctypes.c_byte)]







def 				SCREAMING_SNAKE_CASE__	(   )       ->	List[Any]:
	if os.name == "nt":
		_snake_case   						=		CursorInfo()
		_snake_case   						=		ctypes.windll.kernelaa.GetStdHandle(-11	)
		ctypes.windll.kernelaa.GetConsoleCursorInfo(__A			,				ctypes.byref(__A	)	)
		_snake_case   						=		False
		ctypes.windll.kernelaa.SetConsoleCursorInfo(__A			,				ctypes.byref(__A	)	)
	elif os.name == "posix":
		sys.stdout.write('\033[?25l'	)
		sys.stdout.flush()







def 				SCREAMING_SNAKE_CASE__	(   )       ->	List[str]:
	if os.name == "nt":
		_snake_case   						=		CursorInfo()
		_snake_case   						=		ctypes.windll.kernelaa.GetStdHandle(-11	)
		ctypes.windll.kernelaa.GetConsoleCursorInfo(__A			,				ctypes.byref(__A	)	)
		_snake_case   						=		True
		ctypes.windll.kernelaa.SetConsoleCursorInfo(__A			,				ctypes.byref(__A	)	)
	elif os.name == "posix":
		sys.stdout.write('\033[?25h'	)
		sys.stdout.flush()







@contextmanager
def 				SCREAMING_SNAKE_CASE__	(   )       ->	Union[str, Any]:
	try:
		hide_cursor()
		yield
	finally:
		show_cursor()



'''simple docstring'''







from __future__ import annotations

import string
from itertools import cycle, product
from pathlib import Path

lowercase    :							str      =					(
    string.ascii_letters + string.digits + string.punctuation + string.whitespace
)
lowercase    :							list[int]      =					[ord(letter) for letter in string.ascii_lowercase]
lowercase    :							set[int]      =					{ord(char) for char in VALID_CHARS}

lowercase    :							list[str]      =					["the", "be", "to", "of", "and", "in", "that", "have"]







def 				SCREAMING_SNAKE_CASE__	(   __A			,				__A	)       ->	str | None:
	_snake_case   						=		""
	_snake_case   						=		42
	_snake_case   						=		42
	_snake_case   						=		42

	for keychar, cipherchar in zip(cycle(__A	)			,				__A	):
		_snake_case   						=		cipherchar ^ keychar
		if decodedchar not in VALID_INTS:
			return None
		decoded += chr(__A	)

	return decoded







def 				SCREAMING_SNAKE_CASE__	(   __A	)       ->	list[str]:
	_snake_case   						=		[]
	for key in product(__A			,				repeat=3	):
		_snake_case   						=		try_key(__A			,				__A	)
		if encoded is not None:
			possibles.append(__A	)
	return possibles







def 				SCREAMING_SNAKE_CASE__	(   __A			,				__A	)       ->	list[str]:
	return [possible for possible in possibles if common_word in possible.lower()]







def 				SCREAMING_SNAKE_CASE__	(   __A = "p059_cipher.txt"	)       ->	int:
	_snake_case   						=		42
	_snake_case   						=		42
	_snake_case   						=		42
	_snake_case   						=		42
	_snake_case   						=		Path(__A	).parent.joinpath(__A	).read_text(encoding='utf-8'	)

	_snake_case   						=		[int(__A	) for number in data.strip().split(','	)]

	_snake_case   						=		filter_valid_chars(__A	)
	for common_word in COMMON_WORDS:
		_snake_case   						=		filter_common_word(__A			,				__A	)
		if len(__A	) == 1:
			break

	_snake_case   						=		possibles[0]
	return sum(ord(__A	) for char in decoded_text	)


if __name__ == "__main__":
					print(F'''{solution() = }''')

