func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long MOD = 1e9 + 7;   long long add(long long x, long long y, long long CMOD = MOD) {     return (x + y + CMOD + CMOD) % CMOD;   }   long long mult(long long x, long long y, long long CMOD = MOD) {     return add(x, 0) * add(y, 0) % CMOD;   }   long long fast_expo(long long x, long long y, long long CMOD = MOD) {     if (x == 0) return 0;     if (y == 0) return 1;     long long ans = fast_expo(x, y / 2, CMOD);     ans = mult(ans, ans, CMOD);     if (y & 1) ans = mult(ans, x, CMOD);     return ans;   }   mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());   long long gen(long long x, long long y) {     if (x == y) return x;     return x + rng() % (y - x + 1);   }   const int TAM = 1e5 + 100;   const long long INF = LLONG_MAX / 4;   int n;   int main() {     priority_queue<long long, vector<long long>, greater<long long> > pq;     scanf( %d , &n);     if (n % 2 == 0) pq.push(0);     for (int i = 0; i < n; i++) {       int x;       scanf( %d , &x);       pq.push(x);     }     long long ans = 0;     while (pq.size() > 1) {       long long x = 0;       for (int i = 0; i < 3; i++) {         x += pq.top();         pq.pop();       }       ans += x;       pq.push(x);     }     cout << ans << endl;     return 0;   }   