#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 4005;
int f[N][N];
signed main()
{
int n, m, k, t; cin >> n >> m >> k >> t;
for(int i = 1;i <= k;i ++ ){
int x, y, v;
cin >> x >> y >> v;
f[x][y] = v;
}
for(int i = 1;i <= n;i ++ ){
deque<int> q;
for(int j = 1;j <= m;j ++ ){
while(q.size() && f[i - 1][q.back()] < f[i - 1][j]) q.pop_back();
q.push_back(j);
if(j >= t){
while(q.size() && q.front() < j - t) q.pop_front();
f[i][j] += f[i - 1][q.front()];
}
}
}
int ans = INT_MIN;
for(int i = 1;i <=m;i ++ ) ans = max(ans, f[n][i]);
cout << ans << endl;
return 0;
}