


from scipy.constants import g

def 		_UpperCAmelCase							(     SCREAMING_SNAKE_CASE__     :   str     ,	SCREAMING_SNAKE_CASE__     :   Optional[int]							):






     if mass < 0:
          # handling of negative values of mass
          raise ValueError('The mass of a body cannot be negative'							)
     if height < 0:
          # handling of negative values of height
          raise ValueError('The height above the ground cannot be negative'							)
     return mass * g * height


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

   testmod(name='potential_energy')






import heapq

def 				UpperCamelCase					(     lowerCAmelCase_							,       lowerCAmelCase_							,       lowerCAmelCase_ )		->    Dict:




       '''simple docstring'''






       _A=						[(0, start)]  # cost from start node,end node
       _A=						set()
       while heap:
              ((_A),      (_A))=						heapq.heappop(lowerCAmelCase_ )
              if u in visited:
                     continue
              visited.add(lowerCAmelCase_ )
              if u == end:
                     return cost
              for v, c in graph[u]:
                     if v in visited:
                            continue
                     _A=						cost + c
                     heapq.heappush(lowerCAmelCase_							,       (next_item, v) )
       return -1


UpperCAmelCase_    		=				{
    '''A''': [['''B''', 2], ['''C''', 5]],
    '''B''': [['''A''', 2], ['''D''', 3], ['''E''', 1], ['''F''', 1]],
    '''C''': [['''A''', 5], ['''F''', 3]],
    '''D''': [['''B''', 3]],
    '''E''': [['''B''', 4], ['''F''', 3]],
    '''F''': [['''C''', 3], ['''E''', 3]],
}
UpperCAmelCase_    		=				{
    '''B''': [['''C''', 1]],
    '''C''': [['''D''', 1]],
    '''D''': [['''F''', 1]],
    '''E''': [['''B''', 1], ['''F''', 3]],
    '''F''': [],
}
UpperCAmelCase_    		=				{
    '''B''': [['''C''', 1]],
    '''C''': [['''D''', 1]],
    '''D''': [['''F''', 1]],
    '''E''': [['''B''', 1], ['''G''', 2]],
    '''F''': [],
    '''G''': [['''F''', 1]],
}

UpperCAmelCase_    		=				dijkstra(G, '''E''', '''C''')
print(short_distance)  # E -- 3 --> F -- 3 --> C == 6

UpperCAmelCase_    		=				dijkstra(Ga, '''E''', '''F''')
print(short_distance)  # E -- 3 --> F == 3

UpperCAmelCase_    		=				dijkstra(Ga, '''E''', '''F''')
print(short_distance)  # E -- 2 --> G -- 1 --> F == 3

if __name__ == "__main__":
      import doctest

      doctest.testmod()