#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e5+5,Log=23;
int n,q,anc[N][Log],mx[N][Log],level[N];vector<pair<int,int>>adj[N];
void Build(int node,int parent,int cost)
{
    level[node]=level[parent]+1;
    mx[node][0]=cost;
    anc[node][0]=parent;
    for(int i=1;i<Log;i++)
    {
        int p=anc[node][i-1];
        mx[node][i]=max(mx[p][i-1],mx[node][i-1]);
        anc[node][i]=anc[p][i-1];
    }
    for(auto [a,b]:adj[node])
    {
        if(a!=parent)
        {
            Build(a,node,b);
        }
    }
}
int kth(int node,int k)
{
    for(int i=Log-1;i>=0;i--)
    {
        if((k>>i)&1)
        {
            node=anc[node][i];
        }
    }
    return node;
}
int MX(int node,int k)
{
    int ret=0;
    for(int i=Log-1;i>=0;i--)
    {
        if((k>>i)&1)
        {
            ret=max(ret,mx[node][i]);
            node=anc[node][i];
        }
    }
    return ret;
}
int LCA(int a,int b)
{
    if(level[a]<level[b]) swap(a,b);
    a=kth(a,level[a]-level[b]);
    if(a==b) return a;
    for(int i=Log-1;i>=0;i--)
    {
        if(anc[a][i]!=anc[b][i])
        {
            a=anc[a][i];
            b=anc[b][i];
        }
    }
    return anc[a][0];
}
int get(int a,int b)
{
    int lca=LCA(a,b);
    a=MX(a,level[a]-level[lca]);
    b=MX(b,level[b]-level[lca]);
    return max(a,b);
}
int dis(int a,int b)
{
    int lca=LCA(a,b);
    return level[a]+level[b]-2*level[lca];
}
void clear()
{
	for(int i=0;i<=n;i++)
	{
		adj[i].clear();
		memset(anc[i],0,sizeof anc[i]);
		memset(mx[i],0,sizeof mx[i]);
	}
}
signed main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    while(cin>>n)
    {
        if(n==0) return 0;
        clear();
        for(int i=2;i<=n;i++)
        {
            int a,b,c;cin>>a>>b>>c;
            adj[a].push_back({b,c});
            adj[b].push_back({a,c});
        }
        Build(1,0,0);
        cin>>q;while(q--)
        {
            int a,b;cin>>a>>b;
            cout<<get(a,b)<<'\n';
        }
    }
    return 0;
}
				I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKY29uc3QgaW50IE49MWU1KzUsTG9nPTIzOwppbnQgbixxLGFuY1tOXVtMb2ddLG14W05dW0xvZ10sbGV2ZWxbTl07dmVjdG9yPHBhaXI8aW50LGludD4+YWRqW05dOwp2b2lkIEJ1aWxkKGludCBub2RlLGludCBwYXJlbnQsaW50IGNvc3QpCnsKICAgIGxldmVsW25vZGVdPWxldmVsW3BhcmVudF0rMTsKICAgIG14W25vZGVdWzBdPWNvc3Q7CiAgICBhbmNbbm9kZV1bMF09cGFyZW50OwogICAgZm9yKGludCBpPTE7aTxMb2c7aSsrKQogICAgewogICAgICAgIGludCBwPWFuY1tub2RlXVtpLTFdOwogICAgICAgIG14W25vZGVdW2ldPW1heChteFtwXVtpLTFdLG14W25vZGVdW2ktMV0pOwogICAgICAgIGFuY1tub2RlXVtpXT1hbmNbcF1baS0xXTsKICAgIH0KICAgIGZvcihhdXRvIFthLGJdOmFkaltub2RlXSkKICAgIHsKICAgICAgICBpZihhIT1wYXJlbnQpCiAgICAgICAgewogICAgICAgICAgICBCdWlsZChhLG5vZGUsYik7CiAgICAgICAgfQogICAgfQp9CmludCBrdGgoaW50IG5vZGUsaW50IGspCnsKICAgIGZvcihpbnQgaT1Mb2ctMTtpPj0wO2ktLSkKICAgIHsKICAgICAgICBpZigoaz4+aSkmMSkKICAgICAgICB7CiAgICAgICAgICAgIG5vZGU9YW5jW25vZGVdW2ldOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBub2RlOwp9CmludCBNWChpbnQgbm9kZSxpbnQgaykKewogICAgaW50IHJldD0wOwogICAgZm9yKGludCBpPUxvZy0xO2k+PTA7aS0tKQogICAgewogICAgICAgIGlmKChrPj5pKSYxKQogICAgICAgIHsKICAgICAgICAgICAgcmV0PW1heChyZXQsbXhbbm9kZV1baV0pOwogICAgICAgICAgICBub2RlPWFuY1tub2RlXVtpXTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gcmV0Owp9CmludCBMQ0EoaW50IGEsaW50IGIpCnsKICAgIGlmKGxldmVsW2FdPGxldmVsW2JdKSBzd2FwKGEsYik7CiAgICBhPWt0aChhLGxldmVsW2FdLWxldmVsW2JdKTsKICAgIGlmKGE9PWIpIHJldHVybiBhOwogICAgZm9yKGludCBpPUxvZy0xO2k+PTA7aS0tKQogICAgewogICAgICAgIGlmKGFuY1thXVtpXSE9YW5jW2JdW2ldKQogICAgICAgIHsKICAgICAgICAgICAgYT1hbmNbYV1baV07CiAgICAgICAgICAgIGI9YW5jW2JdW2ldOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBhbmNbYV1bMF07Cn0KaW50IGdldChpbnQgYSxpbnQgYikKewogICAgaW50IGxjYT1MQ0EoYSxiKTsKICAgIGE9TVgoYSxsZXZlbFthXS1sZXZlbFtsY2FdKTsKICAgIGI9TVgoYixsZXZlbFtiXS1sZXZlbFtsY2FdKTsKICAgIHJldHVybiBtYXgoYSxiKTsKfQppbnQgZGlzKGludCBhLGludCBiKQp7CiAgICBpbnQgbGNhPUxDQShhLGIpOwogICAgcmV0dXJuIGxldmVsW2FdK2xldmVsW2JdLTIqbGV2ZWxbbGNhXTsKfQp2b2lkIGNsZWFyKCkKewoJZm9yKGludCBpPTA7aTw9bjtpKyspCgl7CgkJYWRqW2ldLmNsZWFyKCk7CgkJbWVtc2V0KGFuY1tpXSwwLHNpemVvZiBhbmNbaV0pOwoJCW1lbXNldChteFtpXSwwLHNpemVvZiBteFtpXSk7Cgl9Cn0Kc2lnbmVkIG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApO2Npbi50aWUoMCk7Y291dC50aWUoMCk7CiAgICB3aGlsZShjaW4+Pm4pCiAgICB7CiAgICAgICAgaWYobj09MCkgcmV0dXJuIDA7CiAgICAgICAgY2xlYXIoKTsKICAgICAgICBmb3IoaW50IGk9MjtpPD1uO2krKykKICAgICAgICB7CiAgICAgICAgICAgIGludCBhLGIsYztjaW4+PmE+PmI+PmM7CiAgICAgICAgICAgIGFkalthXS5wdXNoX2JhY2soe2IsY30pOwogICAgICAgICAgICBhZGpbYl0ucHVzaF9iYWNrKHthLGN9KTsKICAgICAgICB9CiAgICAgICAgQnVpbGQoMSwwLDApOwogICAgICAgIGNpbj4+cTt3aGlsZShxLS0pCiAgICAgICAgewogICAgICAgICAgICBpbnQgYSxiO2Npbj4+YT4+YjsKICAgICAgICAgICAgY291dDw8Z2V0KGEsYik8PCdcbic7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0=