code: 
  """simple docstring"""
  import heapq
  
  
  
  
  def     __lowerCamelCase  (		UpperCamelCase__				,     UpperCamelCase__				,     UpperCamelCase__      ):
  
  
   """simple docstring"""
  
  
  
  
  
  
   _UpperCAmelCase =						[(0, start)]  # cost from start node,end node
   _UpperCAmelCase =						set()
   while heap:
    ((_UpperCAmelCase) ,      (_UpperCAmelCase)) =						heapq.heappop(_A      )
    if u in visited:
     continue
    visited.add(_A      )
    if u == end:
     return cost
    for v, c in graph[u]:
     if v in visited:
      continue
     _UpperCAmelCase =						cost + c
     heapq.heappush(_A				,     (next_item, v)      )
   return -1
  
  
  __magic_name__		       =				{
      '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]],
  }
  __magic_name__		       =				{
      'B': [['C', 1]],
      'C': [['D', 1]],
      'D': [['F', 1]],
      'E': [['B', 1], ['F', 3]],
      'F': [],
  }
  __magic_name__		       =				{
      'B': [['C', 1]],
      'C': [['D', 1]],
      'D': [['F', 1]],
      'E': [['B', 1], ['G', 2]],
      'F': [],
      'G': [['F', 1]],
  }
  
  __magic_name__		       =				dijkstra(G, '''E''', '''C''')
  print(short_distance)  # E -- 3 --> F -- 3 --> C == 6
  
  __magic_name__		       =				dijkstra(Ga, '''E''', '''F''')
  print(short_distance)  # E -- 3 --> F == 3
  
  __magic_name__		       =				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_sentencepiece_available, is_tokenizers_available
  
  
  __magic_name__		       =				{}
  
  try:
  			if not is_sentencepiece_available():
  						raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
  			pass
  else:
  			__magic_name__		       =				['''CpmTokenizer''']
  
  try:
  			if not is_tokenizers_available():
  						raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
  			pass
  else:
  			__magic_name__		       =				['''CpmTokenizerFast''']
  
  
  if TYPE_CHECKING:
  			try:
  						if not is_sentencepiece_available():
  									raise OptionalDependencyNotAvailable()
  			except OptionalDependencyNotAvailable:
  						pass
  			else:
  						from .tokenization_cpm import CpmTokenizer
  
  			try:
  						if not is_tokenizers_available():
  									raise OptionalDependencyNotAvailable()
  			except OptionalDependencyNotAvailable:
  						pass
  			else:
  						from .tokenization_cpm_fast import CpmTokenizerFast
  
  else:
  			import sys
  
  			__magic_name__		       =				_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)
  
  
  
  
  