#include <iostream>
#include <queue>
using namespace std;
int N,M;
int depth[100001];
vector<int> node[100001];
int parent[100001][21];
void dfs(int x,int par){
depth[x]=depth[par]+1;
for(int nxt:node[x]){
if(nxt==par) continue;
parent[nxt][0]=x;
dfs(nxt,x);
}
}
int lca(int a,int b){
if(depth[a]>depth[b]) swap(a,b);
for(int i=20;i>=0;i--){
if(depth[b]-depth[a]>=(1<<i)) b=parent[b][i];
} //같은 깊이로 맞춰주기
if(a==b) return a;
for(int i=20;i>=0;i--){
if(parent[a][i]!=parent[b][i]){
a=parent[a][i];
b=parent[b][i];
}
}
return parent[a][0];
}
int main() {
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>N;
for(int i=1,u,v;i<N;i++){
cin>>u>>v;
node[u].push_back(v);
node[v].push_back(u);
}
dfs(1,0);
for(int i=1;i<21;i++)
for(int j=1;j<=N;j++)
parent[j][i]=parent[parent[j][i-1]][i-1];
cin>>M;
while(M--){
int a,b;
cin>>a>>b;
cout<<lca(a,b)<<'\n';
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cXVldWU+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBOLE07CmludCBkZXB0aFsxMDAwMDFdOwp2ZWN0b3I8aW50PiBub2RlWzEwMDAwMV07CmludCBwYXJlbnRbMTAwMDAxXVsyMV07Cgp2b2lkIGRmcyhpbnQgeCxpbnQgcGFyKXsKCWRlcHRoW3hdPWRlcHRoW3Bhcl0rMTsKCWZvcihpbnQgbnh0Om5vZGVbeF0pewoJCWlmKG54dD09cGFyKSBjb250aW51ZTsKCQlwYXJlbnRbbnh0XVswXT14OwoJCWRmcyhueHQseCk7Cgl9Cn0KaW50IGxjYShpbnQgYSxpbnQgYil7CglpZihkZXB0aFthXT5kZXB0aFtiXSkgc3dhcChhLGIpOwoJZm9yKGludCBpPTIwO2k+PTA7aS0tKXsKCQlpZihkZXB0aFtiXS1kZXB0aFthXT49KDE8PGkpKSBiPXBhcmVudFtiXVtpXTsKCX0gLy/qsJnsnYAg6rmK7J2066GcIOunnuy2sOyjvOq4sAoJaWYoYT09YikgcmV0dXJuIGE7Cglmb3IoaW50IGk9MjA7aT49MDtpLS0pewoJCWlmKHBhcmVudFthXVtpXSE9cGFyZW50W2JdW2ldKXsKCQkJYT1wYXJlbnRbYV1baV07CgkJCWI9cGFyZW50W2JdW2ldOwoJCX0KCX0KCXJldHVybiBwYXJlbnRbYV1bMF07Cn0KaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApO2NvdXQudGllKDApOwoJY2luPj5OOwoJZm9yKGludCBpPTEsdSx2O2k8TjtpKyspewoJCWNpbj4+dT4+djsKCQlub2RlW3VdLnB1c2hfYmFjayh2KTsKCQlub2RlW3ZdLnB1c2hfYmFjayh1KTsKCX0KCWRmcygxLDApOwoJZm9yKGludCBpPTE7aTwyMTtpKyspCgkJZm9yKGludCBqPTE7ajw9TjtqKyspCgkJCXBhcmVudFtqXVtpXT1wYXJlbnRbcGFyZW50W2pdW2ktMV1dW2ktMV07CgljaW4+Pk07CQoJd2hpbGUoTS0tKXsKCQlpbnQgYSxiOwoJCWNpbj4+YT4+YjsKCQljb3V0PDxsY2EoYSxiKTw8J1xuJzsKCX0KCXJldHVybiAwOwp9