#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e7+15;
int ans=0;
struct sb{
int data;
int id;
};
sb a[N],b[N];
int x[N],c[N];
bool cmp(sb x,sb y)
{
return x.data<y.data;
}
void cnm(int zb,int yb)
{
if(zb==yb) return;
int mid=(zb+yb)/2,i=zb,j=mid+1,flag=zb;
cnm(zb,mid);
cnm(mid+1,yb);
while(i<=mid&&j<=yb)
{
if(x[i]<=x[j])
c[flag++]=x[i++];
else
{
c[flag++]=x[j++];
ans+=(mid-i+1)%N;
}
}
while(i<=mid) c[flag++]=x[i++];
while(j<=yb) c[flag++]=x[j++];
for(int p=zb;p<=yb;p++) x[p]=c[p];
}
signed main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i].data;
a[i].id=i;
}
for(int i=1;i<=n;i++)
{
cin>>b[i].data;
b[i].id=i;
}
sort(a+1,a+n+1,cmp);
sort(b+1,b+n+1,cmp);
for(int i=1;i<=n;i++)
x[b[i].id]=a[i].id;
cnm(1,n);
printf("%lld",ans%N);
}