#include using namespace std; using ll = long long; template T smax(T & x, T y) { if (x < y) { x = y; return true; } return false; } template T smin(T & x, T y) { if (x > y) { x = y; return true; } return false; } int check(int n, int x, int y) { vector a(n); vector b(n); for (int i = 0; i < n; ++i) { a[i] = x % 3; b[i] = y % 3; x /= 3; y /= 3; } int ans = 0; for (int i = 0; i < n - 1; ++i) { if (a[i] == 0 && a[i + 1] == 1 && b[i + 1] == 2) { ans++; } } return ans; } void solveSlow() { int n; cin >> n; int pow = 1; for (int i = 0; i < n; ++i) { pow *= 3; } vector> a(pow, vector(pow)); for (int x = 0; x < pow; ++x) { for (int y = 0; y < pow; ++y) { a[x][y] = check(n, x, y); } } vector> dp(n, vector(pow, 0)); for (int i = 1; i < n; ++i) { for (int x = 0; x < pow; ++x) { for (int y = 0; y < pow; ++y) { smax(dp[i][y], dp[i - 1][x] + a[x][y]); } } } int mx = 0; for (int i = 0; i < pow; ++i) { smax(mx, dp[n - 1][i]); } cout << mx << endl; } void solve() { int n; cin >> n; vector a(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } sort(a.begin(), a.end()); ll ans = 0; for (int i = 0; i < n / 3; ++i) { ans += a[n - 2 - i * 2]; } cout << ans << "\n"; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t = 1; // cin >> t; cout << fixed << setprecision(14); while (t--) { solve(); } // cerr << clock() * 1.0 / CLOCKS_PER_SEC << "\n"; return 0; }