#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;
}
}