#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++) { while(a[i].size() && a[i].back()!=str.back()) { ans+=a[i].back(); a[i].pop_back(); } if(a[i].size()) { flag=true; } } if(flag) { ans+=str.back(); for(int i=0;i<n;i++) { if(a[i].size() && a[i].back()==str.back()) { a[i].pop_back(); } } str.pop_back(); if(str.size() == 0) { cout << "NO\n"; return 0; } } else break; } cout << "YES\n" << ans; }