#include <algorithm>
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

bool com_w(vector<int> p1,vector<int> p2)
{
     //按照体重从小到大排序 
     if(p1[0]!= p2[0])
     return p1[0] <= p2[0];
     //在体重相等的条件下,身高高的在前(在上) 
     else
     return p1[1]>p2[1];
}
int main() {
    int N;
    
    while(cin>>N){
        int maxx = 0;
        vector<vector<int>>nums;
        int useless;
        
        for(int i = 0;i<N;i++)
        {
            vector<int> pe(2,0);
            cin>>useless>>pe[0]>>pe[1];
            nums.push_back(pe);
        }

        
        vector<int> dp(N,1);
        sort(nums.begin(), nums.end(),com_w);

        /*for(int i = 0;i<N;i++)
        {
            cout<<nums[i][0]<<' '<<nums[i][1]<<endl;
        }   */
        
        dp[0] = 1;
        
        for(int i = 1 ;i<N;i++)
        {
            for(int j =i-1;j>=0;j--)
            {
                if(nums[i][1]>=nums[j][1])
                {
                    dp[i] = max(dp[i],dp[j]+1);
                }
            }
            maxx = dp[i]>maxx?dp[i]:maxx;
        }
        cout<<maxx<<endl;
        
    }
    
}