바이트랜드는 n개의 도시가 n−1개의 양방향 도로로 연결된 작은 나라입니다. 도로만 이용하면 임의의 두 도시 사이를 오가는 방법이 정확히 하나뿐이므로, 도로망은 트리를 이룹니다. 이렇게 경로가 하나뿐이라 교통 체증이 심해서 여러 개의 고속도로가 건설되었습니다. 각 고속도로는 어떤 두 도시를 직접 잇습니다.
경로란 도로와 고속도로를 이어 붙인 이동으로, 지나는 도시가 모두 서로 다른 단순 경로입니다. 임의의 두 도시 x, y에 대해 고속도로를 전혀 쓰지 않는 경로는 정확히 하나 존재하며, 이를 x와 y 사이의 주 경로라고 부릅니다. 주 경로는 도로망에서의 유일한 경로입니다.
도시 x에서 도시 y로 갈 때 사람들은 주 경로를 택하거나, 고속도로를 정확히 하나만 사용하는 대체 경로를 택할 수 있습니다. 대체 경로는 양 끝 도시 x, y를 제외하고는 주 경로와 어떤 도시도 공유하지 않을 때에만 허용됩니다.
각 질의로 주어지는 도시 쌍에 대해, 두 도시 사이를 오갈 수 있는 경로의 개수(주 경로와 허용되는 모든 대체 경로의 합)를 구하세요.
첫 번째 줄에 도시의 수 n (1≤n≤105)이 주어집니다. 도시는 1번부터 n번까지 번호가 매겨져 있습니다.
이어지는 n−1개의 줄에는 각각 두 정수 ai, bi (1≤ai,bi≤n)가 주어지며, 도시 ai와 bi가 도로로 연결되어 있음을 뜻합니다.
다음 줄에는 고속도로의 수 m (1≤m≤105)이 주어집니다. 이어지는 m개의 줄에는 각각 고속도로가 잇는 두 도시가 주어집니다.
다음 줄에는 질의의 수 q (1≤q≤5⋅105)가 주어집니다. 이어지는 q개의 줄에는 각각 두 정수 x, y가 주어지며, 도시 x와 y 사이의 이동을 묻는 질의입니다. 고속도로와 질의는 모두 도로와 같은 형식(두 정수)으로 주어집니다.
정확히 q개의 줄을 출력합니다. i번째 줄에는 i번째 질의에 대한 경로의 개수를 하나의 정수로 출력합니다.