code: 
  
  
  '''simple docstring'''
  
  import os
  import sys
  import time
  
  from . import transposition_cipher as trans_cipher
  
  
  
  def        SCREAMING_SNAKE_CASE__(		)		->					None:
  
  
  
  
  
     '''simple docstring'''
  
  
  
  
  
  
  
     UpperCamelCase__ 						=						"Prehistoric Men.txt"
     UpperCamelCase__ 						=						"Output.txt"
     UpperCamelCase__ 						=						int(input("Enter key: "   )   )
     UpperCamelCase__ 						=						input("Encrypt/Decrypt [e/d]: "   )
  
     if not os.path.exists(_UpperCamelCase   ):
        print(F'File {input_file} does not exist. Quitting...'   )
        sys.exit()
     if os.path.exists(_UpperCamelCase   ):
        print(F'Overwrite {output_file}? [y/n]'   )
        UpperCamelCase__ 						=						input("> "   )
        if not response.lower().startswith("y"   ):
           sys.exit()
  
     UpperCamelCase__ 						=						time.time()
     if mode.lower().startswith("e"   ):
        with open(_UpperCamelCase   ) as f:
           UpperCamelCase__ 						=						f.read()
        UpperCamelCase__ 						=						trans_cipher.encrypt_message(_UpperCamelCase    ,		_UpperCamelCase   )
     elif mode.lower().startswith("d"   ):
        with open(_UpperCamelCase   ) as f:
           UpperCamelCase__ 						=						f.read()
        UpperCamelCase__ 						=						trans_cipher.decrypt_message(_UpperCamelCase    ,		_UpperCamelCase   )
  
     with open(_UpperCamelCase    ,		"w"   ) as output_obj:
        output_obj.write(_UpperCamelCase   )
  
     UpperCamelCase__ 						=						round(time.time() - start_time    ,		2   )
     print(("Done (", total_time, "seconds )")   )
  
  
  if __name__ == "__main__":
         main()
style_context: 
  
  
  '''simple docstring'''
  
  from __future__ import annotations
  
  import random
  from collections.abc import Iterable
  from typing import Any, Generic, TypeVar
  
  __lowercase:		Optional[Any]							=     TypeVar("T", bound=bool)
  
  
  
  
  
  
  
  class  UpperCAmelCase (       Generic[T]):
  
   def __init__( self :	int,					a_ :	T					):
  
  
  
  
  
      """simple docstring"""
  
  
  
      UpperCamelCase__ 						=						value
      UpperCamelCase__ 						=						None
      UpperCamelCase__ 						=						None
  
   @property
   def 		lowercase_						( self :	Dict					):
  
  
  
  
  
      """simple docstring"""
  
  
  
      return self._value
  
   @staticmethod
   def 		lowercase_						( a_ :	RandomizedHeapNode[T] | None,					a_ :	RandomizedHeapNode[T] | None					):
  
  
  
  
  
      """simple docstring"""
  
  
  
      if not roota:
         return roota
  
      if not roota:
         return roota
  
      if roota.value > roota.value:
         UpperCamelCase__						,		UpperCamelCase__ 						=						roota, roota
  
      if random.choice([True, False]					):
         UpperCamelCase__						,		UpperCamelCase__ 						=						roota.right, roota.left
  
      UpperCamelCase__ 						=						RandomizedHeapNode.merge(roota.left,					a_					)
  
      return roota
  
  
  
  
  
  
  
  class  UpperCAmelCase (       Generic[T]):
  
   def __init__( self :	List[Any],					a_ :	Iterable[T] | None = ()					):
  
  
  
  
  
      """simple docstring"""
  
  
  
      UpperCamelCase__ 						=						None
  
      if data:
         for item in data:
            self.insert(a_					)
  
   def 		lowercase_						( self :	Any,					a_ :	T					):
  
  
  
  
  
      """simple docstring"""
  
  
  
      UpperCamelCase__ 						=						RandomizedHeapNode.merge(self._root,					RandomizedHeapNode(a_					)					)
  
   def 		lowercase_						( self :	Any					):
  
  
  
  
  
      """simple docstring"""
  
  
  
      UpperCamelCase__ 						=						self.top()
  
      if self._root is None:
         return None
  
      UpperCamelCase__ 						=						RandomizedHeapNode.merge(self._root.left,					self._root.right					)
  
      return result
  
   def 		lowercase_						( self :	Union[str, Any]					):
  
  
  
  
  
      """simple docstring"""
  
  
  
      if not self._root:
         raise IndexError("Can't get top element for the empty heap."					)
      return self._root.value
  
   def 		lowercase_						( self :	Tuple					):
  
  
  
  
  
      """simple docstring"""
  
  
  
      UpperCamelCase__ 						=						None
  
   def 		lowercase_						( self :	int					):
  
  
  
  
  
      """simple docstring"""
  
  
  
      UpperCamelCase__ 						=						[]
      while self:
         result.append(self.pop()					)
  
      return result
  
   def __bool__( self :	List[Any]					):
  
  
  
  
  
      """simple docstring"""
  
  
  
      return self._root is not None
  
  
  if __name__ == "__main__":
         import doctest
  
         doctest.testmod()