#include<bits/stdc++.h>
using namespace std;
long long a[10001],sum,i,j,k,n,b,s;//a[]桶排用,sum体力,ijk循环,n表示有n堆,s存储合并后这堆有几个
int main()
{
cin>>n;
for(i=0;i<n;i++)
{
cin>>b;//b临时存储第i堆有几个果子
a[b]++;//桶排基操
}
for(i=0;i<n;i++)//n-1次操作即可完成
{
for(j=0;j<=10001;j++)
{
if(a[j]==0)j++;//要是没有哪堆数量是这么多就pass
a[j]--;//数量相等的-1堆
s+=j;//加上第j堆的数量
for(k=j;k<=10001;k++)//考虑有数量相等的情况,从j(j之前搜过了)开始
{
if(a[k]==0)k++;
a[k]--;
s+=k;
break;
}
break;
}
sum+=s;
a[s]++;//合并两堆果子,数量等于这个值的堆数量加一
//cout<<i<<" "<<sum<<" "<<s<<endl;//测试用的
s=0;
}
cout<<sum;
return 0;
}