






import random

from .binary_exp_mod import bin_exp_mod






def 							A     (       a_							,a_=1_000					)     ->						Optional[Any]:
					if n < 2:
										return False

					if n % 2 == 0:
										return n == 2

					# this means n is odd
					__UpperCamelCase      :					List[Any]       		=n - 1
					__UpperCamelCase      :					Dict       		=0
					while d % 2 == 0:
										d /= 2
										exp += 1

					# n - 1=d*(2**exp)
					__UpperCamelCase      :					Optional[Any]       		=0
					while count < prec:
										__UpperCamelCase      :					Dict       		=random.randint(2							,n - 1					)
										__UpperCamelCase      :					Optional[Any]       		=bin_exp_mod(a_							,a_							,a_					)
										if b != 1:
															__UpperCamelCase      :					List[str]       		=True
															for _ in range(a_					):
																				if b == n - 1:
																									__UpperCamelCase      :					Tuple       		=False
																									break
																				__UpperCamelCase      :					Dict       		=b * b
																				b %= n
															if flag:
																				return False
															count += 1
					return True


if __name__ == "__main__":
							A_       :str       =						abs(int(input('''Enter bound : ''').strip()))
							print('''Here\'s the list of primes:''')
							print(''', '''.join(str(i) for i in range(n + 1) if is_prime_big(i)))




import math


def   __SCREAMING_SNAKE_CASE					(SCREAMING_SNAKE_CASE__       ):

						if 1 < number < 4:
												# 2 and 3 are primes
												return True
						elif number < 2 or number % 2 == 0 or number % 3 == 0:
												# Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
												return False

						# All primes number are in format of 6k +/- 1
						for i in range(5  ,		int(math.sqrt(SCREAMING_SNAKE_CASE__       ) + 1       )  ,		6       ):
												if number % i == 0 or number % (i + 2) == 0:
																		return False
						return True


def   __SCREAMING_SNAKE_CASE					(SCREAMING_SNAKE_CASE__ = 10001       ):

						try:
												snake_case_   =	int(SCREAMING_SNAKE_CASE__       )
						except (TypeError, ValueError):
												raise TypeError('''Parameter nth must be int or castable to int.'''       ) from None
						if nth <= 0:
												raise ValueError('''Parameter nth must be greater than or equal to one.'''       )
						snake_case_   =	[]
						snake_case_   =	2
						while len(SCREAMING_SNAKE_CASE__       ) < nth:
												if is_prime(SCREAMING_SNAKE_CASE__       ):
																		primes.append(SCREAMING_SNAKE_CASE__       )
																		num += 1
												else:
																		num += 1
						return primes[len(SCREAMING_SNAKE_CASE__       ) - 1]


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