#include #include #include #include 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; }