






def 					lowercase_ (    __snake_case     :							int = 60_08_51_47_51_43      )     -> int:





				'''simple docstring'''


				try:
								snake_case__      :Dict         =   int(_lowerCamelCase      )
				except (TypeError, ValueError):
								raise TypeError("Parameter n must be int or castable to int."      )
				if n <= 0:
								raise ValueError("Parameter n must be greater than or equal to one."      )
				snake_case__      :Tuple         =   2
				snake_case__      :List[str]         =   0
				if n == 2:
								return 2
				while n > 2:
								while n % i != 0:
												i += 1
								snake_case__      :str         =   i
								while n % i == 0:
												snake_case__      :str         =   n // i
								i += 1
				return int(_lowerCamelCase      )


if __name__ == "__main__":
	print(F'''{solution() = }''')







def 					lowercase_ (    __snake_case     :							int      )     -> bool:





				'''simple docstring'''


				if p < 2:
								raise ValueError("p should not be less than 2!"      )
				elif p == 2:
								return True

				snake_case__      :List[str]         =   4
				snake_case__      :Optional[int]         =   (1 << p) - 1
				for _ in range(p - 2      ):
								snake_case__      :List[Any]         =   ((s * s) - 2) % m
				return s == 0


if __name__ == "__main__":
	print(lucas_lehmer_test(7))
	print(lucas_lehmer_test(1_1))