


from collections import namedtuple

__UpperCamelCase     		=							namedtuple('from_to', 'from_ to')

__UpperCamelCase     		=							{
    'cubicmeter': from_to(1, 1),
    'litre': from_to(0.001, 1_0_0_0),
    'kilolitre': from_to(1, 1),
    'gallon': from_to(0.00454, 264.172),
    'cubicyard': from_to(0.76455, 1.30795),
    'cubicfoot': from_to(0.028, 35.3147),
    'cup': from_to(0.000236588, 4226.75),
}
def 							UpperCamelCase_(					_A :float					,  _A :str					,  _A :str	)->		float:
			if from_type not in METRIC_CONVERSION:
						raise ValueError(
						    F'''Invalid \'from_type\' value: {from_type!r}  Supported values are:\n'''
						    + ", ".join(_A	)	)
			if to_type not in METRIC_CONVERSION:
						raise ValueError(
						    F'''Invalid \'to_type\' value: {to_type!r}.  Supported values are:\n'''
						    + ", ".join(_A	)	)
			return value * METRIC_CONVERSION[from_type].from_ * METRIC_CONVERSION[to_type].to


if __name__ == "__main__":
						import doctest

						doctest.testmod()






def 							UpperCamelCase_(					_A :Union[str, Any]	)->		List[str]:
			UpperCamelCase__       =							[0] * len(_A	)
			UpperCamelCase__       =							[]
			UpperCamelCase__       =							[]
			UpperCamelCase__       =							0

			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:
						UpperCamelCase__       =							queue.pop(0	)
						cnt += 1
						topo.append(_A	)
						for x in graph[vertex]:
									indegree[x] -= 1
									if indegree[x] == 0:
												queue.append(_A	)

			if cnt != len(_A	):
						print("Cycle exists"	)
			else:
						print(_A	)


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







topological_sort(graph)


