#include #include #include #include using namespace std; int main() { string s1, s2; while (getline(cin, s1) && getline(cin, s2)) { int n = s1.size(), m = s2.size(); vector> dp(n + 1, vector(m + 1)); for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (s1[i - 1] == s2[j - 1]) { dp[i][j] = dp[i - 1][j - 1] + 1; } else { dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]); } } } cout << dp[n][m] << '\n'; } return 0; }