#include #include #include #include #include #include #include using namespace std; int N, M, K; char A[15][15], s[1500], L[15], sol[15]; void back(int k) { if(k > N) { for(int i = 1; i <= N; ++i) cout << sol[i]; cout << "\n"; } else { for(int i = 1; i <= L[s[k] - '0']; ++i) { sol[k] = A[s[k] - '0'][i]; back(k + 1); } } } int main() { //ifstream cin("data.in"); for(int i = 0; i < 10; ++i) { A[i][0] = ' '; cin >> (A[i] + 1); int len = strlen(A[i]) - 1; L[i] = len; sort(A[i] + 1, A[i] + len + 1); } s[0] = ' '; cin >> (s + 1); N = strlen(s) - 1; back(1); return 0; }