#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdio>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> P;
#define F first
#define S second
int n,q,k;
vector<P>g[100005];
ll d[100005];
void dfs(int v,int p,ll w){
    d[v]=w;
    for(int i=0;i<g[v].size();i++){
        if(g[v][i].F!=p)dfs(g[v][i].F,v,w+g[v][i].S);
    }
}
int main(void){
    scanf("%d",&n);
    for(int i=0;i<n-1;i++){
        int a,b;
        ll c;
        scanf("%d%d%lld",&a,&b,&c);
        g[a].push_back(P(b,c));
        g[b].push_back(P(a,c));
    }
    scanf("%d%d",&q,&k);
    dfs(k,-1,0);
    for(int i=0;i<q;i++){
        int a,b;
        scanf("%d%d",&a,&b);
        printf("%lld\n",d[a]+d[b]);
    }
}