#include<bits/stdc++.h>
#define fre(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout)
#define rep(i,a,b) for(int i=a,i##e=b;i<=i##e;++i)
#define per(i,a,b) for(int i=a,i##e=b;i>=i##e;--i)
#define rsn(i,p) for(int i=h[p];i;i=x[i])
using namespace std;
int h[5001],t[10001],x[10001];
int cnt=0;
void add(int u,int v){
	++cnt;
	t[cnt]=v;
	x[cnt]=h[u];
	h[u]=cnt;
}
int dp[5001];
int Fa[5001];
bool zx[5001][5001];
int st[5001];
int top=0;
void dfs(int u,int fa){
	Fa[u]=fa;
	++top;
	st[top]=u;
	rep(i,1,top)zx[u][st[i]]=1;
	rsn(i,u){
		const int v=t[i];
		if(v==fa)continue;
		dp[v]=dp[u]+1;
		dfs(v,u);
	}
	--top;
}
int ss[5001][5001];
int main(){
	fre(query);
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int n;
	cin>>n;
	rep(i,1,n-1){
		int u,v;
		cin>>u>>v;
		add(u,v);
		add(v,u);
	}
	dp[1]=1;
	dfs(1,0);
	rep(i,1,n){
		ss[i][i]=i;
		rep(j,i+1,n){
			ss[i][j]=ss[i][j-1];
			while(!zx[j][ss[i][j]])ss[i][j]=Fa[ss[i][j]];
		}
	}
	int q;
	cin>>q;
	while(q--){
		int l,r,k;
		cin>>l>>r>>k;
		int ans=0;
		rep(i,l+k-1,r){
			ans=max(ans,dp[ss[i-k+1][i]]);
		}
		cout<<ans<<'\n';
	}
	return 0;
}

