code: 
  
  
  
  
  
  
  """simple docstring"""
  
  import heapq
  
  def 	__lowerCamelCase			(						__UpperCamelCase   , __UpperCamelCase   , __UpperCamelCase )		->					List[Any]:
  
    """simple docstring"""
  
  
  
  
  
  
  
    lowerCAmelCase_     :							Any             =    [(0, start)]  # cost from start node,end node
    lowerCAmelCase_     :							Tuple             =    set()
    while heap:
      (lowerCAmelCase_)     :							Union[str, Any]             =    heapq.heappop(__UpperCamelCase )
      if u in visited:
        continue
      visited.add(__UpperCamelCase )
      if u == end:
        return cost
      for v, c in graph[u]:
        if v in visited:
          continue
        lowerCAmelCase_     :							Dict             =    cost + c
        heapq.heappush(__UpperCamelCase   , (next_item, v) )
    return -1
  
  
  lowercase__      =				{
      """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]],
  }
  lowercase__      =				{
      """B""": [["""C""", 1]],
      """C""": [["""D""", 1]],
      """D""": [["""F""", 1]],
      """E""": [["""B""", 1], ["""F""", 3]],
      """F""": [],
  }
  lowercase__      =				{
      """B""": [["""C""", 1]],
      """C""": [["""D""", 1]],
      """D""": [["""F""", 1]],
      """E""": [["""B""", 1], ["""G""", 2]],
      """F""": [],
      """G""": [["""F""", 1]],
  }
  
  lowercase__      =				dijkstra(G, """E""", """C""")
  print(short_distance)  # E -- 3 --> F -- 3 --> C == 6
  
  lowercase__      =				dijkstra(Ga, """E""", """F""")
  print(short_distance)  # E -- 3 --> F == 3
  
  lowercase__      =				dijkstra(Ga, """E""", """F""")
  print(short_distance)  # E -- 2 --> G -- 1 --> F == 3
  
  if __name__ == "__main__":
       import doctest
  
       doctest.testmod()
  
style_context: 
  
  
  
  
  
  
  """simple docstring"""
  
  from typing import TYPE_CHECKING
  
  from ...utils import (
      OptionalDependencyNotAvailable,
      _LazyModule,
      is_torch_available,
      is_vision_available,
  )
  
  
  lowercase__      =				{
      """configuration_mobilevitv2""": [
          """MOBILEVITV2_PRETRAINED_CONFIG_ARCHIVE_MAP""",
          """MobileViTV2Config""",
          """MobileViTV2OnnxConfig""",
      ],
  }
  
  
  try:
  					if not is_torch_available():
  										raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
  					pass
  else:
  					lowercase__      =				[
  					    """MOBILEVITV2_PRETRAINED_MODEL_ARCHIVE_LIST""",
  					    """MobileViTV2ForImageClassification""",
  					    """MobileViTV2ForSemanticSegmentation""",
  					    """MobileViTV2Model""",
  					    """MobileViTV2PreTrainedModel""",
  					]
  
  if TYPE_CHECKING:
  					from .configuration_mobilevitva import (
  					    MOBILEVITV2_PRETRAINED_CONFIG_ARCHIVE_MAP,
  					    MobileViTVaConfig,
  					    MobileViTVaOnnxConfig,
  					)
  
  					try:
  										if not is_torch_available():
  															raise OptionalDependencyNotAvailable()
  					except OptionalDependencyNotAvailable:
  										pass
  					else:
  										from .modeling_mobilevitva import (
  										    MOBILEVITV2_PRETRAINED_MODEL_ARCHIVE_LIST,
  										    MobileViTVaForImageClassification,
  										    MobileViTVaForSemanticSegmentation,
  										    MobileViTVaModel,
  										    MobileViTVaPreTrainedModel,
  										)
  
  else:
  					import sys
  
  					lowercase__      =				_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)
  