For this Question: You are given an integer array of size N such that 0 <= A[i] <= 9. You need to form two numbers by concatenating these digits. All digits of given array must be used to form the two numbers. Find the minimum possible sum of two numbers that you found.

Note: Your number can contain leading zeroes but the sum cannot.First line contains an integer N - the size of array 
Next line contains N space separated integers denoting elements of array.

Constraints
1 <= N <= 10^5
0 <= Ai<= 9Print the minimum sum that you obtain.Sample Input 1:
6
6 8 4 5 2 3

Output 
604

Explanation:
The minimum sum is formed by numbers 358 and 246
 
Sample Input 2:
5
5 3 0 7 4

Output 
82

Explanation
The minimum sum is formed by numbers 35 and 047., I have written this Solution Code: #include<bits/stdc++.h>
using namespace std;
#define endl            "\n"
#define ll				long long int
#define f(n) 			for(int i=0;i<n;i++)
#define fo(n)			for(int j=0;j<n;j++)
#define foo(n)			for(int i=1;i<=n;i++)
#define ff 				first
#define ss 				second
#define pb 				push_back
#define pii 			pair<int,int>
#define vi 				vector<int>
#define vp 				vector<pii>
#define test            int tt; cin>>tt; while(tt--)
#define mod 			1000000007
void fastio()
{
	ios_base::sync_with_stdio(0); cin.tie(0);
#ifndef ONLINE_JUDGE
	freopen("Input 1.txt", "r", stdin);
	freopen("Output 1.txt", "w", stdout);
#endif
}


int main() {
	fastio();
	int n;
	cin >> n;
	priority_queue<char, vector<char>, greater<char>>q;
	f(n) {
		char x;
		cin >> x;
		q.push(x);
	}
	string a, b;
	int s = 0;
	while (q.size()) {
		char c = q.top();
		q.pop();
		if (s == 0) {
			a.pb(c);
		}
		else {
			b.pb(c);
		}
		s ^= 1;
	}
	if ( a.size() - b.size() == 1) {
		b = '0' + b;
	}
	char ans[a.size() + 1];
	f(a.size() + 1)ans[i] = '0';
	int c = 0;
	for (int i = a.size() - 1; i >= 0; i--) {
		int z = a[i] - '0' + b[i] - '0' + c;
		ans[i + 1] = char('0' + z % 10);
		if (z >= 10)c = z / 10;
		else c = 0;
	}
	ans[0] = char('0' + c);
	bool g = true;
	for (int i = 0; i < a.size() + 1; i++) {
		if (ans[i] == '0' && g)continue;
		else {
			g = false;
			cout << ans[i];
		}
	}
	// if (g)cout << 0;

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