




def lowerCamelCase__  (     _lowercase ):

     '''simple docstring'''


     UpperCAmelCase_     :				Union[str, Any]  =     ''''''
     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 lowerCamelCase__  (     _lowercase ):

     '''simple docstring'''


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







def lowerCamelCase__  (     _lowercase					,		_lowercase ):

     '''simple docstring'''


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







def lowerCamelCase__  (     _lowercase					,		_lowercase ):

     '''simple docstring'''


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







def lowerCamelCase__  (     ):

     '''simple docstring'''


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


if __name__ == "__main__":
     import doctest

     doctest.testmod()
     main()



"""simple docstring"""






def 				A_       ( snake_case__		)					->  int:
			_UpperCamelCase					:Dict					     =	1
			for i in range(1       ,					num + 1		):
						fact *= i
			return fact





def 				A_       ( snake_case__		)					->  int:
			_UpperCamelCase					:Dict					     =	0
			while number > 0:
						_UpperCamelCase					:Tuple					     =	number % 10
						sum_of_digits += last_digit
						_UpperCamelCase					:str					     =	number // 10  # Removing the last_digit from the given number
			return sum_of_digits





def 				A_       ( snake_case__ = 1_00		)					->  int:
			_UpperCamelCase					:int					     =	factorial(snake_case__		)
			_UpperCamelCase					:Dict					     =	split_and_add(snake_case__		)
			return result


if __name__ == "__main__":
					print(solution(int(input("""Enter the Number: """).strip())))

