"""simple docstring"""







def     __UpperCAmelCase							(       UpperCAmelCase_       :							int    )				->     int:

	'''simple docstring'''





	if not isinstance(UpperCAmelCase_     ,				UpperCAmelCase_    ):
		raise TypeError('recursive_lucas_number accepts only integer arguments.'    )
	if n_th_number == 0:
		return 2
	if n_th_number == 1:
		return 1

	return recursive_lucas_number(n_th_number - 1    ) + recursive_lucas_number(
	    n_th_number - 2    )
def     __UpperCAmelCase							(       UpperCAmelCase_       :							int    )				->     int:

	'''simple docstring'''





	if not isinstance(UpperCAmelCase_     ,				UpperCAmelCase_    ):
		raise TypeError('dynamic_lucas_number accepts only integer arguments.'    )
	__snake_case						,							__snake_case     :				Optional[Any] 						=					2, 1
	for _ in range(UpperCAmelCase_    ):
		__snake_case						,							__snake_case     :				List[str] 						=					b, a + b
	return a


if __name__ == "__main__":
	from doctest import testmod

	testmod()
	_a	:	Optional[int]=					int(input("Enter the number of terms in lucas series:\n").strip())
	print("Using recursive function to calculate lucas series:")
	print(" ".join(str(recursive_lucas_number(i)) for i in range(n)))
	print("\nUsing dynamic function to calculate lucas series:")
	print(" ".join(str(dynamic_lucas_number(i)) for i in range(n)))






"""simple docstring"""







import math
def     __UpperCAmelCase							(       UpperCAmelCase_       :							int    )				->     str:

	'''simple docstring'''





	if number == 0:
		__snake_case     :				Any 						=					'Zero'
		return words
	else:
		__snake_case     :				Optional[Any] 						=					math.logaa(UpperCAmelCase_    )
		__snake_case     :				Optional[Any] 						=					digits + 1
		__snake_case     :				List[str] 						=					{}
		__snake_case     :				List[str] 						=					''
		__snake_case     :				Any 						=					'One'
		__snake_case     :				List[str] 						=					'Two'
		__snake_case     :				Tuple 						=					'Three'
		__snake_case     :				str 						=					'Four'
		__snake_case     :				int 						=					'Five'
		__snake_case     :				Optional[Any] 						=					'Six'
		__snake_case     :				str 						=					'Seven'
		__snake_case     :				Optional[Any] 						=					'Eight'
		__snake_case     :				Tuple 						=					'Nine'

		__snake_case     :				Tuple 						=					{}
		__snake_case     :				Optional[int] 						=					''
		__snake_case     :				str 						=					'Twenty'
		__snake_case     :				List[str] 						=					'Thirty'
		__snake_case     :				str 						=					'Forty'
		__snake_case     :				Union[str, Any] 						=					'Fifty'
		__snake_case     :				str 						=					'Sixty'
		__snake_case     :				Tuple 						=					'Seventy'
		__snake_case     :				Dict 						=					'Eighty'
		__snake_case     :				Optional[Any] 						=					'Ninety'

		__snake_case     :				List[Any] 						=					{}
		__snake_case     :				Optional[Any] 						=					'Ten'
		__snake_case     :				List[str] 						=					'Eleven'
		__snake_case     :				Any 						=					'Twelve'
		__snake_case     :				Tuple 						=					'Thirteen'
		__snake_case     :				Tuple 						=					'Fourteen'
		__snake_case     :				Optional[int] 						=					'Fifteen'
		__snake_case     :				Any 						=					'Sixteen'
		__snake_case     :				int 						=					'Seventeen'
		__snake_case     :				Dict 						=					'Eighteen'
		__snake_case     :				List[Any] 						=					'Nineteen'

		__snake_case     :				List[Any] 						=					{}
		__snake_case     :				List[Any] 						=					'Hundred,'
		__snake_case     :				Union[str, Any] 						=					'Thousand,'
		__snake_case     :				List[Any] 						=					'Lakh,'
		__snake_case     :				List[Any] 						=					'Crore,'

		__snake_case     :				List[Any] 						=					number
		__snake_case     :				List[Any] 						=					''
		__snake_case     :				List[Any] 						=					0
		__snake_case     :				Union[str, Any] 						=					int(UpperCAmelCase_    )
		while counter < digits:
			__snake_case     :				List[str] 						=					temp_num % 10
			if counter % 2 == 0:
				__snake_case     :				Tuple 						=					''
				if counter in placevalue and current != 0:
					__snake_case     :				List[str] 						=					placevalue[counter]
				if counter == 2:
					__snake_case     :				Dict 						=					singles[current] + addition + words
				elif counter == 0:
					if ((temp_num % 1_00) // 10) == 1:
						__snake_case     :				Dict 						=					teens[current] + addition + words
						__snake_case     :				Dict 						=					temp_num // 10
						counter += 1
					else:
						__snake_case     :				Optional[Any] 						=					singles[current] + addition + words

				else:
					__snake_case     :				Any 						=					doubles[current] + addition + words

			else:
				if counter == 1:
					if current == 1:
						__snake_case     :				Dict 						=					teens[number % 10] + words
					else:
						__snake_case     :				Optional[int] 						=					''
						if counter in placevalue:
							__snake_case     :				Dict 						=					placevalue[counter]
						__snake_case     :				Union[str, Any] 						=					doubles[current] + addition + words
				else:
					__snake_case     :				List[Any] 						=					''
					if counter in placevalue:
						if current == 0 and ((temp_num % 1_00) // 10) == 0:
							__snake_case     :				Optional[Any] 						=					''
						else:
							__snake_case     :				Any 						=					placevalue[counter]
					if ((temp_num % 1_00) // 10) == 1:
						__snake_case     :				int 						=					teens[current] + addition + words
						__snake_case     :				Any 						=					temp_num // 10
						counter += 1
					else:
						__snake_case     :				List[str] 						=					singles[current] + addition + words
			counter += 1
			__snake_case     :				str 						=					temp_num // 10
	return words


if __name__ == "__main__":
	import doctest

	doctest.testmod()





