#include #include #include #include using namespace std; typedef set::iterator iter; ifstream f("date.in"); #define f cin set st; string s; string nums[15]; string x; void print() { x[s.size()] = '\0'; st.insert(x); } void back(int k = 0) { int j = s[k] - '0'; for (int i = 0; i < nums[j].size(); i++) { x.insert(x.begin() + k, nums[j][i]); x[k] = nums[j][i]; if (k < s.size() - 1) { back(k + 1); } else { print(); } x.erase(k); } } int main() { for (int i = 0; i < 10; i++) { f >> nums[i]; } f >> s; back(); for (iter it = st.begin(); it != st.end(); it++) { cout << *it << '\n'; } return 0; }