#include <bits/stdc++.h>
using namespace std;
struct stu{
long long ti,v;
}a[41];
const long long S=20000;
bool cmp(stu x,stu y){
return x.v*y.ti>y.v*x.ti;
}
int main(){
srand(time(0));
long long t,m,i,j,mx=0,time,vs;
cin>>m>>t;
for(i=0;i<m;i++){
cin>>a[i].ti;
a[i].v=a[i].ti;
}
sort(a,a+m,cmp);
for(i=0;i<m*S;i++){
time=t,vs=0;
for(j=0;j<m;j++)if(rand()%(m-j+1)&&a[j].ti<=time)time-=a[j].ti,vs+=a[j].v;
mx=max(mx,vs);
}
cout<<mx<<endl;
return 0;
}
wa 在了 15pts