"""simple docstring"""







import math
from datetime import datetime, timedelta


def      __lowerCAmelCase(		__UpperCAmelCase			):






							"""simple docstring"""





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

							# days to be added to March 21
							_lowercase :    Union[str, Any]							=							(19 * metonic_cycle + secular_moon_shift) % 30

							# PHM -> Paschal Full Moon
							_lowercase :    Tuple							=							(
							    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 (1994, 2000, 2010, 2021, 2023):
												SCREAMING_SNAKE_CASE									=						'will be' if year > datetime.now().year else 'was'
												print(f"""Easter in {year} {tense} {gauss_easter(year)}""")




"""simple docstring"""







def      __lowerCAmelCase(		__UpperCAmelCase     ,__UpperCAmelCase     ,__UpperCAmelCase			):






	"""simple docstring"""





	return not any(
	    neighbour == 1 and colored_vertices[i] == color
	    for i, neighbour in enumerate(__UpperCAmelCase			)			)


def      __lowerCAmelCase(		__UpperCAmelCase     ,__UpperCAmelCase     ,__UpperCAmelCase     ,__UpperCAmelCase			):






	"""simple docstring"""





	if index == len(__UpperCAmelCase			):
		return True

	# Recursive Step
	for i in range(__UpperCAmelCase			):
		if valid_coloring(graph[index]     ,__UpperCAmelCase     ,__UpperCAmelCase			):
			# Color current vertex
			_lowercase :    str							=							i
			# Validate coloring
			if util_color(__UpperCAmelCase     ,__UpperCAmelCase     ,__UpperCAmelCase     ,index + 1			):
				return True
			# Backtrack
			_lowercase :    List[str]							=							-1
	return False







def      __lowerCAmelCase(		__UpperCAmelCase     ,__UpperCAmelCase			):






	"""simple docstring"""





	_lowercase :    Any							=							[-1] * len(__UpperCAmelCase			)

	if util_color(__UpperCAmelCase     ,__UpperCAmelCase     ,__UpperCAmelCase     ,0			):
		return colored_vertices

	return []



