#include <bits/stdc++.h>
using namespace std;
int n,x,w[1005],l[1005],y[1005],maxn=0,cnt=0;
void dfs(int s,int xy)
{
if(s==n+1)
{
maxn=max(maxn,cnt);
return;
}
if(xy+y[s]<=x)
{
cnt+=w[s];
dfs(s+1,xy+y[s]);
cnt-=w[s];
}
cnt+=l[s];
dfs(s+1,xy);
return;
}
int main()
{
cin>>n>>x;
for(int i=1;i<=n;i++)cin>>l[i]>>w[i]>>y[i];
dfs(1,0);
cout<<maxn;
return 0;
}
dfs
60分的打算,帮我搞到60就关