



A__	      =       {0: [2, 3], 1: [0], 2: [1], 3: [4], 4: []}

A__	      =       {0: [1, 2, 3], 1: [2], 2: [0], 3: [4], 4: [5], 5: [3]}


def 		_UpperCAmelCase				(      snake_case	,						snake_case	,						snake_case			):





					"""simple docstring"""

					_lowerCAmelCase						=    True
					_lowerCAmelCase						=    []

					for neighbour in graph[vert]:
										if not visited[neighbour]:
															order += topology_sort(snake_case	,						snake_case	,						snake_case			)

					order.append(snake_case			)

					return order


def 		_UpperCAmelCase				(      snake_case	,						snake_case	,						snake_case			):





					"""simple docstring"""

					_lowerCAmelCase						=    True
					_lowerCAmelCase						=    [vert]

					for neighbour in reversed_graph[vert]:
										if not visited[neighbour]:
															component += find_components(snake_case	,						snake_case	,						snake_case			)

					return component


def 		_UpperCAmelCase				(      snake_case			):





					"""simple docstring"""

					_lowerCAmelCase						=    len(snake_case			) * [False]
					_lowerCAmelCase						=    {vert: [] for vert in range(len(snake_case			)			)}

					for vert, neighbours in graph.items():
										for neighbour in neighbours:
															reversed_graph[neighbour].append(snake_case			)

					_lowerCAmelCase						=    []
					for i, was_visited in enumerate(snake_case			):
										if not was_visited:
															order += topology_sort(snake_case	,						snake_case	,						snake_case			)

					_lowerCAmelCase						=    []
					_lowerCAmelCase						=    len(snake_case			) * [False]

					for i in range(len(snake_case			)			):
										_lowerCAmelCase						=    order[len(snake_case			) - i - 1]
										if not visited[vert]:
															_lowerCAmelCase						=    find_components(snake_case	,						snake_case	,						snake_case			)
															components_list.append(snake_case			)

					return components_list











"""simple docstring"""





import string







def      lowerCamelCase__       (							_lowerCamelCase       :		str )      ->				None:
  for key in range(len(string.ascii_uppercase ) ):
    lowerCamelCase_         =						''
    for symbol in message:
      if symbol in string.ascii_uppercase:
        lowerCamelCase_         =						string.ascii_uppercase.find(_lowerCamelCase )
        lowerCamelCase_         =						num - key
        if num < 0:
          lowerCamelCase_         =						num + len(string.ascii_uppercase )
        lowerCamelCase_         =						translated + string.ascii_uppercase[num]
      else:
        lowerCamelCase_         =						translated + symbol
    print(F'''Decryption using Key #{key}: {translated}''' )







def      lowerCamelCase__       (							)      ->				None:
  lowerCamelCase_         =						input('Encrypted message: ' )
  lowerCamelCase_         =						message.upper()
  decrypt(_lowerCamelCase )


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  main()




