





import heapq



def 							lowerCAmelCase_				(    A_  ,A_  ,A_):
    UpperCamelCase__:					str												=      [(0, start)]  # cost from start node,end node
    UpperCamelCase__:					Tuple												=      set()
    while heap:
        (UpperCamelCase__):					List[Any]												=      heapq.heappop(SCREAMING_SNAKE_CASE_)
        if u in visited:
            continue
        visited.add(SCREAMING_SNAKE_CASE_)
        if u == end:
            return cost
        for v, c in graph[u]:
            if v in visited:
                continue
            UpperCamelCase__:					Optional[Any]												=      cost + c
            heapq.heappush(SCREAMING_SNAKE_CASE_  ,(next_item, v))
    return -1


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

A__:  List[str]       					=					dijkstra(G, '''E''', '''C''')
print(short_distance)  # E -- 3 --> F -- 3 --> C == 6

A__:  Union[str, Any]       					=					dijkstra(Ga, '''E''', '''F''')
print(short_distance)  # E -- 3 --> F == 3

A__:  Union[str, Any]       					=					dijkstra(Ga, '''E''', '''F''')
print(short_distance)  # E -- 2 --> G -- 1 --> F == 3

if __name__ == "__main__":
   import doctest

   doctest.testmod()








def 							lowerCAmelCase_				(    A_  ,A_  ,A_):
    UpperCamelCase__:					Optional[int]												=      [1 / first_term]
    UpperCamelCase__:					int												=      1 / first_term
    for _ in range(number_of_terms - 1):
        first_term += common_difference
        arithmetic_progression.append(A_)
    UpperCamelCase__:					str												=      [1 / step for step in arithmetic_progression]
    return sum(A_)


if __name__ == "__main__":
   import doctest

   doctest.testmod()
   print(sum_of_harmonic_progression(1 / 2, 2, 2))

