#include <bits/stdc++.h>
using namespace std;
int main() {
// your code goes here
string sa = "abc", sb = "adc";
vector<vector<int>> dp(sa.size()+1, vector<int>(sb.size()+1));
for (int i=1;i<=sa.size();i++) {
for (int j=1;j<=sb.size();j++) {
if (sa[i-1] == sb[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[sa.size()][sb.size()]<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglzdHJpbmcgc2EgPSAiYWJjIiwgc2IgPSAiYWRjIjsKCXZlY3Rvcjx2ZWN0b3I8aW50Pj4gZHAoc2Euc2l6ZSgpKzEsIHZlY3RvcjxpbnQ+KHNiLnNpemUoKSsxKSk7CgoJZm9yIChpbnQgaT0xO2k8PXNhLnNpemUoKTtpKyspIHsKCQlmb3IgKGludCBqPTE7ajw9c2Iuc2l6ZSgpO2orKykgewoJCQlpZiAoc2FbaS0xXSA9PSBzYltqLTFdKSB7CgkJCQlkcFtpXVtqXSA9IGRwW2ktMV1bai0xXSArIDE7CgkJCX0gZWxzZSB7CgkJCQlkcFtpXVtqXSA9IG1heChkcFtpLTFdW2pdLCBkcFtpXVtqLTFdKTsKCQkJfQoJCX0KCX0KCWNvdXQ8PGRwW3NhLnNpemUoKV1bc2Iuc2l6ZSgpXTw8ZW5kbDsKCXJldHVybiAwOwp9