#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 5;
vector<int> g[MAXN];
int fa[MAXN];
int depth[MAXN];

void init(){
	vector<int> vis;
	int l = 0;
	vis.push_back(1);
	vis.push_back(-1);
	while(vis[0] != -1){
		while(vis[0] != -1){
			for(int i = 0;i < g[vis[0]].size();i++){
				fa[g[vis[0]][i]] = vis[0];
				vis.push_back(g[vis[0]][i]);
			}
			depth[vis[0]] = l;
			vis.erase(vis.begin());
		}
		l++;
		vis.erase(vis.begin());
		vis.push_back(-1);
	}
}

int mancs(int l, int r){
	set<pair<int, int> > nodes;
	for(int i = l; i <= r;i++){
		nodes.insert(make_pair(depth[i], i));
	}
	while(nodes.size() > 1){
		pair<int, int> x = *nodes.rbegin();
		nodes.erase(x);
		nodes.insert(make_pair(depth[x.second], x.second));
	}
	return nodes.rbegin()->second;
}

int main(){
	int n, q;
	scanf("%d", &n);
	int x, y;
	for(int i = 1; i< n;i++){
		scanf("%d%d", &x, &y);
		g[x].push_back(y);
		g[y].push_back(x);
	}
	scanf("%d", &q);
	init();
	int l,r,k;
	for(int i = 0;i < q;i++){
		scanf("%d%d%d", &l, &r, &k);
		int r;
		for(int i = 0;i < r - l - k;i++){
			
		}
	}
	return 0;
} 
