






def      snake_case		(							UpperCAmelCase	:       Optional[Any]   ):
				A	 =      [0] * len(UpperCAmelCase   )
				A	 =      []
				A	 =      []
				A	 =      0

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

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

				while queue:
								A	 =      queue.pop(0   )
								cnt += 1
								topo.append(UpperCAmelCase   )
								for x in graph[vertex]:
												indegree[x] -= 1
												if indegree[x] == 0:
																queue.append(UpperCAmelCase   )

				if cnt != len(UpperCAmelCase   ):
								print('Cycle exists'   )
				else:
								print(UpperCAmelCase   )


# Adjacency List of Graph
lowerCAmelCase_           = {0: [1, 2], 1: [3], 2: [3], 3: [4, 5], 4: [], 5: []}



topological_sort(graph)













def      snake_case		(							UpperCAmelCase	:       int   ):
				A	 =      0
				while num > 0:
								digit_sum += num % 10
								num //= 10
				return digit_sum







def      snake_case		(							UpperCAmelCase	:       int = 1_00   ):
				A	 =      1
				A	 =      2

				for i in range(2,						max_n + 1   ):
								A	 =      pre_numerator
								A	 =      2 * i // 3 if i % 3 == 0 else 1
								A	 =      cur_numerator
								A	 =      e_cont * pre_numerator + temp

				return sum_digits(UpperCAmelCase   )


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





