#include <iostream>
using namespace std;
#include<vector>
#include<algorithm>
#include<string>
int main() {
    vector<double>v_price;
   int n,k;
   cin>>n>>k;
   for(int i=0;i<n;i++){
       double price;
       cin>>price;
       v_price.push_back(price);
   }
   string s;
   cin>>s;
   for(int i=0;i<s.size();i++){
      if(s[i]=='1'){
          v_price[i]=v_price[i]*0.95;
      }
   }
   sort(v_price.begin(),v_price.end());
   double sumprice=0; //易错:用int定义+double丢精度报错 
   int count=0;
   for(int i=0;i<n;i++){
      if(sumprice+v_price[i]<=k){
         sumprice+=v_price[i];
         count++;
      }
      else{
        break;
      }
   }
   cout<<count;
   
}
// 64 位输出请用 printf("%lld")