




import random

from .binary_exp_mod import bin_exp_mod





def 				A__ (snake_case   :		Dict		,	snake_case   :		str=10_00				)     ->						str:
					if n < 2:
										return False

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

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

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


if __name__ == "__main__":
	a__		     =     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)))












def 				A__ (snake_case   :		int				)     ->						bool:
					if number < 0:
										raise ValueError("""number must not be negative"""				)
					return number & (number - 1) == 0


if __name__ == "__main__":
	import doctest

	doctest.testmod()






