#include <bits/stdc++.h> using namespace std; int main() { int m,n; cin>>m>>n; string s1,s2; cin>>s1>>s2; vector<vector<int>>dp(m+1,vector<int>(n+1,0)); for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ if(s1[i]==s2[j]){ dp[i+1][j+1]=dp[i][j]+1; } else{ dp[i+1][j+1]=max(dp[i][j+1],dp[i+1][j]); } } } cout<<dp[m][n]; } // 64 位输出请用 printf("%lld")