


"""simple docstring"""


import string


def _lowerCamelCase			(	_UpperCamelCase     :   Union[str, Any]   ):

			'''simple docstring'''




			__lowerCAmelCase       					=    ""
			for i in sequence:
						__lowerCAmelCase       					=    ord(_UpperCamelCase   )
						if 65 <= extract <= 90:
									output += chr(155 - extract   )
						elif 97 <= extract <= 122:
									output += chr(219 - extract   )
						else:
									output += i
			return output


def _lowerCamelCase			(	_UpperCamelCase     :   Dict   ):

			'''simple docstring'''




			__lowerCAmelCase       					=    string.ascii_letters
			__lowerCAmelCase       					=    string.ascii_lowercase[::-1] + string.ascii_uppercase[::-1]
			return "".join(
			    letters_reversed[letters.index(_UpperCamelCase   )] if c in letters else c for c in sequence   )


def _lowerCamelCase			(	):

			'''simple docstring'''




			from timeit import timeit

			print("Running performance benchmarks..."   )
			__lowerCAmelCase       					=    "from string import printable ; from __main__ import atbash, atbash_slow"
			print(f"> atbash_slow(): {timeit('atbash_slow(printable)'					,				setup=_UpperCamelCase   )} seconds"   )
			print(f">      atbash(): {timeit('atbash(printable)'					,				setup=_UpperCamelCase   )} seconds"   )


if __name__ == "__main__":
	for example in ("ABCDEFGH", "123GGjj", "testStringtest", "with space"):
		print(f'''{example} encrypted in atbash: {atbash(example)}''')
	benchmark()








"""simple docstring"""


from itertools import product


def _lowerCamelCase			(	_UpperCamelCase					,				_UpperCamelCase   ):

			'''simple docstring'''




			__lowerCAmelCase       					=    sides_number
			__lowerCAmelCase       					=    max_face_number * dice_number
			__lowerCAmelCase       					=    [0] * (max_total + 1)

			__lowerCAmelCase       					=    1
			__lowerCAmelCase       					=    range(_UpperCamelCase					,				max_face_number + 1   )
			for dice_numbers in product(_UpperCamelCase					,				repeat=_UpperCamelCase   ):
						__lowerCAmelCase       					=    sum(_UpperCamelCase   )
						totals_frequencies[total] += 1

			return totals_frequencies


def _lowerCamelCase			(	):

			'''simple docstring'''




			__lowerCAmelCase       					=    total_frequency_distribution(
			    sides_number=4					,				dice_number=9   )
			__lowerCAmelCase       					=    total_frequency_distribution(
			    sides_number=6					,				dice_number=6   )

			__lowerCAmelCase       					=    0
			__lowerCAmelCase       					=    9
			__lowerCAmelCase       					=    4 * 9
			__lowerCAmelCase       					=    6
			for peter_total in range(_UpperCamelCase					,				max_peter_total + 1   ):
						peter_wins_count += peter_totals_frequencies[peter_total] * sum(
						    colin_totals_frequencies[min_colin_total:peter_total]   )

			__lowerCAmelCase       					=    (4**9) * (6**6)
			__lowerCAmelCase       					=    peter_wins_count / total_games_number

			__lowerCAmelCase       					=    round(_UpperCamelCase					,				ndigits=7   )

			return rounded_peter_win_probability


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




