






"""simple docstring"""


def    lowerCAmelCase							(       __UpperCamelCase						,			__UpperCamelCase					):




  """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
  __A		     =					plaintext.lower()
  __A		     =					key.lower()
  __A		     =					0
  __A		     =					0
  __A		     =					''''''
  while plaintext_iterator < len(__UpperCamelCase					):
    if (
        ord(plaintext[plaintext_iterator]					) < 9_7
        or ord(plaintext[plaintext_iterator]					) > 1_2_2
    ):
      ciphertext += plaintext[plaintext_iterator]
      plaintext_iterator += 1
    elif ord(key[key_iterator]					) < 9_7 or ord(key[key_iterator]					) > 1_2_2:
      key_iterator += 1
    else:
      ciphertext += chr(
          (
              (ord(plaintext[plaintext_iterator]					) - 9_7 + ord(key[key_iterator]					))
              - 9_7
          )
          % 2_6
          + 9_7					)
      key_iterator += 1
      plaintext_iterator += 1
  return ciphertext



def    lowerCAmelCase							(       __UpperCamelCase						,			__UpperCamelCase					):




  """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'''					)

  __A		     =					key.lower()
  __A		     =					0
  __A		     =					0
  __A		     =					''''''
  while ciphertext_iterator < len(__UpperCamelCase					):
    if (
        ord(ciphertext[ciphertext_iterator]					) < 9_7
        or ord(ciphertext[ciphertext_iterator]					) > 1_2_2
    ):
      plaintext += ciphertext[ciphertext_iterator]
    else:
      plaintext += chr(
          (ord(ciphertext[ciphertext_iterator]					) - ord(key[key_iterator]					)) % 2_6
          + 9_7					)
      key += chr(
          (ord(ciphertext[ciphertext_iterator]					) - ord(key[key_iterator]					)) % 2_6
          + 9_7					)
      key_iterator += 1
    ciphertext_iterator += 1
  return plaintext


if __name__ == "__main__":
       import doctest

       doctest.testmod()
       lowercase_								=	int(input('Type 1 to encrypt or 2 to decrypt:'))
       if operation == 1:
              lowercase_								=	input('Typeplaintext to be encrypted:\n')
              lowercase_								=	input('Type the key:\n')
              print(encrypt(plaintext, key))
       elif operation == 2:
              lowercase_								=	input('Type the ciphertext to be decrypted:\n')
              lowercase_								=	input('Type the key:\n')
              print(decrypt(ciphertext, key))
       decrypt('jsqqs avvwo', 'coffee')












'''simple docstring'''







def     _UpperCamelCase				(  snake_case__ = 1_000				):
      __A		 =   []
      __A		 =   []
      __A		 =   3
      __A		 =   5
      __A		 =   1
      while True:
            __A		 =   z * temp
            if result < n:
                  zmulti.append(snake_case__				)
                  temp += 1
            else:
                  __A		 =   1
                  break
      while True:
            __A		 =   x * temp
            if result < n:
                  xmulti.append(snake_case__				)
                  temp += 1
            else:
                  break
      __A		 =   list(set(xmulti + zmulti				)				)
      return sum(snake_case__				)


if __name__ == "__main__":
       print(F"""{solution() = }""")


