code: 
  
  
  
  
  
  
  import heapq
  
  
  
  
  
  def    _lowerCamelCase	(	__lowerCamelCase   ,       __lowerCamelCase   ,       __lowerCamelCase					)   -> Optional[int]:
  
       '''simple docstring'''
       UpperCAmelCase__			:     int										= [(0, start)]  # cost from start node,end node
       UpperCAmelCase__			:     int										= set()
       while heap:
            ((UpperCAmelCase__)			,		(UpperCAmelCase__))			:     str										= 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
                 UpperCAmelCase__			:     Optional[int]										= cost + c
                 heapq.heappush(__lowerCamelCase   ,       (next_item, v)					)
       return -1
  
  
  SCREAMING_SNAKE_CASE__		:       List[str]   							=							{
      """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]],
  }
  SCREAMING_SNAKE_CASE__		:       str   							=							{
      """B""": [["""C""", 1]],
      """C""": [["""D""", 1]],
      """D""": [["""F""", 1]],
      """E""": [["""B""", 1], ["""F""", 3]],
      """F""": [],
  }
  SCREAMING_SNAKE_CASE__		:       Dict   							=							{
      """B""": [["""C""", 1]],
      """C""": [["""D""", 1]],
      """D""": [["""F""", 1]],
      """E""": [["""B""", 1], ["""G""", 2]],
      """F""": [],
      """G""": [["""F""", 1]],
  }
  
  SCREAMING_SNAKE_CASE__		:       List[Any]   							=							dijkstra(G, """E""", """C""")
  print(short_distance)  # E -- 3 --> F -- 3 --> C == 6
  
  SCREAMING_SNAKE_CASE__		:       Tuple   							=							dijkstra(Ga, """E""", """F""")
  print(short_distance)  # E -- 3 --> F == 3
  
  SCREAMING_SNAKE_CASE__		:       List[Any]   							=							dijkstra(Ga, """E""", """F""")
  print(short_distance)  # E -- 2 --> G -- 1 --> F == 3
  
  if __name__ == "__main__":
        import doctest
  
        doctest.testmod()
  
  
  
  
  
  
  
style_context: 
  
  
  
  
  
  
  from ..utils import requires_backends
  
  
  SCREAMING_SNAKE_CASE__		:       int   							=							None
  
  
  
  
  
  
  
  class 							UpperCAmelCase_     :
  
  
  
  
       def __init__(							self  ,	*_lowerCAmelCase  ,	**_lowerCAmelCase		):
            requires_backends(self  ,	["""detectron2"""]		)
  
  
  
  
       @classmethod
       def      __UpperCAmelCase     (							cls  ,	*_lowerCAmelCase  ,	**_lowerCAmelCase		):
            requires_backends(cls  ,	["""detectron2"""]		)
  
  
  
  
  
  
  