#include <bits/stdc++.h>
using namespace std;
int N, K;
int getSize(int N) {
int cnt = 0;
while(N > 0) {
cnt++;
N/=10;
}
return cnt;
}
int main() {
cin.tie(NULL);
ios_base::sync_with_stdio(false);
vector<int>arr;
arr.resize(3);
cin >> N >> K;
vector<int>ans;
int SIZE = getSize(N);
for(int i = 0 ; i < K ; i++) {
cin >> arr[i];
}
sort(arr.rbegin(), arr.rend());
bool FIND = false;
while(!FIND && SIZE > 0) {
for(int i = 0 ; i < arr.size() ; i++) {
if(arr[i] > N / (int)pow(10, SIZE - 1)) continue;
else if(arr[i] == N / (int)pow(10, SIZE - 1)) {
ans.push_back(arr[i]);
N = N % (int)pow(10, SIZE - 1);
SIZE--;
break;
}
else {
ans.push_back(arr[i]);
SIZE--;
FIND = true;
break;
}
}
}
while(SIZE > 0) {
ans.push_back(arr[0]);
SIZE--;
}
for(int i = 0 ; i < ans.size() ; i++) {
if(ans[i] == 0) continue;
cout << ans[i];
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IE4sIEs7CgppbnQgZ2V0U2l6ZShpbnQgTikgewoJaW50IGNudCA9IDA7Cgl3aGlsZShOID4gMCkgewoJCWNudCsrOwoJCU4vPTEwOwoJfQoJcmV0dXJuIGNudDsKfQoKaW50IG1haW4oKSB7CgljaW4udGllKE5VTEwpOwoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Cgl2ZWN0b3I8aW50PmFycjsKCWFyci5yZXNpemUoMyk7CgljaW4gPj4gTiA+PiBLOwoJdmVjdG9yPGludD5hbnM7CglpbnQgU0laRSA9IGdldFNpemUoTik7Cglmb3IoaW50IGkgPSAwIDsgaSA8IEsgOyBpKyspIHsKCQljaW4gPj4gYXJyW2ldOwoJfQoJc29ydChhcnIucmJlZ2luKCksIGFyci5yZW5kKCkpOwoJYm9vbCBGSU5EID0gZmFsc2U7CgkKCQoJd2hpbGUoIUZJTkQgJiYgU0laRSA+IDApIHsKCQlmb3IoaW50IGkgPSAwIDsgaSA8IGFyci5zaXplKCkgOyBpKyspIHsKCQkJaWYoYXJyW2ldID4gTiAvIChpbnQpcG93KDEwLCBTSVpFIC0gMSkpIGNvbnRpbnVlOwoJCQllbHNlIGlmKGFycltpXSA9PSBOIC8gKGludClwb3coMTAsIFNJWkUgLSAxKSkgewoJCQkJYW5zLnB1c2hfYmFjayhhcnJbaV0pOwoJCQkJTiA9IE4gJSAoaW50KXBvdygxMCwgU0laRSAtIDEpOwoJCQkJU0laRS0tOwoJCQkJYnJlYWs7CgkJCX0KCQkJZWxzZSB7CgkJCQlhbnMucHVzaF9iYWNrKGFycltpXSk7CgkJCQlTSVpFLS07CgkJCQlGSU5EID0gdHJ1ZTsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJfQoJCgl3aGlsZShTSVpFID4gMCkgewoJCWFucy5wdXNoX2JhY2soYXJyWzBdKTsKCQlTSVpFLS07Cgl9CgkKCWZvcihpbnQgaSA9IDAgOyBpIDwgYW5zLnNpemUoKSA7IGkrKykgewoJCWlmKGFuc1tpXSA9PSAwKSBjb250aW51ZTsKCQljb3V0IDw8IGFuc1tpXTsKCX0KfQ==