#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define FOR(i , a , b) for(int i = a ; i <= b; i++)
#define FAST ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define maxn 200005
int a[maxn] , b[maxn] , dp[maxn][2];
int main(){
FAST;
int n , m;
cin >> n >> m;
FOR(i , 1 , n) cin >> a[i];
FOR(i ,1 , m) cin >> b[i];
FOR(i , 1 , n){
int best_less = 0;
int best_greater = 0;
FOR(j , 1 , m){
if(b[j] < a[i]){
if(best_less < dp[j][1]) best_less = dp[j][1];
}
else if(b[j] > a[i]){
if(best_greater < dp[j][0]) best_greater = dp[j][0];
}
else{
if(dp[j][0] < 1) dp[j][0] = 1;
if(dp[j][1] < 1) dp[j][1] = 1;
if(best_less > 0) dp[j][0] = max(dp[j][0] , best_less + 1);
if(best_greater > 0) dp[j][1] = max(dp[j][1] , best_greater + 1);
}
}
}
int ans = 0;
FOR(i , 1 , m) ans = max({ans , dp[i][0] , dp[i][1]});
if(ans < 3) cout << 0;
else cout << ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBGT1IoaSAsIGEgLCBiKSBmb3IoaW50IGkgPSBhIDsgaSA8PSBiOyBpKyspCiNkZWZpbmUgRkFTVCBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKI2RlZmluZSBtYXhuIDIwMDAwNQoKaW50IGFbbWF4bl0gLCBiW21heG5dICwgZHBbbWF4bl1bMl07CgppbnQgbWFpbigpewogICAgRkFTVDsKICAgIGludCBuICwgbTsKICAgIGNpbiA+PiBuID4+IG07CiAgICBGT1IoaSAsIDEgLCBuKSBjaW4gPj4gYVtpXTsKICAgIEZPUihpICAsMSAsIG0pIGNpbiA+PiBiW2ldOwoKICAgIEZPUihpICwgMSAsIG4pewogICAgICAgIGludCBiZXN0X2xlc3MgPSAwOwogICAgICAgIGludCBiZXN0X2dyZWF0ZXIgPSAwOwogICAgICAgIEZPUihqICwgMSAsIG0pewogICAgICAgICAgICBpZihiW2pdIDwgYVtpXSl7CiAgICAgICAgICAgICAgICBpZihiZXN0X2xlc3MgPCBkcFtqXVsxXSkgYmVzdF9sZXNzID0gZHBbal1bMV07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGVsc2UgaWYoYltqXSA+IGFbaV0pewogICAgICAgICAgICAgICAgaWYoYmVzdF9ncmVhdGVyIDwgZHBbal1bMF0pIGJlc3RfZ3JlYXRlciA9IGRwW2pdWzBdOwogICAgICAgICAgICB9CgogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgaWYoZHBbal1bMF0gPCAxKSBkcFtqXVswXSA9IDE7CiAgICAgICAgICAgICAgICBpZihkcFtqXVsxXSA8IDEpIGRwW2pdWzFdID0gMTsKICAgICAgICAgICAgICAgIGlmKGJlc3RfbGVzcyA+IDApIGRwW2pdWzBdID0gbWF4KGRwW2pdWzBdICwgYmVzdF9sZXNzICsgMSk7CiAgICAgICAgICAgICAgICBpZihiZXN0X2dyZWF0ZXIgPiAwKSBkcFtqXVsxXSA9IG1heChkcFtqXVsxXSAsIGJlc3RfZ3JlYXRlciArIDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGludCBhbnMgPSAwOwogICAgRk9SKGkgLCAxICwgbSkgYW5zID0gbWF4KHthbnMgLCBkcFtpXVswXSAsIGRwW2ldWzFdfSk7CiAgICBpZihhbnMgPCAzKSBjb3V0IDw8IDA7CiAgICBlbHNlIGNvdXQgPDwgYW5zOwp9