
"""simple docstring"""
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


__magic_name__		       =				{'''configuration_yoso''': ['''YOSO_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''YosoConfig''']}

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			__magic_name__		       =				[
			    '''YOSO_PRETRAINED_MODEL_ARCHIVE_LIST''',
			    '''YosoForMaskedLM''',
			    '''YosoForMultipleChoice''',
			    '''YosoForQuestionAnswering''',
			    '''YosoForSequenceClassification''',
			    '''YosoForTokenClassification''',
			    '''YosoLayer''',
			    '''YosoModel''',
			    '''YosoPreTrainedModel''',
			]


if TYPE_CHECKING:
			from .configuration_yoso import YOSO_PRETRAINED_CONFIG_ARCHIVE_MAP, YosoConfig

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_yoso import (
						    YOSO_PRETRAINED_MODEL_ARCHIVE_LIST,
						    YosoForMaskedLM,
						    YosoForMultipleChoice,
						    YosoForQuestionAnswering,
						    YosoForSequenceClassification,
						    YosoForTokenClassification,
						    YosoLayer,
						    YosoModel,
						    YosoPreTrainedModel,
						)


else:
			import sys

			__magic_name__		       =				_LazyModule(__name__, globals()['''__file__'''], _import_structure)






"""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(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
			_UpperCAmelCase =						cost + c
			heapq.heappush(UpperCamelCase__				,     (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()




