#include <bits/stdc++.h>
using namespace std;
#define faster ios_base::sync_with_stdio(false); cin.tie(NULL)
#define Bit(mask , i) ((mask >> i) & 1)
#define fi first
#define se second
#define _LOG2(nl) 31 - __builtin_clz(nl)
#define c_bit(nl) __builtin_popcount(nl)
#define db long double
#define onBit(mask , i) (mask | (1 << i))
#define offBit(mask , i) (mask & (~(1 << i)))
#define int long long
const long long INF = 1e16;
const int N = 5e5 + 7;
const long long MAXN = 1e9 + 7;
long long c_l[N] , c_r[N] , c[N] , _a[N] , _b[N];
int n;
struct gv{
long long val;
int id;
};
gv a[N] , b[N];
bool cmp(gv x , gv y){
if (x.val != y.val) return x.val < y.val;
return x.id < y.id;
}
void inp(){
cin >> n;
for (int i = 1 ; i <= n ; ++i){
cin >> a[i].val;
_a[i] = a[i].val;
a[i].id = i;
}
for (int i = 1 ; i <= n ; ++i){
cin >> b[i].val;
_b[i] = b[i].val;
b[i].id = i;
}
sort(a + 1 , a + n + 1 , cmp);
sort(b + 1 , b + n + 1 , cmp);
}
void ktao(){
for (int i = 2 ; i <= n ; ++i){
c_l[i] = (i - 1) * (i - 2) / 2;
}
for (int i = n - 1 ; i >= 1 ; --i){
c_r[i] = (n - i) * (n - i - 1) / 2;
}
}
long long nl_a(int i_l , int i_r , int j_l , int j_r){
long long res = 0;
c[j_l - 1] = 0;
c[j_l] = b[j_l].id;
for (int i = j_l + 1 ; i <= j_r ; ++i){
c[i] = c[i - 1] + b[i].id;
}
int id = j_l;
for (int i = i_l ; i <= i_r ; ++i){
if (a[i].id <= b[id].id) continue;
while (id < j_r && a[i].id > b[id + 1].id) ++id;
int l = j_l , r = id , mid , pos = j_l - 1;
while (l <= r){
mid = (l + r) >> 1;
if (n - a[i].id + 1 >= b[mid].id){
pos = mid;
l = mid + 1;
}
else r = mid - 1;
}
res += c[pos] + (id - pos) * (n - a[i].id + 1);
}
return res;
}
long long nl_b(int i_l , int i_r , int j_l , int j_r){
long long res = 0;
c[j_l - 1] = 0;
c[j_l] = a[j_l].id;
for (int i = j_l + 1 ; i <= j_r ; ++i){
c[i] = c[i - 1] + a[i].id;
}
int id = j_l;
for (int i = i_l ; i <= i_r ; ++i){
if (b[i].id <= a[id].id) continue;
while (id < j_r && b[i].id > a[id + 1].id) ++id;
int l = j_l , r = id , mid , pos = j_l - 1;
while (l <= r){
mid = (l + r) >> 1;
if (n - b[i].id + 1 >= a[mid].id){
pos = mid;
l = mid + 1;
}
else r = mid - 1;
}
res += c[pos] + (id - pos) * (n - b[i].id + 1);
}
return res;
}
void solve(){
ktao();
long long res = 0;
int i = 1 , j = 1;
while (i <= n && j <= n){
if (a[i].val < b[j].val){
int u = i;
while (u < n && a[u + 1].val == a[i].val) ++u;
i = u + 1;
continue;
}
if (a[i].val > b[j].val){
int v = j;
while (v < n && b[v + 1].val == b[j].val) ++v;
j = v + 1;
continue;
}
int u = i , v = j;
while (u < n && a[u + 1].val == a[i].val) ++u;
while (v < n && b[v + 1].val == b[j].val) ++v;
res += nl_a(i , u , j , v) + nl_b(j , v , i , u);
i = u + 1 , j = v + 1;
}
for (int i = 1 ; i <= n ; ++i){
if (_a[i] == _b[i]){
res += c_l[i] + c_r[i] + min(n - i , i - 1) + n;
}
}
cout << res;
}
signed main(){
// freopen("xhmax.inp" , "r" , stdin);
// freopen("xhmax.out" , "w" , stdout);
faster;
inp();
solve();
// return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZmFzdGVyIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKE5VTEwpCiNkZWZpbmUgQml0KG1hc2sgLCBpKSAoKG1hc2sgPj4gaSkgJiAxKQojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgX0xPRzIobmwpIDMxIC0gX19idWlsdGluX2NseihubCkKI2RlZmluZSBjX2JpdChubCkgX19idWlsdGluX3BvcGNvdW50KG5sKQojZGVmaW5lIGRiIGxvbmcgZG91YmxlCiNkZWZpbmUgb25CaXQobWFzayAsIGkpIChtYXNrIHwgKDEgPDwgaSkpCiNkZWZpbmUgb2ZmQml0KG1hc2sgLCBpKSAobWFzayAmICh+KDEgPDwgaSkpKQojZGVmaW5lIGludCBsb25nIGxvbmcKCmNvbnN0IGxvbmcgbG9uZyBJTkYgPSAxZTE2Owpjb25zdCBpbnQgTiA9IDVlNSArIDc7CmNvbnN0IGxvbmcgbG9uZyBNQVhOID0gMWU5ICsgNzsKbG9uZyBsb25nIGNfbFtOXSAsIGNfcltOXSAsIGNbTl0gLCBfYVtOXSAsIF9iW05dOwppbnQgbjsKCnN0cnVjdCBndnsKCWxvbmcgbG9uZyB2YWw7CglpbnQgaWQ7Cn07CgpndiBhW05dICwgYltOXTsKCmJvb2wgY21wKGd2IHggLCBndiB5KXsKCWlmICh4LnZhbCAhPSB5LnZhbCkgcmV0dXJuIHgudmFsIDwgeS52YWw7CglyZXR1cm4geC5pZCA8IHkuaWQ7Cn0KCnZvaWQgaW5wKCl7CgljaW4gPj4gbjsKCWZvciAoaW50IGkgPSAxIDsgaSA8PSBuIDsgKytpKXsKCQljaW4gPj4gYVtpXS52YWw7CgkJX2FbaV0gPSBhW2ldLnZhbDsKCQlhW2ldLmlkID0gaTsKCX0KCWZvciAoaW50IGkgPSAxIDsgaSA8PSBuIDsgKytpKXsKCQljaW4gPj4gYltpXS52YWw7CgkJX2JbaV0gPSBiW2ldLnZhbDsKCQliW2ldLmlkID0gaTsKCX0KCXNvcnQoYSArIDEgLCBhICsgbiArIDEgLCBjbXApOwoJc29ydChiICsgMSAsIGIgKyBuICsgMSAsIGNtcCk7Cn0KCnZvaWQga3RhbygpewoJZm9yIChpbnQgaSA9IDIgOyBpIDw9IG4gOyArK2kpewoJCWNfbFtpXSA9IChpIC0gMSkgKiAoaSAtIDIpIC8gMjsKCX0KCWZvciAoaW50IGkgPSBuIC0gMSA7IGkgPj0gMSA7IC0taSl7CgkJY19yW2ldID0gKG4gLSBpKSAqIChuIC0gaSAtIDEpIC8gMjsKCX0KfQoKbG9uZyBsb25nIG5sX2EoaW50IGlfbCAsIGludCBpX3IgLCBpbnQgal9sICwgaW50IGpfcil7Cglsb25nIGxvbmcgcmVzID0gMDsKCWNbal9sIC0gMV0gPSAwOwoJY1tqX2xdID0gYltqX2xdLmlkOwoJZm9yIChpbnQgaSA9IGpfbCArIDEgOyBpIDw9IGpfciA7ICsraSl7CgkJY1tpXSA9IGNbaSAtIDFdICsgYltpXS5pZDsKCX0KCWludCBpZCA9IGpfbDsKCWZvciAoaW50IGkgPSBpX2wgOyBpIDw9IGlfciA7ICsraSl7CgkJaWYgKGFbaV0uaWQgPD0gYltpZF0uaWQpIGNvbnRpbnVlOwoJCXdoaWxlIChpZCA8IGpfciAmJiBhW2ldLmlkID4gYltpZCArIDFdLmlkKSArK2lkOwoJCWludCBsID0gal9sICwgciA9IGlkICwgbWlkICwgcG9zID0gal9sIC0gMTsKCQl3aGlsZSAobCA8PSByKXsKCQkJbWlkID0gKGwgKyByKSA+PiAxOwoJCQlpZiAobiAtIGFbaV0uaWQgKyAxID49IGJbbWlkXS5pZCl7CgkJCQlwb3MgPSBtaWQ7CgkJCQlsID0gbWlkICsgMTsKCQkJfQoJCQllbHNlIHIgPSBtaWQgLSAxOwoJCX0KCQlyZXMgKz0gY1twb3NdICsgKGlkIC0gcG9zKSAqIChuIC0gYVtpXS5pZCArIDEpOwoJfQoJcmV0dXJuIHJlczsKfQoKbG9uZyBsb25nIG5sX2IoaW50IGlfbCAsIGludCBpX3IgLCBpbnQgal9sICwgaW50IGpfcil7Cglsb25nIGxvbmcgcmVzID0gMDsKCWNbal9sIC0gMV0gPSAwOwoJY1tqX2xdID0gYVtqX2xdLmlkOwoJZm9yIChpbnQgaSA9IGpfbCArIDEgOyBpIDw9IGpfciA7ICsraSl7CgkJY1tpXSA9IGNbaSAtIDFdICsgYVtpXS5pZDsKCX0KCWludCBpZCA9IGpfbDsKCWZvciAoaW50IGkgPSBpX2wgOyBpIDw9IGlfciA7ICsraSl7CgkJaWYgKGJbaV0uaWQgPD0gYVtpZF0uaWQpIGNvbnRpbnVlOwoJCXdoaWxlIChpZCA8IGpfciAmJiBiW2ldLmlkID4gYVtpZCArIDFdLmlkKSArK2lkOwoJCWludCBsID0gal9sICwgciA9IGlkICwgbWlkICwgcG9zID0gal9sIC0gMTsKCQl3aGlsZSAobCA8PSByKXsKCQkJbWlkID0gKGwgKyByKSA+PiAxOwoJCQlpZiAobiAtIGJbaV0uaWQgKyAxID49IGFbbWlkXS5pZCl7CgkJCQlwb3MgPSBtaWQ7CgkJCQlsID0gbWlkICsgMTsKCQkJfQoJCQllbHNlIHIgPSBtaWQgLSAxOwoJCX0KCQlyZXMgKz0gY1twb3NdICsgKGlkIC0gcG9zKSAqIChuIC0gYltpXS5pZCArIDEpOwoJfQoJcmV0dXJuIHJlczsKfQoKdm9pZCBzb2x2ZSgpewoJa3RhbygpOwoJbG9uZyBsb25nIHJlcyA9IDA7CglpbnQgaSA9IDEgLCBqID0gMTsKCXdoaWxlIChpIDw9IG4gJiYgaiA8PSBuKXsKCQlpZiAoYVtpXS52YWwgPCBiW2pdLnZhbCl7CgkJCWludCB1ID0gaTsKCQkJd2hpbGUgKHUgPCBuICYmIGFbdSArIDFdLnZhbCA9PSBhW2ldLnZhbCkgKyt1OwoJCQlpID0gdSArIDE7CgkJCWNvbnRpbnVlOwoJCX0KCQlpZiAoYVtpXS52YWwgPiBiW2pdLnZhbCl7CgkJCWludCB2ID0gajsKCQkJd2hpbGUgKHYgPCBuICYmIGJbdiArIDFdLnZhbCA9PSBiW2pdLnZhbCkgKyt2OwoJCQlqID0gdiArIDE7CgkJCWNvbnRpbnVlOwoJCX0KCQlpbnQgdSA9IGkgLCB2ID0gajsKCQl3aGlsZSAodSA8IG4gJiYgYVt1ICsgMV0udmFsID09IGFbaV0udmFsKSArK3U7CgkJd2hpbGUgKHYgPCBuICYmIGJbdiArIDFdLnZhbCA9PSBiW2pdLnZhbCkgKyt2OwoJCXJlcyArPSBubF9hKGkgLCB1ICwgaiAsIHYpICsgbmxfYihqICwgdiAsIGkgLCB1KTsKCQlpID0gdSArIDEgLCBqID0gdiArIDE7Cgl9Cglmb3IgKGludCBpID0gMSA7IGkgPD0gbiA7ICsraSl7CgkJaWYgKF9hW2ldID09IF9iW2ldKXsKCQkJcmVzICs9IGNfbFtpXSArIGNfcltpXSArIG1pbihuIC0gaSAsIGkgLSAxKSArIG47CgkJfQoJfQoJY291dCA8PCByZXM7Cn0KCnNpZ25lZCBtYWluKCl7Ci8vCWZyZW9wZW4oInhobWF4LmlucCIgLCAiciIgLCBzdGRpbik7Ci8vCWZyZW9wZW4oInhobWF4Lm91dCIgLCAidyIgLCBzdGRvdXQpOwogICAgZmFzdGVyOwogICAgaW5wKCk7CiAgICBzb2x2ZSgpOwovLyAgICByZXR1cm4gMDsKfQo=