





from __future__ import annotations




def   _SCREAMING_SNAKE_CASE      (	snake_case_		:						Dict						):
     __magic_name__				=       42
     __magic_name__				=       list(_SCREAMING_SNAKE_CASE						)
     __magic_name__				=       _vector[:-1], int(_vector[-1]						)
     __magic_name__				=       [int(_SCREAMING_SNAKE_CASE						) for digit in __vector]

     vector.reverse()
     for i, digit in enumerate(_SCREAMING_SNAKE_CASE						):
          if i & 1 == 0:
               __magic_name__				=       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')
"""simple docstring"""
from __future__ import annotations

import sys







def 		__a  (      _SCREAMING_SNAKE_CASE  )      ->int:
  if n < 0:
    raise ValueError('Negative arguments are not supported'  )
  return _fib(_SCREAMING_SNAKE_CASE  )[0]







def 		__a  (      _SCREAMING_SNAKE_CASE  )      ->tuple[int, int]:
  if n == 0:  # (F(0), F(1))
    return (0, 1)

  # F(2n) = F(n)[2F(n+1) − F(n)]
  # F(2n+1) = F(n+1)^2+F(n)^2
  a__				,       a__:	Optional[int]     				=      _fib(n // 2  )
  a__:	List[str]     				=      a * (b * 2 - a)
  a__:	Dict     				=      a * a + b * b
  return (d, c + d) if n % 2 else (c, d)


if __name__ == "__main__":
 lowercase__   			=      int(sys.argv[1])
 print(f"fibonacci({n}) is {fibonacci(n)}")


