





import heapq




def  A_(      A					,   A					,   A ):
	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


UpperCamelCase__ :			Any       	=			{
    """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__ :			Union[str, Any]       	=			{
    """B""": [["""C""", 1]],
    """C""": [["""D""", 1]],
    """D""": [["""F""", 1]],
    """E""": [["""B""", 1], ["""F""", 3]],
    """F""": [],
}
UpperCamelCase__ :			str       	=			{
    """B""": [["""C""", 1]],
    """C""": [["""D""", 1]],
    """D""": [["""F""", 1]],
    """E""": [["""B""", 1], ["""G""", 2]],
    """F""": [],
    """G""": [["""F""", 1]],
}

UpperCamelCase__ :			int       	=			dijkstra(G, """E""", """C""")
print(short_distance)  # E -- 3 --> F -- 3 --> C == 6

UpperCamelCase__ :			Optional[Any]       	=			dijkstra(Ga, """E""", """F""")
print(short_distance)  # E -- 3 --> F == 3

UpperCamelCase__ :			List[str]       	=			dijkstra(Ga, """E""", """F""")
print(short_distance)  # E -- 2 --> G -- 1 --> F == 3

if __name__ == "__main__":
				import doctest

				doctest.testmod()









def  A_(      A = 1000 ):
	UpperCAmelCase_		    =  0
	for i in range(A ):
		if i % 3 == 0 or i % 5 == 0:
			result += i
	return result


if __name__ == "__main__":
				print(f"{solution() = }")


