# coding: utf-8 def readData(): n = input() box_list = [] while len(box_list) != n: box = map(int, raw_input().split()) box.sort() box_list.append(box) box_list.sort() return n, box_list # box2のほうが大きければTrueを返す def compare_box(box1, box2): for t in xrange(3): if box2[t] <= box1[t]: return False return True def matryoshka(n, box_list): dp = [1] * n for i in xrange(n-2, -1, -1): for j in xrange(i+1, n): if compare_box(box_list[i], box_list[j]): dp[i] = max(dp[i], dp[j]+1) print max(dp) if __name__ == "__main__": n, box_list = readData() matryoshka(n, box_list)