n,m=map(int,input().split()) pq=[list(map(int,input().split())) for _ in range(m)] q=int(input()) a=[int(input()) for _ in range(q)] g=[[] for _ in range(n)] for p,q in pq: p,q=p-1,q-1 g[p].append(q) g[q].append(p) from collections import deque for v in a: v-=1 todo=deque([v]) d={} d[v]=0 while todo: v=todo.popleft() for nv in g[v]: if nv not in d: d[nv]=d[v]+1 todo.append(nv) x=d[v] for i in range(31): if x<=pow(2,i): print(len(d)-1,i) break """ スターグラフなら1日目で達成 長さLのパスグラフならlog(L)?? 周長Lの閉路グラフなら それぞれの連結成分で一番最後に友達になるペアを見つける log(最長パス)かな? 1日目:距離2の頂点間に辺 2日目:距離3,4の頂点間に辺 3日目:距離5~8の頂点間に辺 4日目:距離9~16の頂点間に辺 5日目:距離17~32の頂点間に辺 """