#include<bits/stdc++.h>
using namespace std;
#define int long long
const int MAXN=100001;
int n,a[MAXN],b[MAXN],dp[2][MAXN],ans;
signed main(){
scanf("%lld",&n);
for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
for(int i=1;i<=n;i++) scanf("%lld",&b[i]);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
if(a[i]==b[j]) dp[1][j]=dp[0][j-1]+1;
else dp[1][j]=max(dp[0][j],dp[1][j-1]);
memcpy(dp[0],dp[1],(n+1)*4);
}
printf("%lld\n",dp[1][n]);
return 0;
}