#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001 int main(){ int n,x,y; cin>>n>>x>>y; vector dp(x+1,vector(y+1,0)); rep(i,n){ long long a,b,c; cin>>a>>b>>c; vector ndp(x+1,vector(y+1,0)); rep(j,x+1){ rep(k,y+1){ ndp[j][k] = max(ndp[j][k],dp[j][k]); if(j+a<=x&&k+b<=y){ ndp[j+a][k+b] = max(ndp[j+a][k+b],dp[j][k] + c); } } } swap(dp,ndp); } long long ans = 0; rep(i,x+1){ rep(j,y+1)ans = max(ans,dp[i][j]); } cout<