from collections import deque import sys input = sys.stdin.buffer.readline sys.setrecursionlimit(10 ** 7) N, M = map(int, input().split()) edge = [[] for _ in range(N)] for _ in range(M): a, b = map(int, input().split()) a -= 1 b -= 1 edge[a].append(b) edge[b].append(a) Q = int(input()) for _ in range(Q): a = int(input()) - 1 dist = [-1] * N dist[a] = 0 size = 0 que = deque([a]) while que: s = que.popleft() size += 1 d = dist[s] for t in edge[s]: if dist[t] == -1: dist[t] = d + 1 que.append(t) if d <= 1: print(size - 1, 0) else: d -= 1 time = 0 while d: time += 1 d //= 2 print(size - 1, time)