// nuoyanli#include<algorithm>#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<map>#include<queue>#include<set>#include<stack>#include<vector>#define inf 0x3f3f3f3f#define lson l, mid, root << 1#define rson mid + 1, r, root << 1 | 1#define min(a, b) a > b ? b : a#define max(a, b) a < b ? b : a#define ll long longusingnamespace std;constint N =1e5+10;struct node {
ll x, y;} a[N];
ll pre[N];bool vis[N];boolcmp(node a, node b){if(a.x != b.x)return a.x < b.x;return a.y < b.y;}signedmain(){
ll n;scanf("%lld",&n);for(int i =1; i <= n;++i){scanf("%lld",&a[i].x);}for(int i =1; i <= n;++i){scanf("%lld",&a[i].y);
pre[a[i].y]= i;}
ll l =1, r =0, ans =0;for(int i =1; i <= n;++i){
r =max(r, pre[a[i].x]);for(int j = l; j < r;++j){
ans++;
vis[a[j].y]=1;}
l = r +1;}return!printf("%lld\n", ans);}