#include <iostream>

using namespace std;

int main()
{
    int N, i, j, maxz;
    cin>>N;
    
    int x[N-1], y[N-1], povezan[N], povezanbr;
    for(i=0; i<N-1; i++)
    {
        cin>>x[i]>>y[i];
        povezan[i]=i+1;
    }
    
    int p[N];
    cin>>p[0];
    maxz=p[0];
    for(i=1; i<N; i++)
    {
        cin>>p[i];
    }
    
    int Q;
    cin>>Q;
    
    int z[Q], b[Q];
    for(i=0; i<Q; i++)
    {
        cin>>z[i]>>b[i];
    }
    
    for(i=1; i<=N; i++)
    {
        for(j=0; j<N-1; j++)
        {
            if(i==x[j] || y[j])
            {
                povezanbr++;
            }
            if(povezanbr>maxz)
            {
                
                maxz=i;
            }
        }
    }
    
    cout<<maxz;
    
    return 0;
}