


import random


class      __lowerCAmelCase  :






  """simple docstring"""





  @staticmethod
  def        lowerCAmelCase__	(  _lowerCAmelCase							:							str	) ->			tuple[list[int], list[int]]:




     """simple docstring"""
     snake_case_            =       [ord(_lowerCAmelCase	) for i in text]
     snake_case_            =       []
     snake_case_            =       []
     for i in plain:
        snake_case_            =       random.randint(1     ,					3_0_0	)
        snake_case_            =       (i + k) * k
        cipher.append(_lowerCAmelCase	)
        key.append(_lowerCAmelCase	)
     return cipher, key



  @staticmethod
  def        lowerCAmelCase__	(  _lowerCAmelCase							:							list[int]     ,					_lowerCAmelCase							:							list[int]	) ->			str:




     """simple docstring"""
     snake_case_            =       []
     for i in range(len(_lowerCAmelCase	)	):
        snake_case_            =       int((cipher[i] - (key[i]) ** 2) / key[i]	)
        plain.append(chr(_lowerCAmelCase	)	)
     return "".join(_lowerCAmelCase	)


if __name__ == "__main__":
   SCREAMING_SNAKE_CASE		,						SCREAMING_SNAKE_CASE						:Union[str, Any]			=  Onepad().encrypt('''Hello''')
   print(c, k)
   print(Onepad().decrypt(c, k))








from math import factorial



def       _lowerCAmelCase    (				lowerCAmelCase_				:int = 20				)->int:
   '''simple docstring'''






   snake_case_            =       2 * n  # middle entry of odd rows starting at row 3 is the solution for n = 1,
   # 2, 3,...
   snake_case_            =       n // 2

   return int(factorial(lowerCAmelCase_				) / (factorial(lowerCAmelCase_				) * factorial(n - k				))				)


if __name__ == "__main__":
   import sys

   if len(sys.argv) == 1:
      print(solution(20))
   else:
      try:
         SCREAMING_SNAKE_CASE						:Any			=  int(sys.argv[1])
         print(solution(n))
      except ValueError:
         print('''Invalid entry - please enter a number.''')




