#include <iostream>
#include <algorithm>
using namespace std;
int digit_decomp(int num, int digits[]) {
int i;
for (i = 0; num; i++) {
digits[i] = num % 10;
num /= 10;
}
return i;
}
int main() {
int N = 0;
int K[3] = { 0 };
int N_digits = 0;
int num_K = 0;
int digits[9] = { 0 };
int ans[9] = { 0 };
cin >> N >> num_K;
for (int i = 0; i < num_K; i++) {
cin >> K[i];
}
sort(K, K + num_K, greater<int>());
N_digits = digit_decomp(N, digits);
bool sw0 = false, sw1 = false;
for (int i = N_digits - 1; i >= 0; i--) {
for (int j = 0; j < num_K; j++) {
if (sw1) {
ans[i] = K[j];
break;
}
if (digits[i] == K[j]) {
if (i > 0 && digits[i - 1] >= K[num_K - 1]) {
ans[i] = K[j];
break;
}
}
if (digits[i] > K[j]) {
ans[i] = K[j];
sw1 = true;
break;
}
if (j == num_K - 1) {
sw0 = true;
}
}
if (sw0) {
sw0 = false;
for (int j = 1; i + j < N_digits; j++) {
if (ans[i + j] != K[num_K - 1]) {
i = i + j;
for (int k = 2; k < num_K; k++) {
if (ans[i] == K[num_K - k]) {
ans[i] = K[num_K - k + 1];
sw1 = true;
break;
}
}
break;
}
}
if (!sw1) {
N_digits -= 1;
i = N_digits;
sw1 = true;
}
}
}
for (int i = N_digits - 1; i >= 0; i--) {
cout << ans[i];
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGRpZ2l0X2RlY29tcChpbnQgbnVtLCBpbnQgZGlnaXRzW10pIHsKCWludCBpOwoJZm9yIChpID0gMDsgbnVtOyBpKyspIHsKCQlkaWdpdHNbaV0gPSBudW0gJSAxMDsKCQludW0gLz0gMTA7Cgl9CglyZXR1cm4gaTsKfQoKaW50IG1haW4oKSB7CglpbnQgTiA9IDA7CglpbnQgS1szXSA9IHsgMCB9OwoJaW50IE5fZGlnaXRzID0gMDsKCWludCBudW1fSyA9IDA7CglpbnQgZGlnaXRzWzldID0geyAwIH07CiAgICBpbnQgYW5zWzldID0geyAwIH07CgkKCWNpbiA+PiBOID4+IG51bV9LOwoJCglmb3IgKGludCBpID0gMDsgaSA8IG51bV9LOyBpKyspIHsKCQljaW4gPj4gS1tpXTsKCX0KCQoJc29ydChLLCBLICsgbnVtX0ssIGdyZWF0ZXI8aW50PigpKTsKCQoJTl9kaWdpdHMgPSBkaWdpdF9kZWNvbXAoTiwgZGlnaXRzKTsKCQoJYm9vbCBzdzAgPSBmYWxzZSwgc3cxID0gZmFsc2U7Cglmb3IgKGludCBpID0gTl9kaWdpdHMgLSAxOyBpID49IDA7IGktLSkgewoJCWZvciAoaW50IGogPSAwOyBqIDwgbnVtX0s7IGorKykgewoJCQlpZiAoc3cxKSB7CgkJCQlhbnNbaV0gPSBLW2pdOwoJCQkJYnJlYWs7CgkJCX0KCQkJaWYgKGRpZ2l0c1tpXSA9PSBLW2pdKSB7CgkJCQlpZiAoaSA+IDAgJiYgZGlnaXRzW2kgLSAxXSA+PSBLW251bV9LIC0gMV0pIHsKCQkJCQlhbnNbaV0gPSBLW2pdOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQl9CgkJCWlmIChkaWdpdHNbaV0gPiBLW2pdKSB7CgkJCQlhbnNbaV0gPSBLW2pdOwogICAgICAgICAgICAgICAgc3cxID0gdHJ1ZTsKCQkJCWJyZWFrOwoJCQl9CgkJCWlmIChqID09IG51bV9LIC0gMSkgewoJCQkJc3cwID0gdHJ1ZTsKCQkJfQoJCX0KCQlpZiAoc3cwKSB7CgkJCXN3MCA9IGZhbHNlOwoJCQlmb3IgKGludCBqID0gMTsgaSArIGogPCBOX2RpZ2l0czsgaisrKSB7CgkJCQlpZiAoYW5zW2kgKyBqXSAhPSBLW251bV9LIC0gMV0pIHsKCQkJCQlpID0gaSArIGo7CgkJCQkJZm9yIChpbnQgayA9IDI7IGsgPCBudW1fSzsgaysrKSB7CgkJCQkJCWlmIChhbnNbaV0gPT0gS1tudW1fSyAtIGtdKSB7CgkJCQkJCQlhbnNbaV0gPSBLW251bV9LIC0gayArIDFdOwoJCQkJCQkJc3cxID0gdHJ1ZTsKCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJfQoJCQl9CgkJCWlmICghc3cxKSB7CgkJCQlOX2RpZ2l0cyAtPSAxOwoJCQkJaSA9IE5fZGlnaXRzOwoJCQkJc3cxID0gdHJ1ZTsKCQkJfQoJCX0KCX0KCQoJZm9yIChpbnQgaSA9IE5fZGlnaXRzIC0gMTsgaSA+PSAwOyBpLS0pIHsKCQljb3V0IDw8IGFuc1tpXTsKCX0KCXJldHVybiAwOwp9