local mma = math.max local n = io.read("*n") local t = {} for i = 1, n do local x, y, z = io.read("*n", "*n", "*n") if y < x then x, y = y, x end if z < x then x, z = z, x end if z < y then y, z = z, y end t[i] = {x, y, z} end local function sortfunc(a, b) if a[1] ~= b[1] then return a[1] < b[1] elseif a[2] ~= b[2] then return a[2] < b[2] else return a[3] < b[3] end end table.sort(t, sortfunc) local v = {} v[1] = 1 for i = 2, n do local cand = 1 for j = 1, i - 1 do if t[j][1] < t[i][1] and t[j][2] < t[i][2] and t[j][3] < t[i][3] then cand = mma(cand, v[j] + 1) end end v[i] = cand end local ret = 1 for i = 1, n do ret = mma(ret, v[i]) end print(ret)