


from __future__ import annotations

import math
import random

def 			__SCREAMING_SNAKE_CASE		(		UpperCamelCase		:      int     ,					UpperCamelCase		:      int     ,					UpperCamelCase		:      int	)     ->	list[int]:



	"""simple docstring"""






	a_     			=   d * e - 1
	a_     			=   0
	a_     			=   0
	while p == 0:
		a_     			=   random.randint(2     ,					n - 1	)
		a_     			=   k
		while True:
			if t % 2 == 0:
				a_     			=   t // 2
				a_     			=   (g**t) % n
				a_     			=   math.gcd(x - 1     ,					UpperCamelCase	)
				if x > 1 and y > 1:
					a_     			=   y
					a_     			=   n // y
					break  # find the correct factors
			else:
				break  # t is not divisible by 2, break and choose another g
	return sorted([p, q]	)


if __name__ == "__main__":
			import doctest

			doctest.testmod()



class 			lowerCamelCase_					:





							def __init__(							self    ):
								a_     			=   [0, 1]





							def   __magic_name__      (							self			,       _SCREAMING_SNAKE_CASE    ):
								if (difference := index - (len(self.sequence    ) - 2)) >= 1:
									for _ in range(_SCREAMING_SNAKE_CASE    ):
										self.sequence.append(self.sequence[-1] + self.sequence[-2]    )
								return self.sequence[:index]







def 			__SCREAMING_SNAKE_CASE		(		)     ->	None:



	"""simple docstring"""






	print(
	    """Fibonacci Series Using Dynamic Programming\n"""     ,					"""Enter the index of the Fibonacci number you want to calculate """     ,					"""in the prompt below. (To exit enter exit or Ctrl-C)\n"""     ,					sep=""""""     ,					)
	a_     			=   Fibonacci()

	while True:
		a_     			=   input(""">> """	)
		if prompt in {"exit", "quit"}:
			break

		try:
			a_     			=   int(UpperCamelCase	)
		except ValueError:
			print("""Enter a number or 'exit'"""	)
			continue

		print(fibonacci.get(UpperCamelCase	)	)


if __name__ == "__main__":
			main()