#include #include #include #define NMAX 20 using namespace std; char s[NMAX]; char a[NMAX][NMAX]; int Lung[NMAX]; char v[NMAX * 2]; void back(int k){ if(k == strlen(s)){ printf("%s\n", v); return; } int x = s[k] - '0'; for(int i = 0; i < Lung[x]; ++i){ v[k] = a[x][i]; if(k <= strlen(s) - 1) back(k + 1); } } int main(){ ///freopen("a.in", "r", stdin); for(int i = 0; i < 10; ++i){ gets(a[i]); Lung[i] = strlen(a[i]); sort(a[i], a[i] + Lung[i]); } gets(s); back(0); }