#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define rep1(i, n) for (int i = 1; i <= (int)(n); i++) using ll = long long; int main(){ int n, x, y; cin >> n >> x >> y; vector a(n); vector b(n); vector c(n); rep(i, n){ cin >> a[i] >> b[i] >> c[i]; } vector> dp(x+1, vector(y+1, -1)); dp[0][0] = 0; rep(i, n) { for (int j = x; j >= a[i]; --j) { for (int k = y; k >= b[i]; --k) { if(dp[j - a[i]][k - b[i]] != -1) dp[j][k] = max(dp[j][k], dp[j - a[i]][k - b[i]] + c[i]); } } } ll ans = 0; rep(i, x+1)rep(j, y+1){ ans = max(dp[i][j], ans); } cout << ans << endl; }