#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;
}
