#include #include #include #include #include #include using namespace std; struct BIT{ vector num; int N; BIT(int n){ N = n; num.resize(N + 1, 0); } long long sum(int t){ long long res = 0; while(t > 0){ res += num[t]; t -= t & -t; } return res; } void add(int ind, long long t){ ind++; while(ind <= N){ num[ind] += t; ind += ind & -ind; } } }; int main(){ int n; cin >> n; vector a(n), b(n); for(int i = 0; i < n; i++) cin >> a[i]; for(int i = 0; i < n; i++) cin >> b[i]; vector ind(n); for(int i = 0; i < n; i++) ind[a[i] - 1] = i; BIT bit(n); long long cnt = 0; for(int i = 0; i < n; i++){ bit.add(ind[b[i] - 1], 1); cnt += bit.sum(n) - bit.sum(ind[b[i] - 1] + 1); } cout << cnt << endl; }