#include <iostream>
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, i, j;
    cin>>n;
    int mat[n+1][n+1];
    int eljut[n+1][n+1];
    for(i=0;i<n+1;i++)
        for(j=0;j<n+1;j++)
        {
            mat[i][j]=0;
            eljut[i][j]=-1;
        }
    int x, y;
    for(i=0;i<n-1;i++)
    {
        cin>>x>>y;
        mat[x][y]=1;
        mat[y][x]=1;
    }
    int erme[n+1];
    for(i=1;i<n+1;i++)
        cin>>erme[i];
    int q;
    cin>>q;
    int plusz[q][2];
    for(i=0;i<q;i++)
            cin>>plusz[i][0]>>plusz[i][1];

    int szamol, sor;
    queue<int> ss;
    for(i=1;i<n+1;i++)
    {
        eljut[i][i]=0;
        szamol=1;
        sor=i;
        while(szamol<n)
        {
            for(j=1;j<n+1;j++)
                if(mat[sor][j]!=0 && eljut[i][j]==-1)
                {
                    eljut[i][j]=eljut[i][sor]+1;
                    ss.push(j);
                    szamol++;
                }

            sor=ss.front();
            ss.pop();


        }

    }

    /*for(i=1;i<n+1;i++)
    {
        for(j=1;j<n+1;j++)
        {
            cout<<eljut[i][j]<<"\t";

        }
        cout<<endl;
    }*/
    for(int k=0;k<=q;k++)
    {
        if(k!=0)
            erme[plusz[k-1][1]]+=plusz[k-1][0];
        int ossz;
        int mini=1000000000;
        int minih=-1;
        for(i=1;i<n+1;i++)
        {
            szamol=0;
            for(j=1;j<n+1;j++)
            {
                szamol+=eljut[i][j]*erme[j];
            }
            if(mini>szamol)
            {
                mini=szamol;
                minih=i;
            }
        }
        cout<<minih<<endl;
    }

    return 0;
}