
"""simple docstring"""






import math



class 			lowercase					:






			def __init__(self  :	Any      ,SCREAMING_SNAKE_CASE_  :	str=0			)       ->	Dict:  # a graph with Node 0,1,...,N-1





				"""simple docstring"""


				lowerCAmelCase												=  n
				lowerCAmelCase												=  [
				    [math.inf for j in range(0      ,SCREAMING_SNAKE_CASE_			)] for i in range(0      ,SCREAMING_SNAKE_CASE_			)
				]  # adjacency matrix for weight
				lowerCAmelCase												=  [
				    [math.inf for j in range(0      ,SCREAMING_SNAKE_CASE_			)] for i in range(0      ,SCREAMING_SNAKE_CASE_			)
				]  # dp[i][j] stores minimum distance from i to j






			def 					UpperCAmelCase							(self  :	List[str]      ,SCREAMING_SNAKE_CASE_  :	Any      ,SCREAMING_SNAKE_CASE_  :	Tuple      ,SCREAMING_SNAKE_CASE_  :	Dict			)       ->	str:





				"""simple docstring"""


				lowerCAmelCase												=  w






			def 					UpperCAmelCase							(self  :	Dict			)       ->	Optional[int]:





				"""simple docstring"""


				for k in range(0      ,self.n			):
					for i in range(0      ,self.n			):
						for j in range(0      ,self.n			):
							lowerCAmelCase												=  min(self.dp[i][j]      ,self.dp[i][k] + self.dp[k][j]			)






			def 					UpperCAmelCase							(self  :	List[str]      ,SCREAMING_SNAKE_CASE_  :	Tuple      ,SCREAMING_SNAKE_CASE_  :	str			)       ->	Tuple:





				"""simple docstring"""


				return self.dp[u][v]


if __name__ == "__main__":
					UpperCAmelCase        =				Graph(5)
					graph.add_edge(0, 2, 9)
					graph.add_edge(0, 4, 1_0)
					graph.add_edge(1, 3, 5)
					graph.add_edge(2, 3, 7)
					graph.add_edge(3, 0, 1_0)
					graph.add_edge(3, 1, 2)
					graph.add_edge(3, 2, 1)
					graph.add_edge(3, 4, 6)
					graph.add_edge(4, 1, 3)
					graph.add_edge(4, 2, 4)
					graph.add_edge(4, 3, 9)
					graph.floyd_warshall()
					graph.show_min(1, 4)
					graph.show_min(0, 3)




"""simple docstring"""






UpperCAmelCase        =				8.3_144_598




def __magic_name__	(				_lowerCamelCase:		float,					_lowerCamelCase:		float			)					->						float:

	'''simple docstring'''




	if temperature < 0:
		raise Exception('''Temperature cannot be less than 0 K'''			)
	if molar_mass <= 0:
		raise Exception('''Molar mass cannot be less than or equal to 0 kg/mol'''			)
	else:
		return (3 * UNIVERSAL_GAS_CONSTANT * temperature / molar_mass) ** 0.5


if __name__ == "__main__":
					import doctest

					# run doctest
					doctest.testmod()

					# example
					UpperCAmelCase        =				3_0_0
					UpperCAmelCase        =				2_8
					UpperCAmelCase        =				rms_speed_of_molecule(temperature, molar_mass)
					print(f"""Vrms of Nitrogen gas at 300 K is {vrms} m/s""")


