#include <bits/stdc++.h>
using namespace std;
const int sz = 2e5 + 5;
int tc, n, a[sz];
struct R {
  int in, out;
  long long h;
  bool operator<(R a) const {
    if (out == a.out) return in > a.in;
    return out > a.out;
  }
};
vector<R> vp;
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0);
  cin >> n;
  vp.resize(n);
  for (auto &x : vp) cin >> x.in >> x.out >> x.h;
  sort(vp.begin(), vp.end());
  stack<R> st;
  long long Ans = 0;
  for (int i = 0; i < n; i++) {
    if (st.empty()) {
      st.push(vp[i]);
      Ans = max(Ans, st.top().h);
      continue;
    }
    while (!st.empty() && st.top().in >= vp[i].out) {
      Ans = max(Ans, st.top().h);
      st.pop();
    }
    if (st.size()) vp[i].h += st.top().h;
    st.push(vp[i]);
    Ans = max(Ans, st.top().h);
  }
  cout << Ans << "\n";
  return 0;
}
