



from __future__ import annotations

from string import ascii_letters





def 		__snake_case						(    _UpperCAmelCase       ,			_UpperCAmelCase       ,			_UpperCAmelCase = None				):
					"""simple docstring"""






					lowercase						   =       alphabet or ascii_letters

					# The final result string
					lowercase						   =       ''

					for character in input_string:
										if character not in alpha:
															# Append without encryption if character is not in the alphabet
															result += character
										else:
															# Get the index of the new key and make sure it isn't too large
															lowercase						   =       (alpha.index(__snake_case				) + key) % len(__snake_case				)

															# Append the encoded character to the alphabet
															result += alpha[new_key]

					return result





def 		__snake_case						(    _UpperCAmelCase       ,			_UpperCAmelCase       ,			_UpperCAmelCase = None				):
					"""simple docstring"""






					key *= -1

					return encrypt(__snake_case       ,			__snake_case       ,			__snake_case				)





def 		__snake_case						(    _UpperCAmelCase       ,			_UpperCAmelCase = None				):
					"""simple docstring"""






					lowercase						   =       alphabet or ascii_letters

					# To store data on all the combinations
					lowercase						   =       {}

					# Cycle through each combination
					for key in range(1       ,			len(__snake_case				) + 1				):
										# Decrypt the message and store the result in the data
										lowercase						   =       decrypt(__snake_case       ,			__snake_case       ,			__snake_case				)

					return brute_force_data


if __name__ == "__main__":
		while True:
				print(F"""\n{"-" * 10}\n Menu\n{"-" * 10}""")
				print(*['''1.Encrypt''', '''2.Decrypt''', '''3.BruteForce''', '''4.Quit'''], sep='''\n''')

				# get user input
				__magic_name__       =     input('''\nWhat would you like to do?: ''').strip() or """4"""

				# run functions based on what the user chose
				if choice not in ("1", "2", "3", "4"):
						print('''Invalid choice, please enter a valid choice''')
				elif choice == "1":
						__magic_name__       =     input('''Please enter the string to be encrypted: ''')
						__magic_name__       =     int(input('''Please enter off-set: ''').strip())

						print(encrypt(input_string, key))
				elif choice == "2":
						__magic_name__       =     input('''Please enter the string to be decrypted: ''')
						__magic_name__       =     int(input('''Please enter off-set: ''').strip())

						print(decrypt(input_string, key))
				elif choice == "3":
						__magic_name__       =     input('''Please enter the string to be decrypted: ''')
						__magic_name__       =     brute_force(input_string)

						for key, value in brute_force_data.items():
								print(F"""Key: {key} | Message: {value}""")

				elif choice == "4":
						print('''Goodbye.''')
						break












from collections import Counter




def  a_		(							__snake_case					)	->			int:

			'''simple docstring'''


			return sum(socks_by_color // 2 for socks_by_color in Counter(__snake_case					).values()					)


if __name__ == "__main__":
				import doctest

				doctest.testmod()

				__a			:	List[Any]							     =		[int(x) for x in input("""Enter socks by color :""").rstrip().split()]
				print(f"""sock_merchant({colors}) = {sock_merchant(colors)}""")
