#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 2e5 + 5;
long long n, dp[MaxN];
pair<pair<long long, long long>, long long> pr[MaxN];
void input()
{
    cin >> n;
    for (long long i=1; i<=n; i++)
    {
        cin >> pr[i].first.first >> pr[i].first.second >> pr[i].second;
    }
}
bool cmp(pair<pair<long long, long long>, long long> a, pair<pair<long long, long long>, long long> b)
{
    return a.first.second < b.first.second;
}
void solve()
{
    sort(pr+1,pr+n+1,cmp);
    for (long long i=1; i<=n; i++)
    {
        dp[i]=dp[i-1];
        long long pos = lower_bound(pr + 1, pr + n + 1, pr[i].first.first,
        [](pair<pair<long long,long long>, long long> x, long long value)
        {
            return x.first.second < value;
        }) - pr - 1;
        dp[i] = max(dp[i], dp[pos] + pr[i].second);
    }
    cout << dp[n];
}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    input();
    solve();
}
