

def       snake_case__    (       lowerCAmelCase_,   lowerCAmelCase_      ):





     """simple docstring"""







     if not isinstance(lowerCAmelCase_,   lowerCAmelCase_      ):
          raise TypeError('plaintext must be a string'      )
     if not isinstance(lowerCAmelCase_,   lowerCAmelCase_      ):
          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
     SCREAMING_SNAKE_CASE										=plaintext.lower()
     SCREAMING_SNAKE_CASE										=key.lower()
     SCREAMING_SNAKE_CASE										=0
     SCREAMING_SNAKE_CASE										=0
     SCREAMING_SNAKE_CASE										=''
     while plaintext_iterator < len(lowerCAmelCase_      ):
          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       snake_case__    (       lowerCAmelCase_,   lowerCAmelCase_      ):





     """simple docstring"""







     if not isinstance(lowerCAmelCase_,   lowerCAmelCase_      ):
          raise TypeError('ciphertext must be a string'      )
     if not isinstance(lowerCAmelCase_,   lowerCAmelCase_      ):
          raise TypeError('key must be a string'      )

     if not ciphertext:
          raise ValueError('ciphertext is empty'      )
     if not key:
          raise ValueError('key is empty'      )

     SCREAMING_SNAKE_CASE										=key.lower()
     SCREAMING_SNAKE_CASE										=0
     SCREAMING_SNAKE_CASE										=0
     SCREAMING_SNAKE_CASE										=''
     while ciphertext_iterator < len(lowerCAmelCase_      ):
          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								=int(input("Type 1 to encrypt or 2 to decrypt:"))
 if operation == 1:
  _lowerCamelCase								=input("Typeplaintext to be encrypted:\n")
  _lowerCamelCase								=input("Type the key:\n")
  print(encrypt(plaintext, key))
 elif operation == 2:
  _lowerCamelCase								=input("Type the ciphertext to be decrypted:\n")
  _lowerCamelCase								=input("Type the key:\n")
  print(decrypt(ciphertext, key))
 decrypt("jsqqs avvwo", "coffee")




import os
import sys
import time

from . import transposition_cipher as trans_cipher







def       snake_case__    (       ):





     """simple docstring"""







     SCREAMING_SNAKE_CASE										='Prehistoric Men.txt'
     SCREAMING_SNAKE_CASE										='Output.txt'
     SCREAMING_SNAKE_CASE										=int(input('Enter key: '      )      )
     SCREAMING_SNAKE_CASE										=input('Encrypt/Decrypt [e/d]: '      )

     if not os.path.exists(lowerCAmelCase_      ):
          print(F'File {input_file} does not exist. Quitting...'      )
          sys.exit()
     if os.path.exists(lowerCAmelCase_      ):
          print(F'Overwrite {output_file}? [y/n]'      )
          SCREAMING_SNAKE_CASE										=input('> '      )
          if not response.lower().startswith('y'      ):
               sys.exit()

     SCREAMING_SNAKE_CASE										=time.time()
     if mode.lower().startswith('e'      ):
          with open(lowerCAmelCase_      ) as f:
               SCREAMING_SNAKE_CASE										=f.read()
          SCREAMING_SNAKE_CASE										=trans_cipher.encrypt_message(lowerCAmelCase_,   lowerCAmelCase_      )
     elif mode.lower().startswith('d'      ):
          with open(lowerCAmelCase_      ) as f:
               SCREAMING_SNAKE_CASE										=f.read()
          SCREAMING_SNAKE_CASE										=trans_cipher.decrypt_message(lowerCAmelCase_,   lowerCAmelCase_      )

     with open(lowerCAmelCase_,   'w'      ) as output_obj:
          output_obj.write(lowerCAmelCase_      )

     SCREAMING_SNAKE_CASE										=round(time.time() - start_time,   2      )
     print(('Done (', total_time, 'seconds )')      )


if __name__ == "__main__":
 main()

