#include <bits/stdc++.h>
using namespace std;
template <class _T>
inline _T sqr(const _T& x) {
  return x * x;
}
template <class _T>
inline string tostr(const _T& a) {
  ostringstream os("");
  os << a;
  return os.str();
}
template <class _T>
inline istream& operator<<(istream& is, const _T& a) {
  is.putback(a);
  return is;
}
const long double PI = 3.1415926535897932384626433832795;
const long double EPS = 1e-6;
int n;
int permu1[200010], permu2[200010];
int pos[200010];
int main() {
  cin >> n;
  for (int i = 0; i < (int)(n); i++) {
    cin >> permu1[i];
  }
  for (int i = 0; i < (int)(n); i++) {
    cin >> permu2[i];
    pos[permu2[i]] = i;
  }
  if (equal(permu1, permu1 + n, permu2)) {
    cout << 0 << endl;
    return 0;
  }
  for (int i = 0; i < (int)(n - 1); i++) {
    if (pos[permu1[i]] > pos[permu1[i + 1]]) {
      cout << n - i - 1 << endl;
      break;
    }
  }
  return 0;
}
