






"""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 				_snake_case (		lowercase						)       ->       Tuple:
				__a       :     Union[str, Any]								=	[7_0_1, 3_0_1, 1_3_2, 5_7, 2_3, 1_0, 4, 1]
				for gap in gaps:
								for i in range(lowercase			,    len(lowercase						)						):
												__a       :     Tuple								=	collection[i]
												__a       :     Optional[int]								=	i
												while j >= gap and collection[j - gap] > insert_value:
																__a       :     Tuple								=	collection[j - gap]
																j -= gap
												if j != i:
																__a       :     Dict								=	insert_value
				return collection


if __name__ == "__main__":
					from doctest import testmod

					testmod()
					__SCREAMING_SNAKE_CASE		:  Any        =      input('Enter numbers separated by a comma:\n').strip()
					__SCREAMING_SNAKE_CASE		:  Optional[int]        =      [int(item) for item in user_input.split(',')]
					print(shell_sort(unsorted))