#include using namespace std; #define int long long templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b struct BinaryIndexTree{ int n; vector bit; vector org; BinaryIndexTree(int si): bit(si+1), org(si+1) { n = si; }; void add(int idx, T v){ org[++idx] += v; for(int i = idx;i <= n;i+=i&-i) bit[i] += v; } void update(int idx, T v){ T vv = v - org[++idx]; org[idx] = v; for(int i = idx;i <= n;i+=i&-i) bit[i] += vv; } T sum(int a){ T ret = 0; for(int i = a;i > 0;i-=i&-i) ret += bit[i]; return ret; } T sum(int l, int r) { return sum(r)-sum(l); }; }; signed main(){ int n; cin >> n; int a[100010]; int b[100010]; for(int i = 0;i < n;i++) cin >> a[i]; int tmp[100010]; for(int i = 0;i < n;i++){ cin >> b[i]; tmp[b[i]] = i; } for(int i = 0;i < n;i++) a[i] = tmp[a[i]]; BinaryIndexTree bit(n); int ans = 0; for(int i = 0;i < n;i++){ ans += bit.sum(a[i], n); bit.add(a[i], 1); } cout << ans << endl; return 0; }