#include <stdio.h>
#include <math.h>
#define MOD 1000000007
#define MAXP 19

int n,q;
int e[500010][2],p[500010];
int fa[500010][20],dep[500010];
int dCnt,bgn[500010],end[500010];

int BEL[1000010],L[1010],R[1010];
long long v[1000010],sum[1010];

int min(int a,int b)
{
    return a<b?a:b;
}
void adde(int sn,int fn,int id)
{
    e[id][0] = fn; e[id][1] = p[sn]; p[sn] = id;
}
void dfs(int sn,int pa,int d)
{
    int i;
    dep[sn] = d;
    if(sn)
    {
        fa[sn][0] = pa;
        for(i=1;i<=MAXP;i++) fa[sn][i] = fa[fa[sn][i-1]][i-1];
    }
    bgn[sn] = dCnt++;
    for(i=p[sn];i;i=e[i][1]) dfs(e[i][0],sn,d+1);
    end[sn] = dCnt++;
}
void blockInit()
{
    int i,j;
    int LIM = sqrt(dCnt)+1;
    for(i=0;i*LIM<dCnt;i++)
    {
        L[i] = i*LIM; R[i] = min((i+1)*LIM-1, dCnt-1);
        for(j=L[i];j<=R[i];j++)
        {
            BEL[j] = i; sum[i] += v[j];
        }
    }
}
long long query(int x)
{
    int i;
    long long ret = 0;
    x = bgn[x];
    for(i=0;i<BEL[x];i++) ret += sum[i];
    for(i=L[BEL[x]];i<=x;i++) ret += v[i];
    return ret;
}
int lca(int x,int y)
{
    int i,j;
    if(dep[x]<dep[y]) { i = x; x = y; y = i;}
    for(i=MAXP;i>=0;i--) if(dep[x]-(1<<i) >= dep[y]) x = fa[x][i];
    if(x == y) return x;
    for(i=MAXP;i>=0;i--) if(fa[x][i] != fa[y][i]) { x = fa[x][i]; y = fa[y][i];}
    return fa[x][0];
}
int main()
{
    int i,k,x,y,l;
    long long A,B,C,D;
    scanf("%d",&n);
    for(i=1;i<n;i++)
    {
        scanf("%d%d",&x,&y);
        adde(x,y,i);
    }
    dfs(0,0,1);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&x);
        v[bgn[i-1]] = x; v[end[i-1]] = -x;
    }
    
    blockInit();
    scanf("%d",&q);
    while(q--)
    {
        scanf("%d%d%d%lld%lld%lld%lld",&k,&x,&y,&A,&B,&C,&D);
        for(i=1;i<=k;i++)
        {
            v[bgn[x]] += y; v[end[x]] -= y;
            sum[BEL[bgn[x]]] += y; sum[BEL[end[x]]] -= y;
            x = (A*x+B)%n; y = (C*y+D)%MOD;
        }
        scanf("%d%d",&x,&y); l = lca(x,y);
        printf("%lld\n",query(x)+query(y)-2*query(l)+v[bgn[l]]);
    }
    return 0;
}