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