#include #include using namespace std; #define NMAX 30 int v[NMAX][NMAX]; char sir[NMAX],st[NMAX]; void back(int poz) { if(sir[poz]<'0'|sir[poz]>'9') { printf("%s\n",st); return; } int i,x=sir[poz]-'0'; for(i=1;i<=v[x][0];++i) { st[poz]=v[x][i]+'a'; back(poz+1); } } int main() { //freopen("phone.in","r",stdin); //freopen("phone.out","w",stdout); int i,j; char c; for(i=0;i<=9;++i) { scanf("%c",&c); while(c!='\n') { v[i][++v[i][0]]=c-'a'; scanf("%c",&c); } } for(i=0;i<=9;++i) sort(v[i]+1,v[i]+1+v[i][0]); scanf("%s",&sir); back(0); return 0; }