
def 						UpperCAmelCase			(	a_		,   a_						)		->	int:







				"""simple docstring"""



				return x if y == 0 else greatest_common_divisor(a_		,   x % y						)


def 						UpperCAmelCase			(	a_		,   a_						)		->	int:







				"""simple docstring"""



				return (x * y) // greatest_common_divisor(a_		,   a_						)


def 						UpperCAmelCase			(	a_ = 2_0						)		->	int:







				"""simple docstring"""



				__A   			= 1
				for i in range(1		,   n + 1						):
								__A   			= lcm(a_		,   a_						)
				return g


if __name__ == "__main__":
					print(f'''{solution() = }''')


def 						UpperCAmelCase			(	a_						)		->	Optional[int]:







				"""simple docstring"""



				__A   			= [0] * len(a_						)
				__A   			= []
				__A   			= [1] * len(a_						)

				for values in graph.values():
								for i in values:
												indegree[i] += 1

				for i in range(len(a_						)						):
								if indegree[i] == 0:
												queue.append(a_						)

				while queue:
								__A   			= queue.pop(0						)
								for x in graph[vertex]:
												indegree[x] -= 1

												if long_dist[vertex] + 1 > long_dist[x]:
																__A   			= long_dist[vertex] + 1

												if indegree[x] == 0:
																queue.append(a_						)

				print(max(a_						)						)


# Adjacency list of Graph
SCREAMING_SNAKE_CASE							:List[Any]							 =				{0: [2, 3, 4], 1: [2, 7], 2: [5], 3: [5, 7], 4: [7], 5: [6], 6: [7], 7: []}
longest_distance(graph)
