#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:1000000000")
int main() {
  int n;
  cin >> n;
  vector<int> v1(n), v2(n);
  for (int i = 0; i < n; ++i) {
    char x;
    cin >> x;
    v1[i] = x - '0';
  }
  for (int i = 0; i < n; ++i) {
    char x;
    cin >> x;
    v2[i] = x - '0';
  }
  sort(v1.begin(), v1.end());
  sort(v2.begin(), v2.end());
  int cur1 = 0;
  multiset<int> sf(v1.begin(), v1.end());
  multiset<int> ss(v2.begin(), v2.end());
  while ((sf.empty() == 0) && (ss.empty() == 0)) {
    int v1num = *(sf.begin());
    auto ps = ss.lower_bound(v1num);
    if (ps == ss.end()) break;
    ++cur1;
    sf.erase(sf.begin());
    ss.erase(ps);
  }
  int minSh = 1e9;
  for (int i = 0; i < n; ++i) minSh = min(minSh, v1[i]);
  int cur2 = 0;
  multiset<int> s1(v1.begin(), v1.end());
  multiset<int> s2(v2.begin(), v2.end());
  while ((s1.empty() == 0) && (s2.empty() == 0)) {
    int v1num = *(s1.begin());
    auto ps = s2.upper_bound(v1num);
    if (ps == s2.end()) break;
    ++cur2;
    s1.erase(s1.begin());
    s2.erase(ps);
  }
  cout << n - cur1 << " " << cur2;
}
