#include <cstdio>
#include <queue>
using namespace std;
typedef long long int L;
int main(void){
priority_queue<L>pq;
int i,n;
L x,y,ans=0,trash;
scanf("%d%lld",&n,&trash);
for(i=0;i<n;i++){scanf("%lld",&x);pq.push(-x);}
for(i=1;i<n;i++){
x=pq.top();pq.pop();
y=pq.top();pq.pop();
ans-=x+y;
pq.push(x+y);
}
printf("%lld\n",ans);
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPHF1ZXVlPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgaW50IEw7CgppbnQgbWFpbih2b2lkKXsKICAKICBwcmlvcml0eV9xdWV1ZTxMPnBxOwogIAogIGludCBpLG47CiAgTCB4LHksYW5zPTAsdHJhc2g7CiAgCiAgc2NhbmYoIiVkJWxsZCIsJm4sJnRyYXNoKTsKICBmb3IoaT0wO2k8bjtpKyspe3NjYW5mKCIlbGxkIiwmeCk7cHEucHVzaCgteCk7fQogIGZvcihpPTE7aTxuO2krKyl7CiAgICAgIHg9cHEudG9wKCk7cHEucG9wKCk7CiAgICAgIHk9cHEudG9wKCk7cHEucG9wKCk7CiAgICAgIGFucy09eCt5OwogICAgICBwcS5wdXNoKHgreSk7CiAgIH0KICAgcHJpbnRmKCIlbGxkXG4iLGFucyk7CiAgIHJldHVybiAwOwp9Cg==