#include <bits/stdc++.h>
using namespace std;
int n, m, a[105], b[105];
int dp[105], kq = 0;
int main()
{
cin >> n >> m;
for(int i = 1; i <= n; i++)cin >> a[i];
for(int i = 1; i <= m; i++)cin >> b[i];
for(int i = 1; i <= n; i++){
int d = 0;
for(int j = 1; j <= m; j++){
if(a[i] == b[j]){dp[j] = max(dp[j], d+1);kq = max(kq, dp[j]);}
else if(b[j] < a[i])d = max(dp[j], d);
}
}
cout << kq;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbiwgbSwgYVsxMDVdLCBiWzEwNV07CmludCBkcFsxMDVdLCBrcSA9IDA7CmludCBtYWluKCkKewogICAgY2luID4+IG4gPj4gbTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKWNpbiA+PiBhW2ldOwogICAgZm9yKGludCBpID0gMTsgaSA8PSBtOyBpKyspY2luID4+IGJbaV07CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKyl7CiAgICAgICAgaW50IGQgPSAwOwogICAgICAgIGZvcihpbnQgaiA9IDE7IGogPD0gbTsgaisrKXsKICAgICAgICAgICAgaWYoYVtpXSA9PSBiW2pdKXtkcFtqXSA9IG1heChkcFtqXSwgZCsxKTtrcSA9IG1heChrcSwgZHBbal0pO30KICAgICAgICAgICAgZWxzZSBpZihiW2pdIDwgYVtpXSlkID0gbWF4KGRwW2pdLCBkKTsKICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8IGtxOwogICAgcmV0dXJuIDA7Cn0KIA==