N, X, Y = map(int, input().split())

L = [list(map(int, input().split())) for _ in range(N)]

DP = [[-1] * (X+1) for _ in range(Y+1)]
DP[0][0] = 0

for i in range(N):
    nxt = [[-1] * (X+1) for _ in range(Y+1)]
    a, b, c = L[i]
    for x in range(X)[::-1]:
        if a + x > X: continue
        for y in range(Y)[::-1]:
            if b + y > Y: continue
            if DP[x][y] < 0: continue
            DP[a+x][b+y] = max(DP[a+x][b+y], DP[x][y] + c)

ans = 0
for d in DP:
    ans = max(ans, max(d))
            
print(ans)