




def 							_UpperCAmelCase     (UpperCamelCase_       :       str					,			UpperCamelCase_       :       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
				_lowerCAmelCase			:			Optional[int]        =					plaintext.lower()
				_lowerCAmelCase			:			List[str]        =					key.lower()
				_lowerCAmelCase			:			Tuple        =					0
				_lowerCAmelCase			:			int        =					0
				_lowerCAmelCase			:			Tuple        =					""""""
				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				):
				'''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"""				)

				_lowerCAmelCase			:			Union[str, Any]        =					key.lower()
				_lowerCAmelCase			:			str        =					0
				_lowerCAmelCase			:			int        =					0
				_lowerCAmelCase			:			int        =					""""""
				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()
	_lowerCamelCase					:     List[str]					  =  int(input("Type 1 to encrypt or 2 to decrypt:"))
	if operation == 1:
		_lowerCamelCase					:     Optional[int]					  =  input("Typeplaintext to be encrypted:\n")
		_lowerCamelCase					:     Optional[int]					  =  input("Type the key:\n")
		print(encrypt(plaintext, key))
	elif operation == 2:
		_lowerCamelCase					:     Tuple					  =  input("Type the ciphertext to be decrypted:\n")
		_lowerCamelCase					:     Union[str, Any]					  =  input("Type the key:\n")
		print(decrypt(ciphertext, key))
	decrypt("jsqqs avvwo", "coffee")









from math import factorial




def    __A    (   _lowercase    ,	_lowercase       ):

					'''simple docstring'''







					return factorial(_lowercase       ) / (factorial(_lowercase       ) * factorial(n - r       ))




def    __A    (   ):

					'''simple docstring'''







					_A									=       0

					for i in range(1    ,	1_01       ):
										for j in range(1    ,	i + 1       ):
															if combinations(_lowercase    ,	_lowercase       ) > 1e6:
																				total += 1
					return total


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



