#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
const int MOD = 1e9 + 7;
const int INF = 0x3f3f3f3f;
vector<char> t;
int main(void) {
  int n, ans1 = 0, ans2 = 0;
  cin >> n;
  string s1, s2;
  cin >> s1 >> s2;
  for (char ch : s2) t.push_back(ch);
  sort(t.begin(), t.end());
  for (auto ch : s1) {
    auto pos = lower_bound(t.begin(), t.end(), ch);
    if (pos == t.end()) {
      t.erase(t.begin());
      ans1++;
    } else
      t.erase(pos);
  }
  cout << ans1 << endl;
  for (char ch : s2) t.push_back(ch);
  sort(t.begin(), t.end());
  for (char ch : s1) {
    auto pos = upper_bound(t.begin(), t.end(), ch);
    if (pos == t.end()) {
      t.erase(t.begin());
    } else
      t.erase(pos), ans2++;
  }
  cout << ans2 << endl;
  return 0;
}
void bef0re_submit() {
  puts("Make sure the algorithm is right!");
  puts("LONG LONG!!!");
  puts("Check n and m are misuesd???");
  puts("Make sure output format is right/// Yes??YES  (%.20LF)???");
  puts("if all meet,run with special situation!!!");
  puts("I confirm that I have done all above");
}
