

'''simple docstring'''






def 						_A	(       A__ ):






 """simple docstring"""



 __lowercase				    =					''''''
 for ch in key:
  if ch == " " or ch not in key_no_dups and ch.isalpha():
   key_no_dups += ch
 return key_no_dups


def 						_A	(       A__ ):






 """simple docstring"""



 __lowercase				    =					[chr(i + 65 ) for i in range(26 )]
 # Remove duplicate characters from key
 __lowercase				    =					remove_duplicates(key.upper() )
 __lowercase				    =					len(A__ )
 # First fill cipher with key characters
 __lowercase				    =					{alphabet[i]: char for i, char in enumerate(A__ )}
 # Then map remaining characters in alphabet to
 # the alphabet from the beginning
 for i in range(len(A__ )	,							26 ):
  __lowercase				    =					alphabet[i - offset]
  # Ensure we are not mapping letters to letters previously mapped
  while char in key:
   offset -= 1
   __lowercase				    =					alphabet[i - offset]
  __lowercase				    =					char
 return cipher_alphabet


def 						_A	(       A__	,							A__ ):






 """simple docstring"""



 return "".join(cipher_map.get(A__	,							A__ ) for ch in message.upper() )


def 						_A	(       A__	,							A__ ):






 """simple docstring"""



 __lowercase				    =					{v: k for k, v in cipher_map.items()}
 return "".join(rev_cipher_map.get(A__	,							A__ ) for ch in message.upper() )


def 						_A	(       ):






 """simple docstring"""



 __lowercase				    =					input('''Enter message to encode or decode: ''' ).strip()
 __lowercase				    =					input('''Enter keyword: ''' ).strip()
 __lowercase				    =					input('''Encipher or decipher? E/D:''' ).strip()[0].lower()
 try:
  __lowercase				    =					{'''e''': encipher, '''d''': decipher}[option]
 except KeyError:
  raise KeyError('''invalid input option''' )
 __lowercase				    =					create_cipher_map(A__ )
 print(func(A__	,							A__ ) )


if __name__ == "__main__":
 import doctest

 doctest.testmod()
 main()








def 		_SCREAMING_SNAKE_CASE     ( lowerCAmelCase__=2_81_23						):
		lowerCamelCase_	:     Any 						=      [1] * (limit + 1)

		for i in range(2							,int(limit**0.5						) + 1						):
				sum_divs[i * i] += i
				for k in range(i + 1							,limit // i + 1						):
						sum_divs[k * i] += k + i

		lowerCamelCase_	:     List[str] 						=      set()
		lowerCamelCase_	:     List[str] 						=      0

		for n in range(1							,limit + 1						):
				if sum_divs[n] > n:
						abundants.add(lowerCAmelCase__						)

				if not any((n - a in abundants) for a in abundants						):
						res += n

		return res


if __name__ == "__main__":
		print(solution())
