"""
修改我们在视频中学习的广度优先搜索算法,使用上一题构造的数据结构表示图,作为函数的一个输入。输出某个给定的顶点到其他的所有顶点最小距离的和。
"""
import queue as que
n = int(input())
graph = {}
for i in range(n):
src, dst = input().split()
src, dst = int(src), int(dst)
# 对于每一条输入的连边 src -> dst 你需要按照题目要求作相应的处理
# 得到正确的代表图的字典 graph
if dst not in graph:
graph[dst] = []
if src in graph:
graph[src].append(dst)
else:
graph[src] = [dst]
start = int(input())
def ShortestPath(graph, start):
sum_of_minDist = 0
# looked = dict()
# for x in graph:
# looked[x] = [0] * len(graph[x])
# for x in looked:
# print(x, looked[x])
point_num = len(graph)
# print('字典长度:', point_num)
point_short_lens =