INF = 1 << 30 N, X, Y = map(int, input().split()) dp = [[-INF] * (Y + 1) for _ in range(X + 1)] dp[0][0] = 0 for _ in range(N): a, b, c = map(int, input().split()) for x in range(X + 1)[::-1]: for y in range(Y + 1)[::-1]: xx = x + a yy = y + b if xx <= X and yy <= Y: dp[xx][yy] = max(dp[xx][yy], dp[x][y] + c) ans = 0 for x in range(X + 1): for y in range(Y + 1): ans = max(ans, dp[x][y]) print(ans)