#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;
}
