





import math
from datetime import datetime, timedelta






def 					lowerCamelCase_						(    _UpperCamelCase			)		->						datetime:






				"""simple docstring"""


				snake_case_						:   str           =  year % 19
				snake_case_						:   Tuple           =  year % 4
				snake_case_						:   Dict           =  year % 7
				snake_case_						:   Dict           =  math.floor(year / 100			)
				snake_case_						:   List[str]           =  math.floor((13 + 8 * leap_day_inhibits) / 25			)
				snake_case_						:   Tuple           =  leap_day_inhibits / 4
				snake_case_						:   Union[str, Any]           =  (
				    15 - lunar_orbit_correction + leap_day_inhibits - leap_day_reinstall_number
				) % 30
				snake_case_						:   int           =  (4 + leap_day_inhibits - leap_day_reinstall_number) % 7

				# days to be added to March 21
				snake_case_						:   List[str]           =  (19 * metonic_cycle + secular_moon_shift) % 30

				# PHM -> Paschal Full Moon
				snake_case_						:   str           =  (
				    2 * julian_leap_year
				    + 4 * non_leap_year
				    + 6 * days_to_add
				    + century_starting_point
				) % 7

				if days_to_add == 29 and days_from_phm_to_sunday == 6:
								return datetime(_UpperCamelCase			,    4			,    19			)
				elif days_to_add == 28 and days_from_phm_to_sunday == 6:
								return datetime(_UpperCamelCase			,    4			,    18			)
				else:
								return datetime(_UpperCamelCase			,    3			,    22			) + timedelta(
								    days=int(days_to_add + days_from_phm_to_sunday			)			)


if __name__ == "__main__":
	for year in (1_9_9_4, 2_0_0_0, 2_0_1_0, 2_0_2_1, 2_0_2_3):
		lowerCAmelCase_    =    '''will be''' if year > datetime.now().year else '''was'''
		print(F'''Easter in {year} {tense} {gauss_easter(year)}''')







import random

from .binary_exp_mod import bin_exp_mod






def 					lowerCamelCase_						(    _UpperCamelCase			,    _UpperCamelCase=1_000			)		->						str:






				"""simple docstring"""


				if n < 2:
								return False

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

				# this means n is odd
				snake_case_						:   int           =  n - 1
				snake_case_						:   Union[str, Any]           =  0
				while d % 2 == 0:
								d /= 2
								exp += 1

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


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