from typing import List
import ast

class Solution:
    def maxTaxiEarnings(self, n: int, rides: List[List[int]]) -> int:
        rides.sort()
        dp = [0] * (n + 1)

        for i in range(n - 1, -1, -1):
            dp[i] = dp[i + 1]

            while rides and rides[-1][0] == i:
                start, end, tip = rides.pop()
                dp[i] = max(dp[i], dp[end] + end - start + tip)

        return dp[0]


lines = []
while True:
    try:
        line = input().strip()
        if line:
            lines.append(line)
    except EOFError:
        break

sol = Solution()

for i in range(0, len(lines), 2):
    n = int(lines[i])
    rides = ast.literal_eval(lines[i + 1])
    print(sol.maxTaxiEarnings(n, rides))