#include #include #include #define maxn 50 using namespace std; int n; char a[maxn][maxn],s[maxn],x[maxn]; int nr[maxn]; void read() { for(int i=1;i<=10;i++) { scanf("%s\n",a[i]+1); nr[i]=strlen(a[i]+1); } scanf("%s",s+1); n=strlen(s+1); for(int i=1;i<=10;i++) sort(a[i]+1,a[i]+nr[i]+1); } void back(int k) { if(k>n) { for(int i=1;i<=n;i++) printf("%c",x[i]); printf("\n"); return; } for(int i=1;i<=nr[s[k]-'0'+1];i++) { x[k]=a[s[k]-'0'+1][i]; back(k+1); } } int main() { //freopen("phone.in","r",stdin); //freopen("phone.out","w",stdout); read(); back(1); return 0; }