#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
template<typename T>
void print(vector<T> &arr){
for(auto &a : arr){
cout << a << " ";
}
cout << endl;
}
int main() {
//freopen("in1.txt", "r", stdin);
int n;
while(cin >> n){
vector<int> a(n, 0), b(n, 0);
for(auto &e : a) scanf("%d", &e); //cin >> e;
for(auto &e : b) scanf("%d", &e); //cin >> e;
map<int, int> mp;
for(int i = 0; i < n;i++){
mp[b[i]] = i;
}
int cnt = 0;
for(int i = 0; i < n; i++){
a[i] = mp[a[i]];
}
vector<int> dp(1, INT_MIN);
for(auto n : a){
if(dp.back() < n){
dp.push_back(n);
} else {
int pos = lower_bound(dp.begin(), dp.end(), n) - dp.begin();
dp[pos] = n;
}
}
printf("%d\n", n - (dp.size() - 1));
}
return 0;
}