
'''simple docstring'''







def 					snake_case_		(				__SCREAMING_SNAKE_CASE					: int      ,      __SCREAMING_SNAKE_CASE					: int							):



						"""simple docstring"""





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



						"""simple docstring"""





						lowercase_	:     Optional[Any]													=       [[float('''inf'''							) for _ in range(snake_case__							)] for _ in range(snake_case__							)]

						for i in range(snake_case__							):
												for j in range(snake_case__							):
																		lowercase_	:     List[Any]													=       graph[i][j]

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

						_print_dist(snake_case__      ,      snake_case__							)
						return dist, v


if __name__ == "__main__":
							_lowercase :  Dict    							=       int(input("Enter number of vertices: "))
							_lowercase :  Union[str, Any]    							=       int(input("Enter number of edges: "))

							_lowercase :  int    							=       [[float("inf") for i in range(v)] for j in range(v)]

							for i in range(v):
														_lowercase :  Any    							=       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)
														_lowercase :  Union[str, Any]    							=       int(input("Enter source:"))
														_lowercase :  Optional[int]    							=       int(input("Enter destination:"))
														_lowercase :  Tuple    							=       float(input("Enter weight:"))
														_lowercase :  List[str]    							=       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





'''simple docstring'''




def 		lowerCAmelCase_				(   snake_case__ = 10						):




    '''simple docstring'''



    if not isinstance(snake_case__		,				snake_case__						) or n < 0:
        raise ValueError('''Invalid input'''						)
    A       :   List[str]					=						10**n
    A       :   Tuple					=						2_8433 * (pow(2		,				783_0457		,				snake_case__						)) + 1
    return str(number % modulus						)


if __name__ == "__main__":
      from doctest import testmod

      testmod()
      print(f'''{solution(10) = }''')




