n, m, a = map(int, input().split()) ku = [list(map(int, input().split())) for _ in range(m)] ku.sort(key=lambda x: x[1]) dp = [-a] * (n + 1) for l, r, p in ku: if l - 1: dp[r] = max(dp[l - 1] + p - a, max(dp[:l - 1]) - 2 * a, dp[r]) else: dp[r] = max(p - a, dp[r]) dp[-1] += a print(max(dp))