N, X, Y = map(int, input().split()) ABC = [list(map(int, input().split())) for _ in range(N)] # dp[i][j]:= メニュー枠をi, 容量をj使用して上がるかわいさ dp = [[0] * (Y + 1) for _ in range(X + 1)] for a, b, c in ABC: for i in reversed(range(X)): if i + a <= X: for j in reversed(range(Y)): if j + b <= Y: dp[i + a][j + b] = max(dp[i + a][j + b], dp[i][j] + c) print(dp[X][Y])