#include<stdio.h>
#include<iostream>
using namespace std;
int main ()
{
/*#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
#endif*/
int d;
long i, j, k, n, m, x, y, s, st, f;
long long unsigned int p, day;
scanf("%ld", &n);
long adj[n][n], mat[n][2];
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
adj[i][j]=3122;
}
}
for(i=1; i<=n; i++)
{
for(j=1; j<=2; j++)
{
mat[i][j]=0;
}
}
for(i=1; i<n; i++)
{
scanf("%ld %ld %d", &x, &y, &d);
adj[x][y]=adj[y][x]=d;
if(mat[x][1])
mat[x][2]=y;
else
mat[x][1]=y;
if(mat[y][1])
mat[y][2]=x;
else
mat[y][1]=x;
}
scanf("%ld", &m);
while(m--)
{
// long day, st;
scanf("%ld %ld %llu", &s, &f, &p);
st=s;
for(k=1; k<=2; k++)
{
i=k;
int flag=0;
long c[n], travelled=0, dist=0;
day=1;
for(j=1; j<=n; j++)
c[j]=0;
while(mat[st][i]!=0)
{
c[st]=1;
if(c[mat[st][i]])
{
if(i==1)
i=2;
else
i=1;
}
travelled+=adj[st][mat[st][i]];
if(travelled<=p)
{
dist+=adj[st][mat[st][i]];
st=mat[st][i];
}
else
{
travelled=0;
day++;
}
if(mat[st][i]==0)
{
st=s;
break;
}
if(mat[st][i]==f)
{
travelled+=adj[st][mat[st][i]];
if(travelled>p)
day++;
flag=1;
break;
}
i=1;
}
if(flag)
{
break;
}
}
printf("%llu\n", day);
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbiAoKQp7Ci8qI2lmbmRlZiBPTkxJTkVfSlVER0UKICBmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKI2VuZGlmKi8KICBpbnQgZDsKICBsb25nIGksIGosIGssIG4sIG0sIHgsIHksIHMsIHN0LCBmOwogIGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQgcCwgZGF5OwogIHNjYW5mKCIlbGQiLCAmbik7CiAgbG9uZyBhZGpbbl1bbl0sIG1hdFtuXVsyXTsKICAKICBmb3IoaT0xOyBpPD1uOyBpKyspCiAgewogICAgZm9yKGo9MTsgajw9bjsgaisrKQogICAgewogICAgICBhZGpbaV1bal09MzEyMjsKICAgIH0KICB9CiAgZm9yKGk9MTsgaTw9bjsgaSsrKQogIHsKICAgIGZvcihqPTE7IGo8PTI7IGorKykKICAgIHsKICAgICAgbWF0W2ldW2pdPTA7CiAgICB9CiAgfQogIGZvcihpPTE7IGk8bjsgaSsrKQogIHsKICAgIHNjYW5mKCIlbGQgJWxkICVkIiwgJngsICZ5LCAmZCk7CiAgICBhZGpbeF1beV09YWRqW3ldW3hdPWQ7CiAgICBpZihtYXRbeF1bMV0pCiAgICAgIG1hdFt4XVsyXT15OwogICAgZWxzZQogICAgICBtYXRbeF1bMV09eTsKICAgIGlmKG1hdFt5XVsxXSkKICAgICAgbWF0W3ldWzJdPXg7CiAgICBlbHNlCiAgICAgIG1hdFt5XVsxXT14OwogIH0KICBzY2FuZigiJWxkIiwgJm0pOwogIHdoaWxlKG0tLSkKICB7Ci8vICAgICBsb25nIGRheSwgc3Q7CiAgICBzY2FuZigiJWxkICVsZCAlbGx1IiwgJnMsICZmLCAmcCk7CiAgICBzdD1zOwogICAgZm9yKGs9MTsgazw9MjsgaysrKQogICAgewogICAgICBpPWs7CiAgICAgIGludCBmbGFnPTA7CiAgICAgIGxvbmcgY1tuXSwgdHJhdmVsbGVkPTAsIGRpc3Q9MDsKICAgICAgZGF5PTE7CiAgICAgIGZvcihqPTE7IGo8PW47IGorKykKCWNbal09MDsKICAgICAgd2hpbGUobWF0W3N0XVtpXSE9MCkKICAgICAgewoJY1tzdF09MTsKCWlmKGNbbWF0W3N0XVtpXV0pCgl7CgkgIGlmKGk9PTEpCgkgICAgaT0yOwoJICBlbHNlCgkgICAgaT0xOwoJfQoJdHJhdmVsbGVkKz1hZGpbc3RdW21hdFtzdF1baV1dOwoJaWYodHJhdmVsbGVkPD1wKQoJewoJICBkaXN0Kz1hZGpbc3RdW21hdFtzdF1baV1dOwoJICBzdD1tYXRbc3RdW2ldOwoJfSAgICAgIAoJZWxzZQoJewoJICB0cmF2ZWxsZWQ9MDsKCSAgZGF5Kys7Cgl9CglpZihtYXRbc3RdW2ldPT0wKQoJewoJICAKCSAgc3Q9czsKCSAgYnJlYWs7Cgl9CglpZihtYXRbc3RdW2ldPT1mKQoJewoJICB0cmF2ZWxsZWQrPWFkaltzdF1bbWF0W3N0XVtpXV07CgkgIGlmKHRyYXZlbGxlZD5wKQoJICAgIGRheSsrOwoJICBmbGFnPTE7CgkgIGJyZWFrOwoJfQoJaT0xOwogICAgICB9CiAgICAgIGlmKGZsYWcpCiAgICAgIHsKCWJyZWFrOwogICAgICB9CiAgICB9CiAgICBwcmludGYoIiVsbHVcbiIsIGRheSk7CiAgfQogIHJldHVybiAwOwp9