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)