#include <iostream>
using namespace std;
int p[100005], nxt[100005], pre[100005], d[100005]; // 定义四个整数数组,用于存储数据
int main() {
int n;
long long ans; // 定义整数n和长整型ans,n表示数组长度,ans用于存储结果
cin >> n; // 从标准输入读取一个整数,赋值给n
for (int i = 1; i <= n; i++) {
cin >> p[i]; // 循环读取n个整数,存储到数组p中
}
for (int i = 1; i <= n; i++) {
nxt[p[i]] = p[i + 1];
pre[p[i]] = p[i - 1]; // 根据数组p,构建后继和前驱的关系,存储到数组nxt和pre中
}
for (int i = 1; i <= n; i++) {
cin >> d[i]; // 循环读取n个整数,存储到数组d中,表示每个元素要移动到的位置
}
ans = 0; // 将ans初始化为0,用于存储结果
for (int i = 1; i <= n; i++) {
ans += pre[d[i]] + nxt[d[i]];
nxt[pre[d[i]]] = nxt[d[i]];
pre[nxt[d[i]]] = pre[d[i]]; // 对每个元素进行操作:将其前驱和后继分别移动到它们的新位置,并更新答案ans
}
cout << ans << endl; // 输出结果ans
return 0;
}