func_code_string: #include <bits/stdc++.h>   const double pi = acos(-1.0);   const int max_n = 1e5 + 5;   template <class Q>   void getint(Q &res, char ch = getchar()) {     while (!isdigit(ch) && ch !=  - ) ch = getchar();     bool flag = true;     if ( -  == ch) flag = false, ch = getchar();     for (res = 0; isdigit(ch); ch = getchar()) res = res * 10 + ch - 48;     if (!flag) res = -res;   }   void putint(int x) {     int i = 0, a[10];     bool flag = true;     if (x < 0) {       flag = false;       x = -x;     } else if (x == 0) {       a[i++] = 0;     }     while (x > 0) {       a[i++] = x % 10;       x /= 10;     }     if (flag == false) putchar( - );     for (int j = i - 1; j >= 0; --j) putchar(a[i] + 48);   }   int mmax(int a, int b) { return a > b ? a : b; }   int mmin(int a, int b) { return a < b ? a : b; }   int gcd(int a, int b) {     while (b) {       b ^= a ^= b ^= a %= b;     }     return a;   }   int n;   char s[1005], t[1005];   int a[10], b[10];   int main() {     std::cin >> n;     std::cin >> s >> t;     for (int i = 0; i < n; ++i) {       a[t[i] -  0 ]++;       b[t[i] -  0 ]++;     }     int ans1 = 0, ans2 = 0;     for (int i = 0; i < n; ++i) {       int f = 0;       for (int j = s[i] -  0 ; j <= 9; ++j) {         if (a[j] > 0) {           a[j]--;           f = 1;           break;         }       }       if (f == 0) ans1++;       for (int j = s[i] -  0  + 1; j <= 9; ++j) {         if (b[j] > 0) {           b[j]--;           ans2++;           break;         }       }     }     std::cout << ans1 << std::endl << ans2;     return 0;   }   