고속도로

아직 제출이 없습니다시간 제한3초메모리 제한128 MB

문제

바이트랜드는 nn개의 도시가 n1n-1개의 양방향 도로로 연결된 작은 나라입니다. 도로만 이용하면 임의의 두 도시 사이를 오가는 방법이 정확히 하나뿐이므로, 도로망은 트리를 이룹니다. 이렇게 경로가 하나뿐이라 교통 체증이 심해서 여러 개의 고속도로가 건설되었습니다. 각 고속도로는 어떤 두 도시를 직접 잇습니다.

경로란 도로와 고속도로를 이어 붙인 이동으로, 지나는 도시가 모두 서로 다른 단순 경로입니다. 임의의 두 도시 xx, yy에 대해 고속도로를 전혀 쓰지 않는 경로는 정확히 하나 존재하며, 이를 xxyy 사이의 주 경로라고 부릅니다. 주 경로는 도로망에서의 유일한 경로입니다.

도시 xx에서 도시 yy로 갈 때 사람들은 주 경로를 택하거나, 고속도로를 정확히 하나만 사용하는 대체 경로를 택할 수 있습니다. 대체 경로는 양 끝 도시 xx, yy를 제외하고는 주 경로와 어떤 도시도 공유하지 않을 때에만 허용됩니다.

각 질의로 주어지는 도시 쌍에 대해, 두 도시 사이를 오갈 수 있는 경로의 개수(주 경로와 허용되는 모든 대체 경로의 합)를 구하세요.

입력

첫 번째 줄에 도시의 수 nn (1n1051 \le n \le 10^5)이 주어집니다. 도시는 11번부터 nn번까지 번호가 매겨져 있습니다.

이어지는 n1n-1개의 줄에는 각각 두 정수 aia_i, bib_i (1ai,bin1 \le a_i, b_i \le n)가 주어지며, 도시 aia_ibib_i가 도로로 연결되어 있음을 뜻합니다.

다음 줄에는 고속도로의 수 mm (1m1051 \le m \le 10^5)이 주어집니다. 이어지는 mm개의 줄에는 각각 고속도로가 잇는 두 도시가 주어집니다.

다음 줄에는 질의의 수 qq (1q51051 \le q \le 5 \cdot 10^5)가 주어집니다. 이어지는 qq개의 줄에는 각각 두 정수 xx, yy가 주어지며, 도시 xxyy 사이의 이동을 묻는 질의입니다. 고속도로와 질의는 모두 도로와 같은 형식(두 정수)으로 주어집니다.

출력

정확히 qq개의 줄을 출력합니다. ii번째 줄에는 ii번째 질의에 대한 경로의 개수를 하나의 정수로 출력합니다.