def BFS() -> list: visit = [False] * N visit[0] = True q = [0] d = 0 dist = [-1] * N while q: new = [] for i in q: dist[i] = d for j in e[i]: if not visit[j]: visit[j] = True new.append(j) q = new d += 1 return dist N, Q = map(int, input().split()) e = [[] for _ in range(N)] for _ in range(N-1): A, B = map(lambda x: int(x) - 1, input().split()) e[A].append(B) e[B].append(A) dist = BFS() for _ in range(Q): s, t = map(lambda x: int(x) - 1, input().split()) if (dist[s] - dist[t]) % 2: print(0) else: print(1)