#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int t;
  t = 1;
  while (t--) {
    long long int n, m;
    cin >> n >> m;
    long long int arr[n];
    string arr2[m];
    for (long long int i = 0; i < n; i++) {
      cin >> arr[i];
    }
    map<string, int> mp;
    for (long long int i = 0; i < m; i++) {
      cin >> arr2[i];
      if (mp.find(arr2[i]) != mp.end()) {
        std::map<string, int>::iterator it = mp.find(arr2[i]);
        it->second++;
      } else {
        mp.insert({arr2[i], 1});
      }
    }
    sort(arr, arr + n);
    vector<long long int> freq;
    for (auto &it : mp) {
      freq.push_back(it.second);
    }
    sort(freq.begin(), freq.end(), greater<long long int>());
    long long int ans = 0;
    long long int ans2 = 0;
    for (long long int i = 0; i < freq.size(); i++) {
      ans += freq[i] * arr[i];
      ans2 += freq[i] * arr[n - i - 1];
    }
    cout << ans << " " << ans2 << endl;
  }
}
