#include <bits/stdc++.h>
using namespace std;
struct name {
  long long a, b, h;
} p[100005];
long long n, ans, flag;
stack<int> st;
int cmp(name x, name y) {
  if (x.b == y.b) return x.a > y.a;
  return x.b > y.b;
}
int does(int x) {
  if (st.empty()) return 1;
  if (p[st.top()].a >= p[x].b) return 0;
  return 1;
}
int main() {
  ans = 0;
  flag = 0;
  scanf("%lld", &n);
  for (int i = 1; i <= n; i++) scanf("%lld%lld%lld", &p[i].a, &p[i].b, &p[i].h);
  sort(p + 1, p + n + 1, cmp);
  for (int i = 1; i <= n; i++) {
    while (!does(i)) {
      int ha = st.top();
      flag -= p[ha].h;
      st.pop();
    }
    st.push(i);
    flag += p[i].h;
    ans = max(ans, flag);
  }
  printf("%lld", ans);
}
