# HackerEarth Divide the digits problem solution

In this HackerEarth Divide, the digits problem solution You are given a number N.  You are required to form two numbers X and Y such that:
1. The sum of frequency of each digit in X and Y is equal to frequency of that digit in N.
2. The sum of numbers X and Y must be minimum.
Your task is to determine the minimum possible sum of X and Y.

## HackerEarth Divide the digits problem solution.

`#include<bits/stdc++.h>#define int long long intusing namespace std;void solve(){    int n;    cin >> n;    assert(10 <= n and n <= 2000000000000000000);    vector<int>dig;    while(n)    {        dig.push_back(n % 10);        n /= 10;    }    sort(dig.begin(), dig.end());    int sz = dig.size();    int first = 0;    int second = 0;    for(int i = 0 ; i < sz ; i++)    {        if(i % 2)        {            first = (first*10 + dig[i]);        }        else{            second = (second*10 + dig[i]);        }    }    cout << (first + second) << endl;}signed main(){    ios_base::sync_with_stdio(false);    cin.tie(NULL);    int t;    cin >> t;    assert(1 <= t and t <= 100000);    while(t--){        solve();    }}`

### Second solution

`t = int(input())while t > 0:    t -= 1    n = list(input())    n.sort()    print(int(''.join(n[::2])) + int(''.join(n[1::2])))`