For this Question: People prefer smartness over anything. You know N people and their smartness level. You need to place people in a circle one by one in any order. The happiness that a person gets is equal to the minimum smartness value of its clockwise neighbour and its anti-clockwise neighbour at the time when he enters the circle. You can ask the person to stand at any position of the circle that you like. The happiness of the first person to enter is 0 since he has no neighbours.

Find the maximum value of total happiness that can be achieved (sum of happiness of all the people).The first line of the input contains an integer N, the number of people you know.
The second line of the input contains N integers, the smartness of the N people that you know.

Constraints
2 <= N <= 200000
1 <= smartness of any person <= 10<sup>9</sup>Output a single integer the maximum value of total happiness.Sample Input
4
2 2 1 3

Sample Output
7

Explanation
We ask the persons to enter the circle in this particular order of smartness [3, 2, 2, 1].
Step 1: 
3

Happiness attained = 0

Step 2
3
2

Happiness attained = 3

Step 3
3
  2 
2

Happiness attained = 2

Step 4
  3
1   2
  2

Happiness attained = 2

Total Happiness = 0 + 3 + 2 + 2 = 7.

Sample Input
2
1 1

Sample Output
1, I have written this Solution Code: #include <bits/stdc++.h>
using namespace std;
#define sd(x) scanf("%d", &x)
#define sz(v) (int) v.size()
#define pr(v) For(i, 0, sz(v)) {cout<<v[i]<<" ";} cout<<endl;
#define slld(x) scanf("%lld", &x)
#define all(x) x.begin(), x.end()
#define For(i, st, en) for(ll i=st; i<en; i++)
#define tr(x) for(auto it=x.begin(); it!=x.end(); it++)
#define fast std::ios::sync_with_stdio(false);cin.tie(NULL);
#define pb push_back
#define ll long long
#define ld long double
#define int long long
#define double long double
#define mp make_pair
#define F first
#define S second
typedef pair<int, int> pii;
typedef vector<int> vi;
#define pi 3.141592653589793238
const int MOD = 1e9+7;
const int INF = 1LL<<60;


const int N = 2e5+5;

// it's swapnil07 ;)
 
#ifdef SWAPNIL07
#define trace(...) __f(#__VA_ARGS__, __VA_ARGS__)
template <typename Arg1>
void __f(const char* name, Arg1&& arg1){
    cout << name << " : " << arg1 << endl;
}
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args){
    const char* comma = strchr(names + 1, ',');cout.write(names, comma - names) << " : " << arg1<<" | ";__f(comma+1, args...);
}
int begtime = clock();
#define end_routine() cout << "\n\nTime elapsed: " << (clock() - begtime)*1000/CLOCKS_PER_SEC << " ms\n\n";
#else
#define endl '\n'
#define trace(...)
#define end_routine()
#endif


void solve(){
    int n; cin>>n;
    vector<int> a(n);
    For(i, 0, n){
        cin>>a[i];
    }
    sort(all(a));
    reverse(all(a));
    int ans = 0;
    ans += a[0];
    int cur = 2;
    For(i, 1, n){
        if(cur < n){
            cur++;
            ans += a[i];
        }
        if(cur < n){
            cur++;
            ans += a[i];
        }
    }
    cout<<ans;
}


signed main()
{
    fast
    #ifdef SWAPNIL07
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
    #endif
    int t=1; 
    // cin>>t;
    while(t--){
        solve();
        cout<<"\n";
    }
    return 0;
}

, In this Programming Language: C++, Now tell me if this Code is compilable or not?