#include<bits/stdc++.h>
using namespace std;
long long x,y,n,m,b[100005];
struct nome{
long long x,y,z;
}a[100005];
void dfs(long long s,long long m,long long d){
if(d==y){
cout<<s<<endl;
return;
}
if(m==n+1){
cout<<0;
return;
}
for(int i=1;i<=n;i++){
if(a[i].x==d&&b[i]==0){
b[i]=1;
d=a[i].y,s=s^a[i].z;
dfs(s,m+1,d);
d=a[i].x,s=s^a[i].z;
b[i]=0;
}
if(a[i].y==d&&b[i]==0){
b[i]=1;
d=a[i].x,s=s^a[i].z;
dfs(s,m+1,d);
d=a[i].y,s=s^a[i].z;
b[i]=0;
}
}
}
int main(){
cin>>n;
for(int i=1;i<=n-1;i++)cin>>a[i].x>>a[i].y>>a[i].z;
cin>>m;
for(int i=1;i<=m;i++){
cin>>x>>y;
dfs(0,0,x);
}
return 0;
}
有绿有黑
到底哪错了!!!到底哪里能优化!!!