n,m,a=map(int,input().split()) x=[[] for i in range(n)] dp=[-1<<60]*(n+1) dp[0]=0 for i in range(m): l,r,p=map(int,input().split()) x[l-1].append((r,p)) ans=0;f=0 for i in range(n): for j,l in x[i]: dp[j]=max(dp[j],dp[i]+l-a,f-a*2+l) f=max(f,dp[i]) ans=max(ans,dp[i]) print(max(ans,dp[n]+a))