






lowerCAmelCase_           = {'''a''': ['''c''', '''b'''], '''b''': ['''d''', '''e'''], '''c''': [], '''d''': [], '''e''': []}
lowerCAmelCase_           = ['''a''', '''b''', '''c''', '''d''', '''e''']







def      snake_case		(							UpperCAmelCase	:       Dict,						UpperCAmelCase	:       Tuple,						UpperCAmelCase	:       Union[str, Any]   ):

				'''simple docstring'''





				A	 =      start
				# add current to visited
				visited.append(UpperCAmelCase__   )
				A	 =      edges[current]
				for neighbor in neighbors:
								# if neighbor not in visited, visit
								if neighbor not in visited:
												A	 =      topological_sort(UpperCAmelCase__,						UpperCAmelCase__,						UpperCAmelCase__   )
												 # if all neighbors visited add current to sort
				sort.append(UpperCAmelCase__   )
				# if all vertices haven't been visited select a new one to visit
				if len(UpperCAmelCase__   ) != len(UpperCAmelCase__   ):
								for vertice in vertices:
												if vertice not in visited:
																A	 =      topological_sort(UpperCAmelCase__,						UpperCAmelCase__,						UpperCAmelCase__   )
																# return sort
				return sort


if __name__ == "__main__":
					lowerCAmelCase_           = topological_sort('a', [], [])
					print(sort)













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() = }''')





