





'''simple docstring'''




from transformers import HfArgumentParser, TensorFlowBenchmark, TensorFlowBenchmarkArguments



def 						__A						(   ):


		"""simple docstring"""



		SCREAMING_SNAKE_CASE      :							Dict						=       HfArgumentParser(_UpperCamelCase     )
		SCREAMING_SNAKE_CASE      :							List[Any]						=       parser.parse_args_into_dataclasses()[0]
		SCREAMING_SNAKE_CASE      :							int						=       TensorFlowBenchmark(args=_UpperCamelCase     )
		try:
				SCREAMING_SNAKE_CASE      :							Optional[Any]						=       parser.parse_args_into_dataclasses()[0]
		except ValueError as e:
				SCREAMING_SNAKE_CASE      :							int						=       '''Arg --no_{0} is no longer used, please use --no-{0} instead.'''
				SCREAMING_SNAKE_CASE      :							Any						=       ''' '''.join(str(_UpperCamelCase     ).split(""" """     )[:-1]     )
				SCREAMING_SNAKE_CASE      :							Union[str, Any]						=       ''''''
				SCREAMING_SNAKE_CASE      :							Any						=       eval(str(_UpperCamelCase     ).split(""" """     )[-1]     )
				SCREAMING_SNAKE_CASE      :							Optional[Any]						=       []
				for arg in depreciated_args:
						# arg[2:] removes '--'
						if arg[2:] in TensorFlowBenchmark.deprecated_args:
								# arg[5:] removes '--no_'
								full_error_msg += arg_error_msg.format(arg[5:]     )
						else:
								wrong_args.append(_UpperCamelCase     )
				if len(_UpperCamelCase     ) > 0:
						SCREAMING_SNAKE_CASE      :							List[str]						=       full_error_msg + begin_error_msg + str(_UpperCamelCase     )
				raise ValueError(_UpperCamelCase     )
		benchmark.run()


if __name__ == "__main__":
							main()










def      lowerCamelCase_						(				_UpperCamelCase ,				_UpperCamelCase )		->						List[str]:






				"""simple docstring"""


				print('''\nThe shortest path matrix using Floyd Warshall algorithm\n''' )
				for i in range(_UpperCamelCase ):
								for j in range(_UpperCamelCase ):
												if dist[i][j] != float('''inf''' ):
																print(int(dist[i][j] ) ,				end='''\t''' )
												else:
																print('''INF''' ,				end='''\t''' )
								print()






def      lowerCamelCase_						(				_UpperCamelCase ,				_UpperCamelCase )		->						Union[str, Any]:






				"""simple docstring"""


				snake_case_						:    int				=  [[float('''inf''' ) for _ in range(_UpperCamelCase )] for _ in range(_UpperCamelCase )]

				for i in range(_UpperCamelCase ):
								for j in range(_UpperCamelCase ):
												snake_case_						:    Dict				=  graph[i][j]

												# check vertex k against all other vertices (i, j)
				for k in range(_UpperCamelCase ):
								# looping through rows of graph array
								for i in range(_UpperCamelCase ):
												# looping through columns of graph array
												for j in range(_UpperCamelCase ):
																if (
																    dist[i][k] != float('''inf''' )
																    and dist[k][j] != float('''inf''' )
																    and dist[i][k] + dist[k][j] < dist[i][j]
																):
																				snake_case_						:    List[Any]				=  dist[i][k] + dist[k][j]

				_print_dist(_UpperCamelCase ,				_UpperCamelCase )
				return dist, v


if __name__ == "__main__":
	lowerCAmelCase_    =				int(input('''Enter number of vertices: '''))
	lowerCAmelCase_    =				int(input('''Enter number of edges: '''))

	lowerCAmelCase_    =				[[float('''inf''') for i in range(v)] for j in range(v)]

	for i in range(v):
		lowerCAmelCase_    =				0.0

		# src and dst are indices that must be within the array size graph[e][v]
		# failure to follow this will result in an error
	for i in range(e):
		print('''\nEdge ''', i + 1)
		lowerCAmelCase_    =				int(input('''Enter source:'''))
		lowerCAmelCase_    =				int(input('''Enter destination:'''))
		lowerCAmelCase_    =				float(input('''Enter weight:'''))
		lowerCAmelCase_    =				weight

	floyd_warshall(graph, v)

	# Example Input
	# Enter number of vertices: 3
	# Enter number of edges: 2

	# # generated graph from vertex and edge inputs
	# [[inf, inf, inf], [inf, inf, inf], [inf, inf, inf]]
	# [[0.0, inf, inf], [inf, 0.0, inf], [inf, inf, 0.0]]

	# specify source, destination and weight for edge #1
	# Edge  1
	# Enter source:1
	# Enter destination:2
	# Enter weight:2

	# specify source, destination and weight for edge #2
	# Edge  2
	# Enter source:2
	# Enter destination:1
	# Enter weight:1

	# # Expected Output from the vertice, edge and src, dst, weight inputs!!
	# 0		INF	INF
	# INF	0	2
	# INF	1	0
