#include using namespace std; typedef long long ll; typedef long double ld; #define rep(i,n) for (int i = 0; i < (n); ++i) templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b> n; vector> e(n); vector> d(n,vector(3)); int ans=1; rep(i,n){ rep(j,3){ cin >> d[i][j]; } sort(d[i].begin(),d[i].end()); } vector h(n); rep(i,n){ rep(j,n){ if(d[i][0] q; q.push(i); vector d(n,1); while(!q.empty()){ int p=q.front(); q.pop(); for(int x:e[p]){ if(chmax(d[x],d[p]+1)){ q.push(x); } } } int res=0; rep(j,n){ chmax(res,d[j]); } chmax(ans,res); } cout << ans << endl; }