

def  _snake_case		(snake_case_					:     str    ,       snake_case_					:     int = 13  )							->		str:
  __UpperCAmelCase	:  Tuple		=     ''
  for c in s:
    if "A" <= c <= "Z":
      out += chr(ord('A'  ) + (ord(snake_case_  ) - ord('A'  ) + n) % 26  )
    elif "a" <= c <= "z":
      out += chr(ord('a'  ) + (ord(snake_case_  ) - ord('a'  ) + n) % 26  )
    else:
      out += c
  return out





def  _snake_case		()							->		None:
  __UpperCAmelCase	:  str		=     input('Enter message: '  )

  __UpperCAmelCase	:  List[str]		=     dencrypt(snake_case_    ,       13  )
  print('Encryption:'    ,       snake_case_  )

  __UpperCAmelCase	:  Tuple		=     dencrypt(snake_case_    ,       13  )
  print('Decryption: '    ,       snake_case_  )


if __name__ == "__main__":
      import doctest

      doctest.testmod()
      main()








from __future__ import annotations





def  _snake_case		(snake_case_					:     str  )							->		bool:
  __UpperCAmelCase	:  int
  __UpperCAmelCase	:  list[str]		=     list(snake_case_  )
  __UpperCAmelCase,			__UpperCAmelCase	:  Any		=     _vector[:-1], int(_vector[-1]  )
  __UpperCAmelCase	:  list[int]		=     [int(snake_case_  ) for digit in __vector]

  vector.reverse()
  for i, digit in enumerate(snake_case_  ):
    if i & 1 == 0:
      __UpperCAmelCase	:  int		=     digit * 2
      if doubled > 9:
        doubled -= 9
      check_digit += doubled
    else:
      check_digit += digit

  return check_digit % 10 == 0


if __name__ == "__main__":
      import doctest

      doctest.testmod()
      assert is_luhn('''79927398713''')
      assert not is_luhn('''79927398714''')





