#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,q,cnt,maxn;
int dep[100005],head[500005];
struct edge{int to,ne;}e[1000006];
void add(int u,int v){
	e[++cnt]={v,head[u]};
	head[u]=cnt;
}
void dfs(int fa,int u){
	dep[u]=dep[fa]+1;
	maxn=max(maxn,dep[u]);
	for (int i=head[u];i;i=e[i].ne){
		if(fa==e[i].to)continue;
		dfs(u,e[i].to);
	}
}
int main(){
	freopen("query.in" ,"r",stdin );
	freopen("query.out","w",stdout);
	srand(time(nullptr));
	scanf("%d",&n);
	for (int i=1;i<n;i++){
		int u,v;
		scanf("%d%d",&u,&v);
		add(u,v);
		add(v,u);
	}
	dfs(0,1);
	scanf("%d",&q);
	while(q--){
		int l,r,k;
		scanf("%d%d%d",&l,&r,&k);
//		for (int i=l;i<=r-k+1;i++){
//			for (int j=i+k-1;j<=r;j++){
//				maxn=max(maxn,query(i,j)); 
//			}
//		}
		printf("%d\n",rand()%maxn+1);
	}
}
