#include <bits/stdc++.h>
using namespace std;
long long M, hari_max = 0, S[10001], E[10001], P[10001], memo[10001][10001];
long long f(int N, int H){
if (memo[N][H] != 0){
return memo[N][H];
}
if (N < 1 || H < 1){
return 0;
} else {
if (E[N] <= H){
int ambil = P[N] + f(N-1, S[N] - 1);
int tidak_ambil = f(N-1, H);
memo[N][H] = max(ambil, tidak_ambil);
return memo[N][H];
} else {
memo[N][H] = f(N-1, H);
return memo[N][H];
}
}
}
int main() {
memset(memo, 0, sizeof(memo));
cin >> M;
for (int i = 1; i <= M; i++){
cin >> S[i] >> E[i] >> P[i];
hari_max = max(hari_max, E[i]);
}
for (int i = 1; i < M; i++){
for (int j = i+1; j <= M; j++){
if (E[i] > E[j]){
swap(E[i], E[j]);
swap(S[i], S[j]);
swap(P[i], P[j]);
}
}
}
cout << f(M, hari_max) << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpsb25nIGxvbmcgTSwgaGFyaV9tYXggPSAwLCBTWzEwMDAxXSwgRVsxMDAwMV0sIFBbMTAwMDFdLCBtZW1vWzEwMDAxXVsxMDAwMV07Cgpsb25nIGxvbmcgZihpbnQgTiwgaW50IEgpewoJaWYgKG1lbW9bTl1bSF0gIT0gMCl7CgkJcmV0dXJuIG1lbW9bTl1bSF07Cgl9CglpZiAoTiA8IDEgfHwgSCA8IDEpewoJCXJldHVybiAwOwoJfSBlbHNlIHsKCQlpZiAoRVtOXSA8PSBIKXsKCQkJaW50IGFtYmlsID0gUFtOXSArIGYoTi0xLCBTW05dIC0gMSk7CgkJCWludCB0aWRha19hbWJpbCA9IGYoTi0xLCBIKTsKCQkJbWVtb1tOXVtIXSA9IG1heChhbWJpbCwgdGlkYWtfYW1iaWwpOwoJCQlyZXR1cm4gbWVtb1tOXVtIXTsKCQl9IGVsc2UgewoJCQltZW1vW05dW0hdID0gZihOLTEsIEgpOwoJCQlyZXR1cm4gbWVtb1tOXVtIXTsKCQl9Cgl9Cn0KCmludCBtYWluKCkgewoJbWVtc2V0KG1lbW8sIDAsIHNpemVvZihtZW1vKSk7CgljaW4gPj4gTTsKCWZvciAoaW50IGkgPSAxOyBpIDw9IE07IGkrKyl7CgkJY2luID4+IFNbaV0gPj4gRVtpXSA+PiBQW2ldOwoJCWhhcmlfbWF4ID0gbWF4KGhhcmlfbWF4LCBFW2ldKTsKCX0KCQoJZm9yIChpbnQgaSA9IDE7IGkgPCBNOyBpKyspewoJCWZvciAoaW50IGogPSBpKzE7IGogPD0gTTsgaisrKXsKCQkJaWYgKEVbaV0gPiBFW2pdKXsKCQkJCXN3YXAoRVtpXSwgRVtqXSk7CgkJCQlzd2FwKFNbaV0sIFNbal0pOwoJCQkJc3dhcChQW2ldLCBQW2pdKTsKCQkJfQoJCX0KCX0KCQoJY291dCA8PCBmKE0sIGhhcmlfbWF4KSA8PCBlbmRsOwoJCglyZXR1cm4gMDsKfQ==