#include<bits/stdc++.h>
int n,a[6006],f[6006],ans,k;
int main(){
scanf("%d",&n);
for(int i=1;i<=2*n;scanf("%d",&a[i]),i++);
for(int i=1;i<=n;k=0,++i)
for(int j=n+1;j<=n*2;++j){
if(a[i]>a[j]&&k<f[j]) k=f[j];
if(a[i]==a[j]) f[j]=k+1;
}
ans=*std::max_element(f+n+1,f+2*n+1);
printf("%d\n",ans);
return 0;
}