'''simple docstring'''




__UpperCAmelCase  							=[chr(i) for i in range(3_2, 1_2_6)]
__UpperCAmelCase  							=list(range(len(alphabets)))
__UpperCAmelCase  							=list(range(len(alphabets)))
__UpperCAmelCase  							=list(range(len(alphabets)))
__UpperCAmelCase  							=list(reversed(range(len(alphabets))))
__UpperCAmelCase  							=[]
__UpperCAmelCase  							=__UpperCAmelCase  							=__UpperCAmelCase  							=0






def __lowerCAmelCase				(							)			->					List[Any]:
    global gear_one_pos
    global gear_two_pos
    global gear_three_pos
    __lowerCamelCase						=						gear_one[0]
    gear_one.append(UpperCamelCase__       )
    del gear_one[0]
    gear_one_pos += 1
    if gear_one_pos % int(len(UpperCamelCase__       )       ) == 0:
        __lowerCamelCase						=						gear_two[0]
        gear_two.append(UpperCamelCase__       )
        del gear_two[0]
        gear_two_pos += 1
        if gear_two_pos % int(len(UpperCamelCase__       )       ) == 0:
            __lowerCamelCase						=						gear_three[0]
            gear_three.append(UpperCamelCase__       )
            del gear_three[0]
            gear_three_pos += 1






def __lowerCAmelCase				(							UpperCamelCase__       )			->					Optional[Any]:
    __lowerCamelCase						=						alphabets.index(UpperCamelCase__       )
    __lowerCamelCase						=						gear_one[target]
    __lowerCamelCase						=						gear_two[target]
    __lowerCamelCase						=						gear_three[target]
    __lowerCamelCase						=						reflector[target]
    __lowerCamelCase						=						gear_three.index(UpperCamelCase__       )
    __lowerCamelCase						=						gear_two.index(UpperCamelCase__       )
    __lowerCamelCase						=						gear_one.index(UpperCamelCase__       )
    code.append(alphabets[target]       )
    rotator()


if __name__ == "__main__":
  __UpperCAmelCase  							=list(input("Type your message:\n"))
  while True:
    try:
      __UpperCAmelCase  							=int(input("Please set token:(must be only digits)\n"))
      break
    except Exception as error:
      print(error)
  for _ in range(token):
    rotator()
  for j in decode:
    engine(j)
  print("\n" + "".join(code))
  print(
      f'\nYour Token is {token} please write it down.\nIf you want to decode '
      "this message again you should input same digits as token!"
  )

'''simple docstring'''




def __lowerCAmelCase				(							UpperCamelCase__       )			->					bool:
    if not isinstance(UpperCamelCase__       ,						UpperCamelCase__       ):
        raise ValueError('''Input series is not valid, valid series - [1, 2/3, 2]'''       )
    if len(UpperCamelCase__       ) == 0:
        raise ValueError('''Input list must be a non empty list'''       )
    if len(UpperCamelCase__       ) == 1 and series[0] != 0:
        return True
    __lowerCamelCase						=						[]
    __lowerCamelCase						=						len(UpperCamelCase__       )
    for i in range(0       ,						UpperCamelCase__       ):
        if series[i] == 0:
            raise ValueError('''Input series cannot have 0 as an element'''       )
        rec_series.append(1 / series[i]       )
    __lowerCamelCase						=						rec_series[1] - rec_series[0]
    for index in range(2       ,						UpperCamelCase__       ):
        if rec_series[index] - rec_series[index - 1] != common_diff:
            return False
    return True






def __lowerCAmelCase				(							UpperCamelCase__       )			->					float:
    if not isinstance(UpperCamelCase__       ,						UpperCamelCase__       ):
        raise ValueError('''Input series is not valid, valid series - [2, 4, 6]'''       )
    if len(UpperCamelCase__       ) == 0:
        raise ValueError('''Input list must be a non empty list'''       )
    __lowerCamelCase						=						0
    for val in series:
        answer += 1 / val
    return len(UpperCamelCase__       ) / answer


if __name__ == "__main__":
  import doctest

  doctest.testmod()
