#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;

    }

}