



from string import ascii_uppercase

UpperCAmelCase_									=							{char: i for i, char in enumerate(ascii_uppercase)}
UpperCAmelCase_									=							dict(enumerate(ascii_uppercase))
def 							UpperCAmelCase__		(				_SCREAMING_SNAKE_CASE   :	str     ,				_SCREAMING_SNAKE_CASE   :	str				)->str:
      _lowerCAmelCase 			=  len(_SCREAMING_SNAKE_CASE				)
      _lowerCAmelCase 			=  0
      while True:
            if x == i:
                  _lowerCAmelCase 			=  0
            if len(_SCREAMING_SNAKE_CASE				) == len(_SCREAMING_SNAKE_CASE				):
                  break
            key += key[i]
            i += 1
      return key
def 							UpperCAmelCase__		(				_SCREAMING_SNAKE_CASE   :	str     ,				_SCREAMING_SNAKE_CASE   :	str				)->str:
      _lowerCAmelCase 			=  ''''''
      _lowerCAmelCase 			=  0
      for letter in message:
            if letter == " ":
                  cipher_text += " "
            else:
                  _lowerCAmelCase 			=  (dicta[letter] - dicta[key_new[i]]) % 2_6
                  i += 1
                  cipher_text += dicta[x]
      return cipher_text
def 							UpperCAmelCase__		(				_SCREAMING_SNAKE_CASE   :	str     ,				_SCREAMING_SNAKE_CASE   :	str				)->str:
      _lowerCAmelCase 			=  ''''''
      _lowerCAmelCase 			=  0
      for letter in cipher_text:
            if letter == " ":
                  or_txt += " "
            else:
                  _lowerCAmelCase 			=  (dicta[letter] + dicta[key_new[i]] + 2_6) % 2_6
                  i += 1
                  or_txt += dicta[x]
      return or_txt
def 							UpperCAmelCase__		(				)->None:
      _lowerCAmelCase 			=  '''THE GERMAN ATTACK'''
      _lowerCAmelCase 			=  '''SECRET'''
      _lowerCAmelCase 			=  generate_key(_SCREAMING_SNAKE_CASE     ,				_SCREAMING_SNAKE_CASE				)
      _lowerCAmelCase 			=  cipher_text(_SCREAMING_SNAKE_CASE     ,				_SCREAMING_SNAKE_CASE				)
      print(f'''Encrypted Text = {s}'''				)
      print(f'''Original Text = {original_text(_SCREAMING_SNAKE_CASE     ,				_SCREAMING_SNAKE_CASE				)}'''				)


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    main()







from __future__ import annotations
def 							UpperCAmelCase__		(				_SCREAMING_SNAKE_CASE   :	list				)->list:
      if len(_SCREAMING_SNAKE_CASE				) == 0:
            return []
      _lowerCAmelCase			,   _lowerCAmelCase 			=  min(_SCREAMING_SNAKE_CASE				), max(_SCREAMING_SNAKE_CASE				)
      _lowerCAmelCase 			=  int(max_value - min_value				) + 1
      _lowerCAmelCase 			=  [[] for _ in range(_SCREAMING_SNAKE_CASE				)]

      for i in my_list:
            buckets[int(i - min_value				)].append(_SCREAMING_SNAKE_CASE				)

      return [v for bucket in buckets for v in sorted(_SCREAMING_SNAKE_CASE				)]


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

    testmod()
    assert bucket_sort([4, 5, 3, 2, 1]) == [1, 2, 3, 4, 5]
    assert bucket_sort([0, 1, -1_0, 1_5, 2, -2]) == [-1_0, -2, 0, 1, 2, 1_5]