//NiceDuck
#include "bits/stdc++.h"
typedef long long ll;
using namespace std;
#define FILE "000"
#define foru(i,a,b) for(int i=(int)(a); i<=(int)(b); ++i)
#define ford(i,a,b) for(int i=(int)(a); i>=(int)(b); --i)
#define fastio ios_base::sync_with_stdio(0);cin.tie(0);
#define pb push_back
#define fi first
#define se second
#define pii pair<int,int>
#define pil pair<int,ll>
#define pli pair<ll,int>
#define MOD 1000000007
#define el "\n"
const int MAX=1e5+5;
int n,bit[2*MAX],tin[MAX],tout[MAX],root1,root2,timer;
vector<int> adj1[MAX], adj2[MAX];
ll res=0;
void dfs1(int u)
{
tin[u]=++timer;
for(int v:adj1[u]) dfs1(v);
tout[u]=timer;
}
void update(int pos, int val)
{
for(;pos<=n;pos+=(pos&(-pos))) bit[pos]+=val;
}
int query(int pos)
{
int ans=0;
for(;pos>=1;pos-=(pos&(-pos))) ans+=bit[pos];
return ans;
}
void dfs2(int u)
{
int tmp=query(tin[u]);
res+=tmp;
update(tin[u],1);
update(tout[u]+1,-1);
for(int v:adj2[u]) dfs2(v);
update(tin[u],-1);
update(tout[u]+1,1);
}
int main()
{
fastio
cin>>n;
foru(i,1,n)
{
int x; cin>>x;
if(x!=0) adj1[x].pb(i);
else root1=i;
}
dfs1(root1);
foru(i,1,n)
{
int x; cin>>x;
if(x!=0) adj2[x].pb(i);
else root2=i;
}
dfs2(root2);
cout<<res;
return 0;
}
Ly9OaWNlRHVjawojaW5jbHVkZSAiYml0cy9zdGRjKysuaCIKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRklMRSAiMDAwIgojZGVmaW5lIGZvcnUoaSxhLGIpIGZvcihpbnQgaT0oaW50KShhKTsgaTw9KGludCkoYik7ICsraSkKI2RlZmluZSBmb3JkKGksYSxiKSBmb3IoaW50IGk9KGludCkoYSk7IGk+PShpbnQpKGIpOyAtLWkpCiNkZWZpbmUgZmFzdGlvIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTsKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgcGlsIHBhaXI8aW50LGxsPgojZGVmaW5lIHBsaSBwYWlyPGxsLGludD4KI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIGVsICJcbiIKCmNvbnN0IGludCBNQVg9MWU1KzU7CmludCBuLGJpdFsyKk1BWF0sdGluW01BWF0sdG91dFtNQVhdLHJvb3QxLHJvb3QyLHRpbWVyOwp2ZWN0b3I8aW50PiBhZGoxW01BWF0sIGFkajJbTUFYXTsKbGwgcmVzPTA7Cgp2b2lkIGRmczEoaW50IHUpCnsKICAgIHRpblt1XT0rK3RpbWVyOwogICAgZm9yKGludCB2OmFkajFbdV0pIGRmczEodik7CiAgICB0b3V0W3VdPXRpbWVyOwp9Cgp2b2lkIHVwZGF0ZShpbnQgcG9zLCBpbnQgdmFsKQp7CiAgICBmb3IoO3Bvczw9bjtwb3MrPShwb3MmKC1wb3MpKSkgYml0W3Bvc10rPXZhbDsKfQoKaW50IHF1ZXJ5KGludCBwb3MpCnsKICAgIGludCBhbnM9MDsKICAgIGZvcig7cG9zPj0xO3Bvcy09KHBvcyYoLXBvcykpKSBhbnMrPWJpdFtwb3NdOwogICAgcmV0dXJuIGFuczsKfQoKdm9pZCBkZnMyKGludCB1KQp7CiAgICBpbnQgdG1wPXF1ZXJ5KHRpblt1XSk7CiAgICByZXMrPXRtcDsKICAgIHVwZGF0ZSh0aW5bdV0sMSk7CiAgICB1cGRhdGUodG91dFt1XSsxLC0xKTsKICAgIGZvcihpbnQgdjphZGoyW3VdKSBkZnMyKHYpOwogICAgdXBkYXRlKHRpblt1XSwtMSk7CiAgICB1cGRhdGUodG91dFt1XSsxLDEpOwp9CgppbnQgbWFpbigpCnsKICAgIGZhc3RpbwogICAgCiAgICBjaW4+Pm47CiAgICBmb3J1KGksMSxuKQogICAgewogICAgICAgIGludCB4OyBjaW4+Png7CiAgICAgICAgaWYoeCE9MCkgYWRqMVt4XS5wYihpKTsKICAgICAgICBlbHNlIHJvb3QxPWk7CiAgICB9CiAgICBkZnMxKHJvb3QxKTsKICAgIGZvcnUoaSwxLG4pCiAgICB7CiAgICAgICAgaW50IHg7IGNpbj4+eDsKICAgICAgICBpZih4IT0wKSBhZGoyW3hdLnBiKGkpOwogICAgICAgIGVsc2Ugcm9vdDI9aTsKICAgIH0KICAgIGRmczIocm9vdDIpOwogICAgY291dDw8cmVzOwogICAgCiAgICByZXR1cm4gMDsKfQo=