import sys readline = sys.stdin.readline N, V, L = map(int, readline().split()) xvw = [tuple(map(int, readline().split())) for _ in range(N)] INF = 1<<60 dp = [INF]*(V+1) dp[V] = 0 pre = 0 for x, v, w in xvw: dist = x-pre dp = dp[dist:] + [INF]*dist dp2 = dp[:] for vi in range(V+1): dp2[min(V, vi+v)] = min(dp2[min(V, vi+v)], dp[vi]+w) dp = dp2[:] pre = x ans = min(dp[L-pre:]) if ans == INF: ans = -1 print(ans)