




'''simple docstring'''

def 		__magic_name__    (	__UpperCAmelCase	)		->					set:

					'''simple docstring'''

					snake_case_									=				set()
					# edges = list of graph's edges
					snake_case_									=				get_edges(__UpperCAmelCase	)

					# 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:
										snake_case_			,snake_case_									=				edges.pop()
										chosen_vertices.add(__UpperCAmelCase	)
										chosen_vertices.add(__UpperCAmelCase	)
										for edge in edges.copy():
															if from_node in edge or to_node in edge:
																				edges.discard(__UpperCAmelCase	)
					return chosen_vertices


def 		__magic_name__    (	__UpperCAmelCase	)		->					set:

					'''simple docstring'''

					snake_case_									=				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 re


def 		__magic_name__    (	__UpperCAmelCase	)		->					bool:

					'''simple docstring'''

					snake_case_									=				re.compile(
					    r'''^(?:0|94|\+94|0{2}94)''' r'''7(0|1|2|4|5|6|7|8)''' r'''(-| |)''' r'''\d{7}$'''	)

					return bool(re.search(__UpperCAmelCase,      __UpperCAmelCase	)	)


if __name__ == "__main__":
							a  :				Any									=  '0094702343221'

							print(is_sri_lankan_phone_number(phone))

