#include <bits/stdc++.h> #define int long long #define MULTITEST false using namespace std; void solve () { int n; cin>>n; vector<string>a(n); string t; for(int i=0;i<n;i++){ cin>>a[i]; reverse(a[i].begin(),a[i].end()); } cin>>t; set<int> non_empty; for(int i=0;i<n;i++){ non_empty.insert(i); } string ans; for(int i1=0;i1<t.size();i1++){ bool rem = false; vector<int>empty; for(auto i:non_empty){ while(!a[i].empty()&&a[i].back()!=t[i1]){ ans+=a[i].back(); a[i].pop_back(); } if(!a[i].empty()){ a[i].pop_back(); rem=true; } if(a[i].empty()){ empty.push_back(i); } } for(auto i:empty){ non_empty.erase(i); } if(rem == true && i1 +1 == t.size()){ cout<<"NO"; return; } if(rem){ ans+=t[i1]; } } cout<<"YES"<<endl; cout<<ans<<endl; } signed main() { ios_base::sync_with_stdio(0); cin.tie(NULL); cout.precision(30); int T = 1; if (MULTITEST) cin >> T; for (int t = 0; t < T; t ++) solve(); }