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