#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; using namespace atcoder; typedef long long ll; typedef pair P; using mint=modint1000000007; int c1[10][500050]; int c[10]; int main() { int n; cin>>n; string k; cin>>k; int d=k.size(); for(int i=1; i<=9; i++) cin>>c[i]; if(dn){ cout<<-1<=0; i--){ for(int j=k[i]-'0'+1; j<10; j++){ bool ok=1; for(int l=0; l<10; l++){ if(c1[l][i]+(l==j)>c[l]){ ok=0;break; } } if(ok){ for(int p=0; p