INF = 1<<60 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 A, B, C in ABC: ndp = [[-INF]*(Y+1) for _ in range(X+1)] for i in range(X+1): for j in range(Y+1): ndp[i][j] = max(ndp[i][j], dp[i][j]) if i+A <= X and j+B <= Y: ndp[i+A][j+B] = max(ndp[i+A][j+B], dp[i][j]+C) dp = ndp print(dp[-1][-1])