func_code_string: #include <bits/stdc++.h>   using namespace std;   int n;   int a[28 * 2];   bitset<1250005> bleh[28][28 * 2];   int sm;   vector<int> in[2];   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cin >> n;     for (int i = 0; i < (signed)(n); i++) {       cin >> a[i];       sm += a[i];     }     for (int i = 0; i < (signed)(n); i++) {       cin >> a[i + n];       sm += a[i + n];     }     sort(a, a + 2 * n);     bleh[0][1][0] = true;     for (int i = (2); i <= (signed)(2 * n - 1); i++) {       bleh[0][i] = bleh[0][i - 1];       for (int j = (n - 1); j >= 1; j--) {         bleh[j][i] = bleh[j][i - 1] | (bleh[j - 1][i - 1] << a[i]);         for (int k = (0); k <= (signed)(400); k++) {           if (bleh[j][i][k]) {           }         }       }     }     int tot = sm - a[0] - a[1];     int wtmoo = tot / 2;     while (!bleh[n - 1][2 * n - 1][wtmoo]) {       --wtmoo;     }     int cur = wtmoo;     int cnt = n - 1;     for (int i = (2 * n - 2); i >= 1; i--) {       if (bleh[cnt][i][cur]) {         in[0].push_back(a[i + 1]);       } else {         in[1].push_back(a[i + 1]);         --cnt;         cur -= a[i + 1];       }     }     in[0].push_back(a[0]);     in[1].push_back(a[1]);     sort(in[0].begin(), in[0].end());     sort(in[1].begin(), in[1].end(), greater<int>());     for (int i = 0; i < (signed)(2); i++) {       for (int j = 0; j < (signed)(n); j++) {         cout << in[i][j] <<    ;       }       cout <<   n ;     }     return 0;   }   