#include using namespace std; #define fst(t) std::get<0>(t) #define snd(t) std::get<1>(t) #define thd(t) std::get<2>(t) using ll = long long; using P = std::tuple; const int dx[8] = {-1, 1, 0, 0, -1, -1, 1, 1}, dy[8] = {0, 0, -1, 1, -1, 1, -1, 1}; int N; int Xs[1000][3]; std::vector G[1000]; int d[1000]; int dfs(int v){ if(d[v] != -1){return d[v];} int r = 1; for(int w : G[v]){ r = max(r, dfs(w) + 1); } return d[v] = r; } int main(){ std::cin.tie(nullptr); std::ios::sync_with_stdio(false); memset(d, -1, sizeof(d)); std::cin >> N; for(int i=0;i> Xs[i][j]; } sort(&Xs[0][0] + i * 3, &Xs[0][0] + i * 3 + 3); // for(int j=0;j<3;++j){ // std::cout << Xs[i][j] << std::endl; // } } for(int i=0;i