n, x, y = map(int, input().split()) inf = 1 << 60 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 i in reversed(range(x-a+1)): for j in reversed(range(y-b+1)): dp[i+a][j+b] = max(dp[i+a][j+b], dp[i][j]+c) ans = 0 for i in range(x+1): for j in range(y+1): ans = max(ans, dp[i][j]) print(ans)