code: 
  def 		UpperCamelCase    (					_UpperCAmelCase     :      str   , _UpperCAmelCase     :      str     )      -> str:
  
  
  
  
  
  
  						'''simple docstring'''
  
  						if not isinstance(_UpperCAmelCase   , _UpperCAmelCase     ):
  												raise TypeError("plaintext must be a string"     )
  						if not isinstance(_UpperCAmelCase   , _UpperCAmelCase     ):
  												raise TypeError("key must be a string"     )
  
  						if not plaintext:
  												raise ValueError("plaintext is empty"     )
  						if not key:
  												raise ValueError("key is empty"     )
  
  						key += plaintext
  						_lowercase					:  int    			=      plaintext.lower()
  						_lowercase					:  Tuple    			=      key.lower()
  						_lowercase					:  List[Any]    			=      0
  						_lowercase					:  List[str]    			=      0
  						_lowercase					:  str    			=      ""
  						while plaintext_iterator < len(_UpperCAmelCase     ):
  												if (
  												    ord(plaintext[plaintext_iterator]     ) < 97
  												    or ord(plaintext[plaintext_iterator]     ) > 122
  												):
  																		ciphertext += plaintext[plaintext_iterator]
  																		plaintext_iterator += 1
  												elif ord(key[key_iterator]     ) < 97 or ord(key[key_iterator]     ) > 122:
  																		key_iterator += 1
  												else:
  																		ciphertext += chr(
  																		    (
  																		        (ord(plaintext[plaintext_iterator]     ) - 97 + ord(key[key_iterator]     ))
  																		        - 97
  																		    )
  																		    % 26
  																		    + 97     )
  																		key_iterator += 1
  																		plaintext_iterator += 1
  						return ciphertext
  
  
  
  def 		UpperCamelCase    (					_UpperCAmelCase     :      str   , _UpperCAmelCase     :      str     )      -> str:
  
  
  
  
  
  
  						'''simple docstring'''
  
  						if not isinstance(_UpperCAmelCase   , _UpperCAmelCase     ):
  												raise TypeError("ciphertext must be a string"     )
  						if not isinstance(_UpperCAmelCase   , _UpperCAmelCase     ):
  												raise TypeError("key must be a string"     )
  
  						if not ciphertext:
  												raise ValueError("ciphertext is empty"     )
  						if not key:
  												raise ValueError("key is empty"     )
  
  						_lowercase					:  Optional[Any]    			=      key.lower()
  						_lowercase					:  str    			=      0
  						_lowercase					:  Dict    			=      0
  						_lowercase					:  Union[str, Any]    			=      ""
  						while ciphertext_iterator < len(_UpperCAmelCase     ):
  												if (
  												    ord(ciphertext[ciphertext_iterator]     ) < 97
  												    or ord(ciphertext[ciphertext_iterator]     ) > 122
  												):
  																		plaintext += ciphertext[ciphertext_iterator]
  												else:
  																		plaintext += chr(
  																		    (ord(ciphertext[ciphertext_iterator]     ) - ord(key[key_iterator]     )) % 26
  																		    + 97     )
  																		key += chr(
  																		    (ord(ciphertext[ciphertext_iterator]     ) - ord(key[key_iterator]     )) % 26
  																		    + 97     )
  																		key_iterator += 1
  												ciphertext_iterator += 1
  						return plaintext
  
  
  if __name__ == "__main__":
  							import doctest
  
  							doctest.testmod()
  							UpperCamelCase_	:    Dict  					=       int(input("""Type 1 to encrypt or 2 to decrypt:"""))
  							if operation == 1:
  														UpperCamelCase_	:    Optional[int]  					=       input("""Typeplaintext to be encrypted:\n""")
  														UpperCamelCase_	:    Union[str, Any]  					=       input("""Type the key:\n""")
  														print(encrypt(plaintext, key))
  							elif operation == 2:
  														UpperCamelCase_	:    str  					=       input("""Type the ciphertext to be decrypted:\n""")
  														UpperCamelCase_	:    str  					=       input("""Type the key:\n""")
  														print(decrypt(ciphertext, key))
  							decrypt("""jsqqs avvwo""", """coffee""")
  
  
  
  
  
style_context: 
  def 		UpperCamelCase    (					_UpperCAmelCase     :      int     )      -> bool:
  
  
  
  
  
  
  						'''simple docstring'''
  
  						if not isinstance(_UpperCAmelCase   , _UpperCAmelCase     ):
  												_lowercase					:  Optional[int]    			=      f"""Input value of [number={number}] must be an integer"""
  												raise TypeError(_UpperCAmelCase     )
  						if number < 0 or number % 2 == 1:
  												return False
  						_lowercase					:  List[str]    			=      int(number**0.5     )
  						return number == number_sqrt * (number_sqrt + 1)
  
  
  if __name__ == "__main__":
  							import doctest
  
  							doctest.testmod()
  
  
  
  
  