#include <iostream>
#include <vector>
#include <algorithm>
struct Inter {
double left;
double right;
double weight;
};
int p(std::vector<Inter>& v, int j) {
int temp = -1;
int l = 0;
int r = j;
while (l != r) {
if (v[(l+r)/2].right <= v[j].left && r - l > 1) {
temp = (l+r)/2;
l = (l+r)/2;
} else {
if (v[(l+r)/2].right <= v[j].left)
temp = (l+r)/2;
r = (l+r)/2;
}
}
return temp;
}
double opt(std::vector<Inter>& v, int j) {
std::vector<double> M(j+2);
M[0] = 0;
for (int i = 1; i <= j+1; ++i) {
M[i] = std::max(v[i-1].weight + M[p(v, i - 1) + 1], M[i-1]);
}
return M[j+1];
}
bool compare(Inter& a, Inter& b) {
return a.right < b.right;
}
int main() {
int n;
std::cin >> n;
double l, r, w;
Inter inter;
std::vector<Inter> v(n);
for (int i = 0; i < n; ++i) {
std::cin >> inter.left >> inter.right >> inter.weight;
v[i] = inter;
}
std::sort(v.begin(), v.end(), compare);
std::cout << opt(v, n-1);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKc3RydWN0IEludGVyIHsKICAgIGRvdWJsZSBsZWZ0OwogICAgZG91YmxlIHJpZ2h0OwogICAgZG91YmxlIHdlaWdodDsKfTsKCmludCBwKHN0ZDo6dmVjdG9yPEludGVyPiYgdiwgaW50IGopIHsKICAgIGludCB0ZW1wID0gLTE7CiAgICBpbnQgbCA9IDA7CiAgICBpbnQgciA9IGo7CiAgICB3aGlsZSAobCAhPSByKSB7CiAgICAgICAgaWYgKHZbKGwrcikvMl0ucmlnaHQgPD0gdltqXS5sZWZ0ICYmIHIgLSBsID4gMSkgewogICAgICAgICAgICB0ZW1wID0gKGwrcikvMjsKICAgICAgICAgICAgbCA9IChsK3IpLzI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKHZbKGwrcikvMl0ucmlnaHQgPD0gdltqXS5sZWZ0KQogICAgICAgICAgICAgICAgdGVtcCA9IChsK3IpLzI7CiAgICAgICAgICAgIHIgPSAobCtyKS8yOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiB0ZW1wOwp9Cgpkb3VibGUgb3B0KHN0ZDo6dmVjdG9yPEludGVyPiYgdiwgaW50IGopIHsKICAgIHN0ZDo6dmVjdG9yPGRvdWJsZT4gTShqKzIpOwogICAgTVswXSA9IDA7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBqKzE7ICsraSkgewogICAgICAgIE1baV0gPSBzdGQ6Om1heCh2W2ktMV0ud2VpZ2h0ICsgTVtwKHYsIGkgLSAxKSArIDFdLCBNW2ktMV0pOwogICAgfQogICAgcmV0dXJuIE1baisxXTsKfQoKYm9vbCBjb21wYXJlKEludGVyJiBhLCBJbnRlciYgYikgewogICAgcmV0dXJuIGEucmlnaHQgPCBiLnJpZ2h0Owp9CgppbnQgbWFpbigpIHsKICAgIGludCBuOwogICAgc3RkOjpjaW4gPj4gbjsKICAgIGRvdWJsZSBsLCByLCB3OwogICAgSW50ZXIgaW50ZXI7CiAgICBzdGQ6OnZlY3RvcjxJbnRlcj4gdihuKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgc3RkOjpjaW4gPj4gaW50ZXIubGVmdCA+PiBpbnRlci5yaWdodCA+PiBpbnRlci53ZWlnaHQ7CiAgICAgICAgdltpXSA9IGludGVyOwogICAgfQogICAgc3RkOjpzb3J0KHYuYmVnaW4oKSwgdi5lbmQoKSwgY29tcGFyZSk7CiAgICBzdGQ6OmNvdXQgPDwgb3B0KHYsIG4tMSk7Cn0KCg==