#include "iostream"
#include "string"
#include "cstdio"
#include "vector"
#include "map"
#include "algorithm"
using namespace std;
int cmp(pair<string, int > a,pair<string, int > b)
{
return a.second>b.second;
}
int main()
{
int n,m;
while (cin>>n>>m)
{
map<string, int > ma;
string t;
int price[ 1000 ]={ 0 };
for ( int i= 0 ;i<n;++i)
cin>>price[i];
sort(price,price+n);
for ( int i= 0 ;i<m;++i)
{
cin>>t;
ma[t]++;
}
vector<pair<string, int > >v(ma.begin(),ma.end());
sort(v.begin(),v.end(),cmp);
int mx= 0 ,mn= 0 ;
int size=v.size();
for ( int i= 0 ;i<size;++i)
mn+=price[i]*v[i].second;
int k= 0 ;
for ( int i=n- 1 ;i>=n-size;--i)
mx+=price[i]*v[k++].second;
cout<<mn<< " " <<mx<<endl;
}
}