


def 	lowerCamelCase_       (			_a			):




		"""simple docstring"""






		lowerCAmelCase__  :     Union[str, Any]       	=   1
		lowerCAmelCase__  :     Union[str, Any]       	=   0
		lowerCAmelCase__  :     Optional[int]       	=   1
		lowerCAmelCase__  :     Any       	=   1
		lowerCAmelCase__  :     List[Any]       	=   3
		lowerCAmelCase__  :     int       	=   3
		lowerCAmelCase__  :     Any       	=   limit
		lowerCAmelCase__  :     List[str]       	=   0

		lowerCAmelCase__  :     Any       	=   ''''''
		while counter != decimal + 1:
				if 4 * q + r - t < n * t:
						result += str(_a			)
						if counter == 0:
								result += "."

						if decimal == counter:
								break

						counter += 1
						lowerCAmelCase__  :     int       	=   10 * (r - n * t)
						lowerCAmelCase__  :     List[Any]       	=   ((10 * (3 * q + r)) // t) - 10 * n
						q *= 10
						lowerCAmelCase__  :     str       	=   nr
				else:
						lowerCAmelCase__  :     List[Any]       	=   (2 * q + r) * l
						lowerCAmelCase__  :     int       	=   (q * (7 * k) + 2 + (r * l)) // (t * l)
						q *= k
						t *= l
						l += 2
						k += 1
						lowerCAmelCase__  :     int       	=   nn
						lowerCAmelCase__  :     List[str]       	=   nr
		return result






def 	lowerCamelCase_       (			):




		"""simple docstring"""






		print(f'{calculate_pi(50			) = }'			)
		import doctest

		doctest.testmod()


if __name__ == "__main__":
		main()








from __future__ import annotations

import sys






def 	lowerCamelCase_       (			_a			):




		"""simple docstring"""






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






def 	lowerCamelCase_       (			_a			):




		"""simple docstring"""






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


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




