#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")