#include #ifndef ONLINE_JUDGE #define gc getchar #define pc putchar #else #define gc getchar_unlocked #define pc putchar_unlocked #endif using namespace std; #define vi vector #define vll vector #define si set #define vs vector #define pii pair #define vpi vector #define pri priority_queue #define rev_pri priority_queue,greater > #define mpi map #define i64 long long int #define endl '\n' #define pi acos(-1) #define all(v) v.begin(),v.end() #define pb push_back #define mp make_pair #define mod 1000000007 #define For(i,n) for(int i=0;i33){*a=*a*10+c-'0';c=gc();}} //inline void fastWrite(int a){char snum[20];int i=0;do{snum[i++]=a%10+48;a=a/10;}while(a!=0);i=i-1;while(i>=0)pc(snum[i--]);pc('\n');} //i64 bigmod(i64 num,i64 n){if(n==0)return 1;i64 x=bigmod(num,n/2);x=x*x%mod;if(n%2==1)x=x*num%mod;return x;} //i64 modinverse(i64 num){return bigmod(num,mod-2)%mod;} //void combination(int pos,int last){if(pos==k+1){for(int i=1;i<=k;i++)cout << tem[i];cout << endl;return;} //for(int i=last+1;i<=n-k+pos;i++){tem[pos] = num[i-1];combination(pos+1,i);}} i64 po(i64 a,i64 b){i64 ans=1;while(b--)ans *= a;return ans;} //i64 ncr(i64 n,i64 r){if(n==r)return 1;if(r==1)return n;if(dp[n][r]!=-1)return dp[n][r];return dp[n][r]=ncr(n-1,r)+ncr(n-1,r-1);} //int popcount(i64 num){bitset<70> tem(num);return tem.count();} //matrix rot(matrix a){matrix res;res.row = a.col;res.col = a.row;For(i,a.row)For(j,a.col)res.mat[j][a.row-i-1] = a.mat[i][j];return res;} int main() { //ios_base::sync_with_stdio(false);cin.tie(0); int n,inp; vi v; sf(n); while(n--) { sf(inp); v.pb(inp); } sort(all(v)); reverse(all(v)); i64 ans = 0; For(i,v.sz) ans += po(2,i) * (i64)v[i]; cout << ans << endl; return 0; }