func_code_string: #include <bits/stdc++.h>   using namespace std;   string s[10100];   string sep;   bool u[10100] = {false};   vector<string> str;   string make(pair<string, string> p) {     return ((p.first + sep + p.second) < (p.second + sep + p.first))                ? (p.first + sep + p.second)                : (p.second + sep + p.first);   }   int main() {     int n = 0, sumLeng = 0, len = 0;     cin >> n;     for (int i = 0; i < n; ++i) {       cin >> s[i];       sumLeng += s[i].length();     }     cin >> sep;     len = sumLeng / (n / 2);     sort(s, s + n);     for (int i = 0; i < n; ++i) {       if (u[i]) continue;       int leng = s[i].length();       for (int j = 0; j < n; ++j)         if (!u[j] && leng + s[j].length() == len && i != j) {           str.push_back(make(make_pair(s[i], s[j])));           u[i] = true;           u[j] = true;           break;         }     }     sort(str.begin(), str.end());     for (int i = 0; i < n / 2; ++i) cout << str[i] << endl;     return 0;   }   