#!/usr/bin/env python3 # %% import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines # %% import numpy as np N = int(readline()) XYZ = np.array(read().split(), np.int32).reshape(N, 3) XYZ.sort(axis=1) # %% X, Y, Z = XYZ.T ind = np.argsort(X) X = X[ind] Y = Y[ind] Z = Z[ind] # %% dp = np.zeros(N, np.int32) for n in range(N): x = X[n] y = Y[n] z = Z[n] smaller = (X < x) & (Y < y) & (Z < z) dp[n] = (dp * smaller).max() + 1 # %% print(dp.max())