#include <bits/stdc++.h>
using namespace std;
int n;
int s1[100003],s2[100003];
int dp[100003][100003]={0};
int LCS(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(s1[i]==s2[j])dp[i][j]=dp[i-1][j-1]+1;
else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
}
}
return dp[n-1][n-1];
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>s1[i];
}
for(int i=0;i<n;i++){
cin>>s2[i];
}
cout<<LCS();
}