





def 				lowerCAmelCase_			(      SCREAMING_SNAKE_CASE       :							dict   ):


							'''simple docstring'''







							__lowerCamelCase      :      Optional[int]         =set()
							# edges = list of graph's edges
							__lowerCamelCase      :      Optional[int]         =get_edges(SCREAMING_SNAKE_CASE   )

							# While there are still elements in edges list, take an arbitrary edge
							# (from_node, to_node) and add his extremity to chosen_vertices and then
							# remove all arcs adjacent to the from_node and to_node
							while edges:
														__lowerCamelCase      :      Optional[int]         =edges.pop()
														chosen_vertices.add(SCREAMING_SNAKE_CASE   )
														chosen_vertices.add(SCREAMING_SNAKE_CASE   )
														for edge in edges.copy():
																					if from_node in edge or to_node in edge:
																												edges.discard(SCREAMING_SNAKE_CASE   )
							return chosen_vertices



def 				lowerCAmelCase_			(      SCREAMING_SNAKE_CASE       :							dict   ):


							'''simple docstring'''







							__lowerCamelCase      :      List[Any]         =set()
							for from_node, to_nodes in graph.items():
														for to_node in to_nodes:
																					edges.add((from_node, to_node)   )
							return edges


if __name__ == "__main__":
							import doctest

							doctest.testmod()

							# graph = {0: [1, 3], 1: [0, 3], 2: [0, 3, 4], 3: [0, 1, 2], 4: [2, 3]}
							# print(f"Matching vertex cover:\n{matching_min_vertex_cover(graph)}")











"""simple docstring"""





import math
from datetime import datetime, timedelta



def 				lowerCAmelCase_			(      SCREAMING_SNAKE_CASE       :							int   ):


							'''simple docstring'''







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

							# days to be added to March 21
							__lowerCamelCase      :      Any         =(19 * metonic_cycle + secular_moon_shift) % 30

							# PHM -> Paschal Full Moon
							__lowerCamelCase      :      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(SCREAMING_SNAKE_CASE    ,						4    ,						19   )
							elif days_to_add == 28 and days_from_phm_to_sunday == 6:
														return datetime(SCREAMING_SNAKE_CASE    ,						4    ,						18   )
							else:
														return datetime(SCREAMING_SNAKE_CASE    ,						3    ,						22   ) + timedelta(
														    days=int(days_to_add + days_from_phm_to_sunday   )   )


if __name__ == "__main__":
							for year in (1994, 2000, 2010, 2021, 2023):
														_UpperCamelCase							=      'will be' if year > datetime.now().year else 'was'
														print(f'''Easter in {year} {tense} {gauss_easter(year)}''')




