num,t,h=map(int,input().split())
eves=[]
for i in range(num):
eves.append(list(map(int,input().split())))
dp=[[[0]*(t+1) for i in range(h+1)]for i in range(num)]
for i in range(eves[0][0],t+1):
for j in range(eves[0][1],h+1):
dp[0][j][i]=eves[0][2]
for i in range(1,num):
for j in range(h+1):
for k in range(t+1):
if eves[i][0]<=k and eves[i][1]<=j:
dp[i][j][k]=max(dp[i-1][j-eves[i][1]][k-eves[i][0]]+eves[i][2],dp[i-1][j][k])
else:
dp[i][j][k]=dp[i-1][j][k]
print(dp[num-1][h][t])
python3解法,正向遍历