





"""simple docstring"""


def SCREAMING_SNAKE_CASE_   (       snake_case   :					Union[str, Any] = 998_001		)->		int:

       # fetches the next number
       for number in range(n - 1						,  9_999						,  -1		):
              _lowerCamelCase    	=					str(_UpperCAmelCase		)

              # checks whether 'str_number' is a palindrome.
              if str_number == str_number[::-1]:
                     _lowerCamelCase    	=					999

                     # if 'number' is a product of two 3-digit numbers
                     # then number is the answer otherwise fetch next number.
                     while divisor != 99:
                            if (number % divisor == 0) and (len(str(number // divisor		)		) == 3.0):
                                   return number
                            divisor -= 1
       raise ValueError('That number is larger than our acceptable range.'		)


if __name__ == "__main__":
      print(f'{solution() = }')













def    _lowercase    (  _UpperCAmelCase	,					_UpperCAmelCase )  ->     int:
				print("""\nVertex Distance""" )
				for i in range(_UpperCAmelCase ):
								if dist[i] != float("""inf""" ):
												print(_UpperCAmelCase	,					"""\t"""	,					int(dist[i] )	,					end="""\t""" )
								else:
												print(_UpperCAmelCase	,					"""\t"""	,					"""INF"""	,					end="""\t""" )
								print()





def    _lowercase    (  _UpperCAmelCase	,					_UpperCAmelCase	,					_UpperCAmelCase )  ->     Dict:
				lowerCamelCase		       =float("""inf""" )
				lowerCamelCase		       =-1
				for i in range(_UpperCAmelCase ):
								if (not vset[i]) and mdist[i] < min_val:
												lowerCamelCase		       =i
												lowerCamelCase		       =mdist[i]
				return min_ind





def    _lowercase    (  _UpperCAmelCase	,					_UpperCAmelCase	,					_UpperCAmelCase )  ->     Optional[int]:
				lowerCamelCase		       =[float("""inf""" ) for _ in range(_UpperCAmelCase )]
				lowerCamelCase		       =[False for _ in range(_UpperCAmelCase )]
				lowerCamelCase		       =0.0

				for _ in range(v - 1 ):
								lowerCamelCase		       =min_dist(_UpperCAmelCase	,					_UpperCAmelCase	,					_UpperCAmelCase )
								lowerCamelCase		       =True

								for i in range(_UpperCAmelCase ):
												if (
												    (not vset[i])
												    and graph[u][i] != float("""inf""" )
												    and mdist[u] + graph[u][i] < mdist[i]
												):
																lowerCamelCase		       =mdist[u] + graph[u][i]

				print_dist(_UpperCAmelCase	,					_UpperCAmelCase )


if __name__ == "__main__":
							UpperCAmelCase__  :	Tuple     =int(input('''Enter number of vertices: ''').strip())
							UpperCAmelCase__  :	str     =int(input('''Enter number of edges: ''').strip())

							UpperCAmelCase__  :	str     =[[float('''inf''') for i in range(V)] for j in range(V)]

							for i in range(V):
														UpperCAmelCase__  :	Dict     =0.0

							for i in range(E):
														print('''\nEdge ''', i + 1)
														UpperCAmelCase__  :	int     =int(input('''Enter source:''').strip())
														UpperCAmelCase__  :	str     =int(input('''Enter destination:''').strip())
														UpperCAmelCase__  :	List[Any]     =float(input('''Enter weight:''').strip())
														UpperCAmelCase__  :	str     =weight

							UpperCAmelCase__  :	Tuple     =int(input('''\nEnter shortest path source:''').strip())
							dijkstra(graph, V, gsrc)





