#include using namespace std; void chmin(int64_t& a, int64_t b){ a = min(a, b); } int main(){ int N, M, L; cin >> N >> M >> L; vector X(N+2), V(N+2), W(N+2); for(int i=1; i<=N; i++) cin >> X[i] >> V[i] >> W[i]; X[N+1] = L; vector> dp(N+2, vector(M+1, 1e18)); dp[0][M] = 0; for(int i=0; i<=N; i++){ for(int j=M; j>=0; j--) chmin(dp[i][min(M, j+V[i])], dp[i][j] + W[i]); int d = X[i+1] - X[i]; for(int j=d; j<=M; j++) chmin(dp[i+1][j-d], dp[i][j]); } int64_t ans = *min_element(dp[N+1].begin(), dp[N+1].end()); if(ans == 1e18) ans = -1; cout << ans << endl; return 0; }