#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>

using namespace std;

int siz[11], n;
char s[11][1000], sol[1000], curSol[1000];

void afiseaza() {
    for (int i = 1; i <= n; ++i)
        cout << curSol[i];
    cout << "\n";
}

void bak(int poz) {
    if (poz > n) {
        afiseaza();
        return;
    }

    int p = sol[poz] - '0';

    for (int i = 1; i <= siz[p]; ++i) {
        curSol[poz] = s[p][i];
        bak(poz + 1);
    }
}

int main() {
    //freopen("a.in", "r", stdin); //sterge!!!
    for (int i = 0; i < 10; ++i) {
        cin >> s[i] + 1;
        siz[i] = strlen(s[i] + 1);
        sort (s[i] + 1, s[i] + siz[i] + 1);
    }

    cin >> sol + 1;

    n = strlen(sol + 1);

    bak(1);
    return 0;
}