from collections import deque N, M = map(int, input().split()) G = [list() for _ in range(N + 1)] for i in range(M): p, q = map(int, input().split()) G[p].append(q) G[q].append(p) Q = int(input()) for i in range(Q): a = int(input()) dist = [-1] * (N + 1) dist[a] = 0 que = deque([a]) cnt = 0 while que: pos = que.popleft() for nex in G[pos]: if dist[nex] == -1: dist[nex] = dist[pos] + 1 cnt += 1 que.append(nex) X = max(dist) if X == 0: ans = 0 else: ans = (X - 1).bit_length() print(cnt, ans)