#include <bits/stdc++.h>
using namespace std;
bool cmp(int a, int b) { return (a > b); }
int main() {
  int m, n, i, j, x, min, max;
  int a[10000], c[10000] = {0};
  string s[1000];
  cin >> m >> n;
  for (i = 0; i < m; i++) cin >> a[i];
  for (i = 0; i < n; i++) cin >> s[i];
  map<string, int> mp;
  x = 0;
  for (i = 0; i < n; i++) {
    if (mp.find(s[i]) == mp.end()) {
      mp.insert(pair<string, int>(s[i], x++));
    }
  }
  for (i = 0; i < n; i++) {
    c[mp[s[i]]]++;
  }
  sort(a, a + m);
  min = 0;
  max = 0;
  j = 0;
  sort(c, c + x, cmp);
  for (i = 0; i < x; i++) {
    min = min + c[i] * a[j++];
  }
  j = 0;
  sort(a, a + m, cmp);
  for (i = 0; i < x; i++) {
    max = max + c[i] * a[j++];
  }
  cout << min << " " << max << endl;
  return 0;
}
