#include <bits/stdc++.h>   #pragma GCC optimize( Ofast )   #pragma GCC target( avx,avx2,fma )   #pragma comment(linker,  /stack:200000000 )   #pragma GCC optimize( unroll-loops )   using namespace std;   template <typename A>   ostream &operator<<(ostream &cout, vector<A> const &v);   template <typename A, typename B>   ostream &operator<<(ostream &cout, pair<A, B> const &p) {     return cout <<  (  << p.first <<  ,   << p.second <<  ) ;   }   template <typename A>   ostream &operator<<(ostream &cout, vector<A> const &v) {     cout <<  [ ;     for (int i = 0; i < v.size(); i++) {       if (i) cout <<  ,  ;       cout << v[i];     }     return cout <<  ] ;   }   template <typename A, typename B>   istream &operator>>(istream &cin, pair<A, B> &p) {     cin >> p.first;     return cin >> p.second;   }   const long long MAXN = 1e5 + 7;   void check() {     long long a[1000] = {0}, b[1000] = {0}, ans = 0;     string s1, s2;     cin >> s1 >> s2;     for (long long i = 0; i < s1.size(); i++) a[s1[i]]++, b[s2[i]]++;     for (long long i = 0; i < s1.size(); i++) {       if (s2[i] != s1[i]) {         if (a[s2[i]] < b[s2[i]]) {           ans++;           a[s2[i]]++;           a[s1[i]]--;           s1[i] = s2[i];         }       }     }     long long cnt = 0;     for (long long i = 0; i < s1.size(); i++) cnt += (s1[i] != s2[i]);     cnt /= 2;     cout << ans + cnt;   }   int32_t main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     int t = 1;     for (int i = 1; i <= t; i++) {       check();     }     return 0;   }   