#include <bits/stdc++.h>
using namespace std;
int n, x[200005], y[200005], q, z[200005], b[200005];
bool isti=true;
map <int, int> m;
map <int, int> :: iterator it;
int main(){
    cin >> n;
    for(int i=1; i<n; i++){
        cin >> x[i] >> y[i];
    }
    for(int i=1; i<=n; i++){
        cin >> m[i];
    }
    for(int i=2; i<=n; i++){
        if(m[i]!=m[i-1]) isti=false;
    }
    cin >> q;
    for(int i=1; i<=q; i++){
        cin >> z[i] >> b[i];
    }
    if(isti){
        cout << n/2+n%2 << endl;
    }
    else{
        it=m.end();
        cout << it -> first;
    }

    return 0;
}