#include <bits/stdc++.h> using namespace std; int n; int t; string str; vector <string> a; int main() { cin >> n; a.resize(n); for(int i=0;i<n;i++) { cin >> a[i]; reverse(a[i].begin(),a[i].end()); } cin >> str; reverse(str.begin(),str.end()); string ans; while(true){ bool flag=false; for(int i=0;i<n;i++) { string s=a[i]; while(s.size() && s.back()!=str.back()) { ans+=s.back(); s.pop_back(); } if(s.size()) { flag=true; } a[i]=s; } if(flag) { ans+=str.back(); for(int i=0;i<n;i++) { string s=a[i]; if(s.size() && s.back()==str.back()) { s.pop_back(); } a[i]=s; } str.pop_back(); if(str.size() == 0) { cout << "NO\n"; return 0; } } else break; } cout << "YES\n" << ans; }