#include using namespace std; typedef long double ld; typedef long long ll; typedef pair ii; typedef pair dd; typedef vector vi; typedef vector vll; typedef vector> vvi; typedef vector vii; map M; int main(){ M['A'] = 0; M['C'] = 1; M['G'] = 2; M['T'] = 3; vvi T(4, vi(4, 0)); ios::sync_with_stdio(false); string s1, s2; cin >> s1 >> s2; int N = s1.length(); for(int i = 0; i < N; ++i) T[M[s1[i]]][M[s2[i]]]++; int res = 0; int z = 0; while(true) { // for(int i = 0; i < 4; ++i) { // for(int j = 0; j < 4; ++j) { // cout << T[i][j] << " "; // } // cout << endl; // } // cout << endl; for(int i = 0; i < 4; ++i) T[i][i] = 0; for(int i = 0; i < 4; ++i) for (int j = i+1; j < 4; ++j) { int x = min(T[i][j], T[j][i]); res += x; T[i][j] -=x; T[j][i] -= x; } for(int i = 0; i < 4; ++i) { int nonzero = 0; for(int j = 0; j < 4; ++j) if (T[i][j] > 0) nonzero++; if (nonzero == 1) { int k; for(int j = 0; j < 4; ++j) if (T[i][j] > 0) k = j; for(int j = 0; j < 4; ++j) { int s = min(T[i][k], T[k][j]); T[i][k] -= s; res += s; T[i][j] += s; T[k][j] -= s; } break; } } int s = 0; for(int i = 0; i < 4; ++i) for(int j = 0; j < 4; ++j) s += T[i][j]; if (s == 0) break; } cout << res << endl; }