#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
struct ti{
int s,en,ef;
}a[N];
int n,m,r,dp[N],ans=-1e6;
bool cmp(ti c,ti b)
{
return c.s<b.s;
}
int main()
{
cin>>n>>m>>r;
for(int i=1;i<=m;i++) {
cin>>a[i].s>>a[i].en>>a[i].ef;
a[i].en+=r;
}
sort(a+1,a+1+m,cmp);
for(int i=1;i<=m;i++) {
for(int j=1;j<i;j++) if(a[j].en<a[i].s) dp[i]=max(dp[i],dp[j]);
dp[i]+=a[i].ef;
}
for(int i=1;i<=m;i++) ans=max(ans,dp[i]);
cout<<ans;
return 0;
}