code: 
  
  """simple docstring"""
  
  
  
  
  def      __SCREAMING_SNAKE_CASE		(		lowercase__    ,							lowercase__   ):
  					"""simple docstring"""
  
  					if not isinstance(lowercase__    ,							lowercase__   ):
  										raise TypeError("plaintext must be a string"   )
  					if not isinstance(lowercase__    ,							lowercase__   ):
  										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
  					A    =      plaintext.lower()
  					A    =      key.lower()
  					A    =      0
  					A    =      0
  					A    =      ""
  					while plaintext_iterator < len(lowercase__   ):
  										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      __SCREAMING_SNAKE_CASE		(		lowercase__    ,							lowercase__   ):
  					"""simple docstring"""
  
  					if not isinstance(lowercase__    ,							lowercase__   ):
  										raise TypeError("ciphertext must be a string"   )
  					if not isinstance(lowercase__    ,							lowercase__   ):
  										raise TypeError("key must be a string"   )
  
  					if not ciphertext:
  										raise ValueError("ciphertext is empty"   )
  					if not key:
  										raise ValueError("key is empty"   )
  
  					A    =      key.lower()
  					A    =      0
  					A    =      0
  					A    =      ""
  					while ciphertext_iterator < len(lowercase__   ):
  										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()
  	__A  :					str												=	int(input('Type 1 to encrypt or 2 to decrypt:'))
  	if operation == 1:
  		__A  :					Dict												=	input('Typeplaintext to be encrypted:\n')
  		__A  :					Optional[Any]												=	input('Type the key:\n')
  		print(encrypt(plaintext, key))
  	elif operation == 2:
  		__A  :					Optional[int]												=	input('Type the ciphertext to be decrypted:\n')
  		__A  :					List[Any]												=	input('Type the key:\n')
  		print(decrypt(ciphertext, key))
  	decrypt('jsqqs avvwo', 'coffee')
  
  
  
  
  
  
style_context: 
  
  """simple docstring"""
  
  
  
  
  def      __SCREAMING_SNAKE_CASE		(		lowercase__   ):
  					"""simple docstring"""
  					if not isinstance(lowercase__    ,							lowercase__   ):
  										raise ValueError("double_factorial() only accepts integral values"   )
  					if n < 0:
  										raise ValueError("double_factorial() not defined for negative values"   )
  					return 1 if n <= 1 else n * double_factorial(n - 2   )
  
  
  if __name__ == "__main__":
  	import doctest
  
  	doctest.testmod()
  
  
  
  
  
  