#include<iostream>
#include<fstream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<string>
#include<queue>
#define in cin
#define out cout
#define abs(x) ((x>0)?(x):(-(x)))
#define max(a, b) (a > b ? a : b)
#define min(a, b) (a < b ? a : b)
#define FOR(i, a, b) for(int i = a; i <= b; ++i)
#define DOWNFOR(i, a, b) for(int i = a; i >= b; --i)
#define FOREACH(i, t) for (typeof(t.begin()) i = t.begin(); i != t.end(); ++i)
#define ll long long
using namespace std;
char s[100][100];
char a[100];
int size[100];
int N;
int t[100];
int v[100];
void back(int i){
    if(i>N){
        out<<'\n';
        return;
    }
    for(v[i]=0;v[i]<=size[t[i]]-1;v[i]++){
        out<<s[t[i]][v[i]];
        back(i+1);
    }
}
int main(){
    #ifndef ONLINE_JUDGE
    ifstream in("test.in");
    ofstream out("test.out");
    #endif
    FOR(i,0,9){
        in.getline(s[i],100);
        size[i]=strlen(s[i]);
        sort(s[i],s[i]+size[i]);
    }
    in.getline(a,100);
    for(int i=0;i<strlen(a);i++){
        t[++N]=int(a[i])-'0';
    }
    back(1);
    return 0;
}