#include <bits/stdc++.h>
using namespace std;
int n, m, a[100010];
map<string, int> mp;
int tot, cnt[100010];
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  sort(a + 1, a + n + 1);
  char f[110];
  string s;
  for (int i = 1; i <= m; i++) {
    scanf("%s", f);
    s = f;
    if (!mp[s]) mp[s] = ++tot;
    ++cnt[mp[s]];
  }
  sort(cnt + 1, cnt + tot + 1);
  int minans = 0, maxans = 0;
  for (int i = tot, j = 1; i >= 1; i--, j++) {
    minans += cnt[i] * a[j];
    maxans += cnt[i] * a[n - j + 1];
  }
  printf("%d %d\n", minans, maxans);
  return 0;
}
