#include #include using namespace std; int tomb[4][4]; int id(char c) { if(c == 'A') return 0; if(c == 'T') return 1; if(c == 'G') return 2; return 3; } int main() { ios::sync_with_stdio(false); string s1, s2; cin >> s1 >> s2; for(int i = 0; i < s1.size(); i++) { tomb[id(s1[i])][id(s2[i])]++; } int er = 0; for(int i = 0; i < 4; i++) { for(int j = i + 1; j < 4; j++) { int m = min(tomb[i][j], tomb[j][i]); er += m; tomb[i][j] -= m; tomb[j][i] -= m; } } for(int i = 0; i < 4; i++) { for(int j = i+1; j < 4; j++) { for(int k = j+1; k < 4; k++) { int m = min({tomb[i][j], tomb[j][k], tomb[k][i]}); er += 2 * m; tomb[i][j] -= m; tomb[j][k] -= m; tomb[k][i] -= m; } } } for(int j = 0; j < 4; j++) { for(int i = j+1; i < 4; i++) { for(int k = i+1; k < 4; k++) { int m = min({tomb[i][j], tomb[j][k], tomb[k][i]}); er += 2 * m; tomb[i][j] -= m; tomb[j][k] -= m; tomb[k][i] -= m; } } } int x = 0; for(int i = 0; i < 4; i++) { for(int j = i + 1; j < 4; j++) { x += tomb[i][j] + tomb[j][i]; } } er += x * 3 / 4; cout << er << "\n"; }