N,S,H=map(int,input().split()) seg=[tuple(map(int,input().split())) for i in range(N)] dp=[0]*(N+1) lf=0 for i in range(N): if seg[i][1]-seg[i][0]>S: continue while seg[i][0]-seg[lf][1]>=H: lf+=1 dp[i+1]=max(dp[i],dp[lf]+seg[i][2]) print(dp[-1])