#include<cstdio>
using namespace std;
const int MAXN=210;
long long t[MAXN],a[MAXN],w[MAXN];
long long f[MAXN][MAXN];
long long n,T,A;
int main(){
freopen("ass_we_can.in","r",stdin);
freopen("ass_we_can.out","w",stdout);
scanf("%d%d%d",&n,&T,&A);
for(int i=1;i<=n;i++)
scanf("%lld%lld%lld",&t[i],&a[i],&w[i]);
for(int k=1;k<=n;k++)
for(int i=T-t[k];i>=0;i--)
for(int j=A-a[k];j>=0;j--){
int t1=i+t[k],a1=j+a[k];
if(t1<=T&&a1<=A){
if(f[t1][a1]<f[i][j]+w[k])
f[t1][a1]=f[i][j]+w[k];
}
}
printf("%lld",f[T][A]);
return 0;
}