






'''simple docstring'''







from __future__ import annotations

import sys





def 					SCREAMING_SNAKE_CASE_			(UpperCamelCase ) ->			Dict:







							if n < 0:
														raise ValueError("""Negative arguments are not supported""" )
							return _fib(lowerCAmelCase_ )[0]





def 					SCREAMING_SNAKE_CASE_			(UpperCamelCase ) ->			Any:







							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
							lowerCamelCase__    ,						lowerCamelCase__   :      List[str]			    =			_fib(n // 2 )
							lowerCamelCase__   :      str			    =			a * (b * 2 - a)
							lowerCamelCase__   :      Optional[Any]			    =			a * a + b * b
							return (d, c + d) if n % 2 else (c, d)


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




import math



class 						a_			:



      """simple docstring"""







      def __init__( self	:				str     ,snake_case	:				List[Any]     ,snake_case	:				Union[str, Any]     ,snake_case	:				Optional[int]							):
           SCREAMING_SNAKE_CASE 		=x
           SCREAMING_SNAKE_CASE 		=y
           SCREAMING_SNAKE_CASE 		=z


      def __repr__( self	:				Any							):
           return f'Point({self.x}, {self.y}, {self.z})'







def      snake_case__							(  lowerCAmelCase_,       lowerCAmelCase_     ):





     """simple docstring"""







     return math.sqrt(abs((b.x - a.x) ** 2 + (b.y - a.y) ** 2 + (b.z - a.z) ** 2     )     )


if __name__ == "__main__":
 import doctest

 doctest.testmod()

