#include <bits/stdc++.h>
using namespace std;
#pragma warning(disable : 4996)
const int MAXN = 77777;
vector<vector<int>> g(MAXN);
vector<int> cnt(MAXN);
string ans;
void dfs(int v) {
  while (!g[v].empty()) {
    int st = g[v].back();
    g[v].pop_back();
    dfs(st);
  }
  ans += (v % 256);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int n, start, res = 0;
  string s;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> s;
    int first = s[0] * 256 + s[1];
    int second = s[1] * 256 + s[2];
    start = first;
    g[first].push_back(second);
    cnt[first]++;
    cnt[second]--;
  }
  for (int i = 0; i < MAXN; i++) {
    if (cnt[i] >= 1) {
      res++;
      start = i;
    }
  }
  if (cnt[start] > 1 || res > 1) {
    cout << "NO";
    return 0;
  }
  dfs(start);
  ans += (start / 256);
  if (ans.size() == n + 2) {
    reverse(ans.begin(), ans.end());
    cout << "YES\n";
    cout << ans;
  } else {
    cout << "NO";
  }
}
