#include #define FORE(i, c) for (const auto& i : (c)) #define FOR(i, j, k) for (int i = (j); i < (k); ++i) #define REP(i, j) FOR(i, 0, j) #define ALL(v) begin(v), end(v) #define mp make_pair #define pb push_back #define _1 first #define _2 second #define umap unordered_map #define uset unordered_set #define vec vector using namespace std; typedef long long ll; typedef vec vi; typedef vec vll; typedef pair pll; template inline void amin(T& x, U y) { if (y < x) x = y; } template inline void amax(T& x, U y) { if (y > x) x = y; } template inline bool in(const C& c, const V& v) { return c.find(v) != c.end(); } template inline bool in(const vec& v, const T& t) { return find(ALL(v), t) != end(v); } template inline T sq(T t) { return t * t; } int main() { int n; cin >> n; vll v(n); REP(i, n) cin >> v[i]; sort(ALL(v), greater()); ll ans = 0; REP(i, n) ans += (1LL << i) * v[i]; cout << ans << endl; return 0; }