N,X,Y=map(int,input().split()) dp=[[[-10**10 for _ in range(Y+1)] for _ in range(X+1)] for _ in range(N+1)] dp[0][0][0]=0 for i in range(N): A,B,C=map(int,input().split()) for j in range(X+1): for k in range(Y+1): dp[i+1][j][k]=max(dp[i+1][j][k],dp[i][j][k]) if j+A<=X and k+B<=Y: dp[i+1][j+A][k+B]=max(dp[i+1][j+A][k+B],dp[i][j][k]+C) print(max([max(dp[-1][j]) for j in range(X+1)]))