#include using namespace std ; typedef long long ll ; typedef pair P ; #define rep(i,n) for(int i = 0 ; i < n ; i++) #define rrep(i,a,b) for(int i = a ; i < b ; i++) ll n ; string S ; vector digit ; ll powmod(ll x , ll n){ ll res = 1 ; while(n > 0){ if(n & 1) res *= x ; x *= x ; n >>= 1 ; } return res ; } int main(){ cin >> n >> S ; rep(i,9){ int c ; cin >> c ; rep(j,c) digit.push_back(i+1) ; } if(S.size() > 9){ cout << -1 << endl ; return 0 ; } ll k = 0 ; rep(i,S.size()) k += (S[S.size()-1-i] - '0') * powmod(10,i) ; sort(digit.begin(),digit.end()) ; ll res = 1e16 ; do { ll val = 0 ; rep(i,n) val += digit[i] * powmod(10,i) ; if(val > k && val < res){ res = val ; } } while (next_permutation(digit.begin(),digit.end())); if(res == 1e16) res = -1 ; cout << res << endl ; }