N, X, Y = map(int, input().split()) ABC = [list(map(int, input().split())) for _ in range(N)] dp = [[[0] * (Y+1) for _ in range(X+1)] for _ in range(N)] if ABC[0][0] <= X and ABC[0][1] <= Y: dp[0][ABC[0][0]][ABC[0][1]] = ABC[0][2] for i in range(1, N): for j in range(X+1): for k in range(Y+1): dp[i][j][k] = dp[i-1][j][k] if j - ABC[i][0] >= 0 and k - ABC[i][1] >= 0: new = dp[i-1][j-ABC[i][0]][k-ABC[i][1]] + ABC[i][2] if new > dp[i][j][k]: dp[i][j][k] = new ans = 0 for d in dp[-1]: new = max(d) if new > ans: ans = new print(ans)