#include <bits/stdc++.h>
using namespace std;
const int N = 1000005;
int n, p1[N], p2[N];
int a[N], b[N];
vector<int> g1[N], g2[N];
int in1[N], out1[N], in2[N], out2[N], timer1 = 0, timer2 = 0;
int fen1[N], fen2[N];
void upd(int fen[], int i, int v){
for(; i<=n; i+=i&-i) fen[i]+=v;
}
int get(int fen[], int i){
int s=0;
for(; i>0; i-=i&-i) s+=fen[i];
return s;
}
void range_upd(int fen[], int l, int r, int v){
upd(fen,l,v);
upd(fen,r+1,-v);
}
void dfs1(int u){
in1[u]=++timer1;
for(int v: g1[u]) dfs1(v);
out1[u]=timer1;
}
void dfs2(int u){
in2[u]=++timer2;
for(int v: g2[u]) dfs2(v);
out2[u]=timer2;
}
int keep[N];
void solve_dfs(int u){
for(int v: g1[u]) solve_dfs(v);
int sz1 = get(fen1, in1[u]);
int sz2 = get(fen2, in2[u]);
if(sz1 < a[u] || sz2 < b[u]){
keep[u] = 0;
range_upd(fen1, in1[u], out1[u], -1);
range_upd(fen2, in2[u], out2[u], -1);
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>p1[i];
if(p1[i]) g1[p1[i]].push_back(i);
}
for(int i=1;i<=n;i++){
cin>>p2[i];
if(p2[i]) g2[p2[i]].push_back(i);
}
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) cin>>b[i];
for(int i=1;i<=n;i++) if(!p1[i]) dfs1(i);
for(int i=1;i<=n;i++) if(!p2[i]) dfs2(i);
for(int i=1;i<=n;i++){
keep[i] = 1;
range_upd(fen1, in1[i], in1[i], 1);
range_upd(fen2, in2[i], in2[i], 1);
}
for(int i=1;i<=n;i++) if(!p1[i]) solve_dfs(i);
int ans = 0;
for(int i=1;i<=n;i++) if(keep[i]) ans++;
cout << ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTiA9IDEwMDAwMDU7CgppbnQgbiwgcDFbTl0sIHAyW05dOwppbnQgYVtOXSwgYltOXTsKdmVjdG9yPGludD4gZzFbTl0sIGcyW05dOwppbnQgaW4xW05dLCBvdXQxW05dLCBpbjJbTl0sIG91dDJbTl0sIHRpbWVyMSA9IDAsIHRpbWVyMiA9IDA7CmludCBmZW4xW05dLCBmZW4yW05dOwoKdm9pZCB1cGQoaW50IGZlbltdLCBpbnQgaSwgaW50IHYpewogICAgZm9yKDsgaTw9bjsgaSs9aSYtaSkgZmVuW2ldKz12Owp9CmludCBnZXQoaW50IGZlbltdLCBpbnQgaSl7CiAgICBpbnQgcz0wOwogICAgZm9yKDsgaT4wOyBpLT1pJi1pKSBzKz1mZW5baV07CiAgICByZXR1cm4gczsKfQp2b2lkIHJhbmdlX3VwZChpbnQgZmVuW10sIGludCBsLCBpbnQgciwgaW50IHYpewogICAgdXBkKGZlbixsLHYpOwogICAgdXBkKGZlbixyKzEsLXYpOwp9Cgp2b2lkIGRmczEoaW50IHUpewogICAgaW4xW3VdPSsrdGltZXIxOwogICAgZm9yKGludCB2OiBnMVt1XSkgZGZzMSh2KTsKICAgIG91dDFbdV09dGltZXIxOwp9CnZvaWQgZGZzMihpbnQgdSl7CiAgICBpbjJbdV09Kyt0aW1lcjI7CiAgICBmb3IoaW50IHY6IGcyW3VdKSBkZnMyKHYpOwogICAgb3V0Mlt1XT10aW1lcjI7Cn0KCmludCBrZWVwW05dOwoKdm9pZCBzb2x2ZV9kZnMoaW50IHUpewogICAgZm9yKGludCB2OiBnMVt1XSkgc29sdmVfZGZzKHYpOwoKICAgIGludCBzejEgPSBnZXQoZmVuMSwgaW4xW3VdKTsKICAgIGludCBzejIgPSBnZXQoZmVuMiwgaW4yW3VdKTsKCiAgICBpZihzejEgPCBhW3VdIHx8IHN6MiA8IGJbdV0pewogICAgICAgIGtlZXBbdV0gPSAwOwogICAgICAgIHJhbmdlX3VwZChmZW4xLCBpbjFbdV0sIG91dDFbdV0sIC0xKTsKICAgICAgICByYW5nZV91cGQoZmVuMiwgaW4yW3VdLCBvdXQyW3VdLCAtMSk7CiAgICB9Cn0KCmludCBtYWluKCl7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOwoKICAgIGNpbj4+bjsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKXsKICAgICAgICBjaW4+PnAxW2ldOwogICAgICAgIGlmKHAxW2ldKSBnMVtwMVtpXV0ucHVzaF9iYWNrKGkpOwogICAgfQogICAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgICAgIGNpbj4+cDJbaV07CiAgICAgICAgaWYocDJbaV0pIGcyW3AyW2ldXS5wdXNoX2JhY2soaSk7CiAgICB9CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKykgY2luPj5hW2ldOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspIGNpbj4+YltpXTsKCiAgICBmb3IoaW50IGk9MTtpPD1uO2krKykgaWYoIXAxW2ldKSBkZnMxKGkpOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspIGlmKCFwMltpXSkgZGZzMihpKTsKCiAgICBmb3IoaW50IGk9MTtpPD1uO2krKyl7CiAgICAgICAga2VlcFtpXSA9IDE7CiAgICAgICAgcmFuZ2VfdXBkKGZlbjEsIGluMVtpXSwgaW4xW2ldLCAxKTsKICAgICAgICByYW5nZV91cGQoZmVuMiwgaW4yW2ldLCBpbjJbaV0sIDEpOwogICAgfQoKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKSBpZighcDFbaV0pIHNvbHZlX2RmcyhpKTsKCiAgICBpbnQgYW5zID0gMDsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKSBpZihrZWVwW2ldKSBhbnMrKzsKCiAgICBjb3V0IDw8IGFuczsKfQo=