//#pragma GCC optimize("O3") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx") //#define __USE_MINGW_ANSI_STDIO 0 #include #define TASK "triangle" #define pb push_back #define fi first #define se second using namespace std; #ifdef LOCAL #define eprintf(...) fprintf(stderr, __VA_ARGS__) #else #define eprintf(...) (void)42 #endif // every true-boy doesn't read statement! typedef long long ll; typedef vector < ll > vi; typedef long double ld; const int MAXN = (int)4e5 + 22; int n; vector < ll > gg; void solve() { cin >> n; gg.resize(n); for (int i = 0; i < n; i++) cin >> gg[i]; sort(gg.begin(), gg.end()); reverse(gg.begin(), gg.end()); ll ans = 0; for (int i = 0; i < n; i++) ans += (gg[i] * (1LL << i)); cout << ans; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); #ifdef LOCAL assert(freopen("xxx.in", "r", stdin)); assert(freopen("xxx.out", "w", stdout)); #else //assert(freopen(TASK".in", "r", stdin)); //assert(freopen(TASK".out", "w", stdout)); #endif solve(); return 0; }