#include <cstdio>
#include <iostream>
#include <sstream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <bitset>
#include <numeric>
#include <climits>
#include <cfloat>
using namespace std;

class Data
{
public:
    int a, b, w;
    bool operator<(const Data& d) const{
        return a < d.a;
    }
};

int main()
{
    for(;;){
        int n;
        cin >> n;
        if(n == 0)
            return 0;

        vector<Data> d(n);
        for(int i=0; i<n; ++i)
            cin >> d[i].a >> d[i].b >> d[i].w;
        sort(d.begin(), d.end());

        vector<vector<int> > dp(366, vector<int>(366, 0));
        for(int i=0; i<n; ++i){
            for(int j=365; j>=0; --j){
                for(int k=365; k>=0; --k){
                    if(j < d[i].a)
                        dp[d[i].b][k] = max(dp[d[i].b][k], dp[j][k] + d[i].w);
                    if(k < d[i].a)
                        dp[j][d[i].b] = max(dp[j][d[i].b], dp[j][k] + d[i].w);
                }
            }
        }

        int ret = 0;
        for(int i=0; i<366; ++i){
            for(int j=0; j<366; ++j){
                ret = max(ret, dp[i][j]);
            }
        }

        cout << ret << endl;
    }
}