


from string import ascii_uppercase

lowerCAmelCase__      		= {char: i for i, char in enumerate(ascii_uppercase)}
lowerCAmelCase__      		= dict(enumerate(ascii_uppercase))
def 							_UpperCAmelCase				(UpperCamelCase__     :  str				,							UpperCamelCase__     :  str						):
       _A      :       Dict				    = len(UpperCamelCase__						)
       _A      :       Union[str, Any]				    = 0
       while True:
              if x == i:
                     _A      :       str				    = 0
              if len(UpperCamelCase__						) == len(UpperCamelCase__						):
                     break
              key += key[i]
              i += 1
       return key
def 							_UpperCAmelCase				(UpperCamelCase__     :  str				,							UpperCamelCase__     :  str						):
       _A      :       Any				    = ""
       _A      :       Union[str, Any]				    = 0
       for letter in message:
              if letter == " ":
                     cipher_text += " "
              else:
                     _A      :       str				    = (dicta[letter] - dicta[key_new[i]]) % 26
                     i += 1
                     cipher_text += dicta[x]
       return cipher_text
def 							_UpperCAmelCase				(UpperCamelCase__     :  str				,							UpperCamelCase__     :  str						):
       _A      :       Union[str, Any]				    = ""
       _A      :       int				    = 0
       for letter in cipher_text:
              if letter == " ":
                     or_txt += " "
              else:
                     _A      :       List[Any]				    = (dicta[letter] + dicta[key_new[i]] + 26) % 26
                     i += 1
                     or_txt += dicta[x]
       return or_txt
def 							_UpperCAmelCase				():
       _A      :       int				    = "THE GERMAN ATTACK"
       _A      :       List[str]				    = "SECRET"
       _A      :       Union[str, Any]				    = generate_key(UpperCamelCase__				,							UpperCamelCase__						)
       _A      :       Any				    = cipher_text(UpperCamelCase__				,							UpperCamelCase__						)
       print(f"Encrypted Text = {s}"						)
       print(f"Original Text = {original_text(UpperCamelCase__				,							UpperCamelCase__						)}"						)


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    main()







"""simple docstring"""





def  __A   (_SCREAMING_SNAKE_CASE     ,   _SCREAMING_SNAKE_CASE			)					->float:





  """simple docstring"""


  if discount_rate < 0:
    raise ValueError('Discount rate cannot be negative'			)
  if not cash_flows:
    raise ValueError('Cash flows list cannot be empty'			)
  lowerCAmelCase__			:Union[str, Any]											=							sum(
      cash_flow / ((1 + discount_rate) ** i) for i, cash_flow in enumerate(_SCREAMING_SNAKE_CASE			)			)
  return round(_SCREAMING_SNAKE_CASE     ,   ndigits=2			)


if __name__ == "__main__":
  import doctest

  doctest.testmod()
