N, X, Y = map(int, input().split()) inf = 10 ** 18 pre = [[-inf] * (Y + 1) for i in range(X + 1)] pre[0][0] = 0 for i in range(N): A, B, C = map(int, input().split()) dp = [[-inf] * (Y + 1) for i in range(X + 1)] for x in range(X + 1): for y in range(Y + 1): dp[x][y] = max(dp[x][y], pre[x][y]) if x >= A and y >= B: dp[x][y] = max(dp[x][y], pre[x - A][y - B] + C) dp, pre = pre, dp ans = 0 for i in range(X + 1): for j in range(Y + 1): ans = max(ans, pre[i][j]) print(ans)