#include using namespace std; void fast_io() { ios_base::sync_with_stdio(false); cin.tie(nullptr); } int main() { fast_io(); int n; string k; cin >> n >> k; vector c(10); for (int i = 1; i <= 9; i++) { cin >> c[i]; } vector> cum(n + 1, vector(10)); for (int i = 0; i < n; i++) { for (int j = 0; j < 10; j++) { cum[i + 1][j] = cum[i][j] + (k[i] - '0' == j); } } for (int i = n - 1; i >= 0; i--) { bool is_ok = true; vector res(10); for (int j = 0; j < 10; j++) { res[j] = c[j] - cum[i][j]; if (res[j] < 0) { is_ok = false; break; } } if (!is_ok) { continue; } is_ok = false; int l = -1; for (int j = (k[i] - '0') + 1; j < 10; j++) { if (res[j] > 0) { is_ok = true; l = j; break; } } if (!is_ok) { continue; } res[l]--; cout << k.substr(0, i); cout << l; for (int j = 1; j < 10; j++) { for (int m = 0; m < res[j]; m++) { cout << j; } } cout << endl; return 0; } cout << -1 << endl; }