#include <iostream>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
int main() {
int length;
int test[2][500];
memset(test,0,sizeof test);
int val[2][500];
string s1,s2;
cin>>length;
cin>>s1;
cin>>s2;
val[0][0]=s1[0]==s2[0]?1:0;
for(int i=0;i<s1.size();i++)
{
for(int j=0;j<s2.size();j++)
{
if(s1[i]==s2[j]){
if(i==0 || j==0){
val[i%2][j]=0;
}
else{
test[i%2][j]=test[(i-1)%2][j-1]+1;
if(test[i%2][j]==length)
val[i%2][j]=val[(i-1)%2][j-1]+length;
else if(test[i%2][j]>length)
val[i%2][j]=val[(i-1)%2][j-1]+1;
else val[i%2][j]=val[(i-1)%2][j];
}
}
else{
if(i==0 && j==0)
val[i][j]=0;
else if(i==0)
val[i][j]=val[i][j-1];
else if(j==0)
val[i%2][j]=val[(i-1)%2][j];
else
val[i%2][j]=max(val[(i-1)%2][j],val[i%2][j-1]);
}
}
}
cout<<val[(s1.size()-1)%2][s2.size()-1];
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxhbGdvcml0aG0+CiNpbmNsdWRlPHN0cmluZz4KI2luY2x1ZGU8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAppbnQgbWFpbigpIHsKCWludCBsZW5ndGg7CglpbnQgdGVzdFsyXVs1MDBdOwoJbWVtc2V0KHRlc3QsMCxzaXplb2YgdGVzdCk7CglpbnQgdmFsWzJdWzUwMF07CglzdHJpbmcgczEsczI7IAoJY2luPj5sZW5ndGg7CgljaW4+PnMxOwoJY2luPj5zMjsKCXZhbFswXVswXT1zMVswXT09czJbMF0/MTowOwoJZm9yKGludCBpPTA7aTxzMS5zaXplKCk7aSsrKQoJewoJCWZvcihpbnQgaj0wO2o8czIuc2l6ZSgpO2orKykKCQl7CgkJCWlmKHMxW2ldPT1zMltqXSl7CgkJCQlpZihpPT0wIHx8IGo9PTApewoJCQkJCXZhbFtpJTJdW2pdPTA7CgkJCQl9CgkJCQllbHNlewoJCQkJCXRlc3RbaSUyXVtqXT10ZXN0WyhpLTEpJTJdW2otMV0rMTsKCQkJCQlpZih0ZXN0W2klMl1bal09PWxlbmd0aCkKCQkJCQl2YWxbaSUyXVtqXT12YWxbKGktMSklMl1bai0xXStsZW5ndGg7CgkJCQkJZWxzZSBpZih0ZXN0W2klMl1bal0+bGVuZ3RoKQoJCQkJCXZhbFtpJTJdW2pdPXZhbFsoaS0xKSUyXVtqLTFdKzE7CgkJCQkJZWxzZSB2YWxbaSUyXVtqXT12YWxbKGktMSklMl1bal07CgkJCQl9CiAKIAoJCQl9CgkJCWVsc2V7CgkJCQlpZihpPT0wICYmIGo9PTApCgkJCQl2YWxbaV1bal09MDsKCQkJCWVsc2UgaWYoaT09MCkKCQkJCXZhbFtpXVtqXT12YWxbaV1bai0xXTsKCQkJCWVsc2UgaWYoaj09MCkKCQkJCXZhbFtpJTJdW2pdPXZhbFsoaS0xKSUyXVtqXTsKCQkJCWVsc2UKCQkJICAgIHZhbFtpJTJdW2pdPW1heCh2YWxbKGktMSklMl1bal0sdmFsW2klMl1bai0xXSk7CgkJCX0KCQl9Cgl9Cgljb3V0PDx2YWxbKHMxLnNpemUoKS0xKSUyXVtzMi5zaXplKCktMV07CglyZXR1cm4gMDsKfQ==