#include <bits/stdc++.h>
using namespace std;

queue<int>que;
int n,q,a[500001],nxt[500001],pl[500001];
void find(int a,int dep){
	if(nxt[a]==0){
		return;
	}
	pl[a]=dep;
	//cout<<pl[a]<<" "<<a<<"\n";
	find(nxt[a],dep+1);
}

int main(){
	freopen("query.in","r",stdin);
	freopen("query.out","w",stdout);
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++){
		int u,v;
		cin>>u>>v;
		nxt[u]=v;
	}
	cin>>q;
	find(1,1);
	for(int i=1;i<=q;i++){
		int l,r,k,ans=0;
		cin>>l>>r>>k;
		for(int j=l;j<=l+k-1;j++){
			ans=max(ans,pl[j]);
		}
		cout<<ans<<"\n";
	}
}
