import sys readline = sys.stdin.readline N, M, A = map(int, readline().split()) D = [[] for i in range(N + 1)] for i in range(M): L, R, P = map(int, readline().split()) if R == N: P += A D[L - 1].append((R, P - 2 * A)) inf = 10 ** 18 dp = [[-inf] * 2 for i in range(N + 1)] dp[0][1] = 0 for i in range(N): dp[i + 1][0] = max(dp[i + 1][0], dp[i][0], dp[i][1]) for R, C in D[i]: dp[R][1] = max(dp[R][1], dp[i][1] + C + A) dp[R][1] = max(dp[R][1], dp[i][0] + C) ans = 0 for i in range(N + 1): ans = max(ans, max(dp[i])) print(ans)