import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
import java.util.Stack;
public class HanoiFactory
{
static class C implements Comparator<Ring>
{
@Override
public int compare(Ring arg0, Ring arg1)
{
int res = (int)(arg0.or - arg1.or);
if(res == 0)res = (int)(arg0.ir - arg1.ir);
return res;
}
}
static class Ring
{
int id;
long ir;
long or;
long h;
public Ring(int i, long ir0, long or0, long h0)
{
id = i;
ir = ir0;
or = or0;
h = h0;
}
public String toString()
{
return Integer.toString(id);
}
}
static long score = 0;
static Ring[] ring;
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ring = new Ring[n];
for(int i = 0; i < n; i++)
{
long ir = sc.nextLong();
long or = sc.nextLong();
long h = sc.nextLong();
ring[i] = new Ring(i, ir, or, h);
}
C c = new C();
Arrays.sort(ring, c);
// System.out.println(Arrays.toString(ring));
//go from bottom
long cursum = 0;
Stack<Ring> hanoi = new Stack<>();
for(int i = n-1; i >= 0; i--)
{ //do all
//get rid of any disablers
while(!hanoi.empty() && hanoi.peek().ir >= ring[i].or)
{
cursum -= hanoi.peek().h;
hanoi.pop();
}
cursum += ring[i].h;
hanoi.add(ring[i]);
score = Math.max(cursum, score);
}
System.out.println(score);
}
}