#include <bits/stdc++.h>
using namespace std;
const int N = 1000010, M = 200010, mod = 998244353;
long long qmi(long long, long long);
long long read();
long long gcd(long long, long long);
int n, m;
char s1[N], s2[N];
int a[10];
long long sum[N];
int main() {
  int n;
  cin >> n;
  cin >> s1 + 1 >> s2 + 1;
  for (int i = 1; i <= n; i++) a[s2[i] - '0']++;
  int count = 0;
  for (int i = 1; i <= n; i++) {
    int f = 0;
    for (int j = s1[i] - '0'; j <= 9; j++) {
      if (a[j]) {
        a[j]--;
        f = 1;
        break;
      }
    }
    if (!f) {
      for (int j = 0; j <= 9; j++)
        if (a[j]) {
          a[j]--;
          count++;
          break;
        }
    }
  }
  cout << count << endl;
  memset(a, 0, sizeof a);
  for (int i = 1; i <= n; i++) a[s2[i] - '0']++;
  count = 0;
  for (int i = 1; i <= n; i++) {
    int f = 0;
    for (int j = s1[i] - '0' + 1; j <= 9; j++) {
      if (a[j]) {
        a[j]--;
        f = 1;
        count++;
        break;
      }
    }
    if (!f) {
      for (int j = 0; j <= 9; j++)
        if (a[j]) {
          a[j]--;
          break;
        }
    }
  }
  cout << count;
  return 0;
}
long long qmi(long long a, long long b) {
  long long res = 1;
  a %= mod;
  for (; b; b >>= 1) {
    if (b & 1) res = res * a % mod;
    a = a * a % mod;
  }
  return res;
}
inline long long read() {
  long long s = 0, w = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') w = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') s = s * 10 + ch - '0', ch = getchar();
  return s * w;
}
long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); }
