#include #include #include using namespace atcoder; using mint = modint1000000007; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000005 string get(vector c){ string ret = ""; for(int i=9;i>=0;i--){ rep(j,c[i])ret += '0' + i; } return ret; } int main(){ int n; cin>>n; string K; cin>>K; vector c(10,0); rep(i,9)cin>>c[i+1]; if(n1){ int mid = (ok+ng)/2; vector cc = c; string temp = ""; bool f = true; rep(i,mid){ if(cc[K[i]-'0']<=0){ f=false; break; } temp += K[i]; cc[K[i]-'0']--; } if(f){ string t2 = get(cc); temp += t2; if(temp <= K)f=false; } if(f)ok = mid; else ng= mid; } //cout<