#include"bits/stdc++.h" using namespace std; #define ALL(x) begin(x),end(x) #define rep(i,n) for(int i=0;i<(n);i++) #define debug(v) cout<<#v<<":";for(auto x:v){cout<bool chmax(T &a,const T &b){if(abool chmin(T &a,const T &b){if(b ostream &operator<<(ostream &os,const vector&v){ for(int i=0;i<(int)v.size();i++) os< istream &operator>>(istream &is,vector&v){ for(T &x:v)is>>x; return is; } signed main(){ int N;cin>>N; string S;cin>>S; vector C(10, 0); rep(i,9) cin>>C[i+1]; auto check=[&](int m){ auto cnt=C; rep(i,m) cnt[S[i]-'0']--; rep(i,10){ if(cnt[i]<0) return false; } string t=""; for(int i=9;i>=0;i--)rep(j,cnt[i]) t.push_back(i+'0'); for(int i=m;it[i-m]) return false; } return false; }; int lw=0,hi=N,res=-1; while(lw<=hi){ int mid=(lw+hi)/2; if(check(mid)) lw=mid+1,res=mid; else hi=mid-1; } if(res<0){ cout<<-1<