#include #include #include using namespace std; int N,M; long A; vector >G[1<<17]; long dp[1<<17]; main() { cin>>N>>M>>A; for(int i=0;i>l>>r>>p; G[l-1].push_back({r,p}); } for(int i=1;ip:G[i]) { dp[p.first]=max(dp[p.first],dp[i]+p.second-A); } } long ans=0; for(int i=0;i<=N;i++)ans=max(ans,dp[i]+A*(i==N)); cout<