#include<bits/stdc++.h>
using namespace std;
struct shu{
int bb;
char c;
int l=0;
int r=0;
bool gl=0;
}a[100005];
int n,q,qn;
void f(int x,int zt){
zt+=a[x].gl;
zt%=2;
if(zt) if(a[x].c=='0') a[x].c='1';else a[x].c='0';
if(a[x].l){
f(a[x].l,zt);
}
if(a[x].r){
f(a[x].r,zt);
}
return ;
}
signed main(){
cin>>n;
for(int i=2;i<=n;i++){
cin>>a[i].bb;
if(a[a[i].bb].l=0)
a[a[i].bb].l=i;
else a[a[i].bb].r=i;
}
for(int i=1;i<=n;i++){
cin>>a[i].c;
}
cin>>q;
for(int i=1;i<=q;i++){
cin>>qn;
a[qn].gl!=a[qn].gl;
}
f(1,0);
for(int i=1;i<=n;i++){
cout<<a[i].c;
}
return 0;
}