Загрузка данных


import sys
from collections import Counter

def main():
    # Чтение всех входных данных из стандартного потока
    input_data = sys.stdin.read().split()
    if not input_data:
        return
    
    n = int(input_data[0])
    
    # Словари для подсчета точек на прямых, параллельных осям X, Y и Z
    lines_x = Counter()  # Ключ: (y, z)
    lines_y = Counter()  # Ключ: (x, z)
    lines_z = Counter()  # Ключ: (x, y)
    
    idx = 1
    for _ in range(n):
        x = int(input_data[idx])
        y = int(input_data[idx+1])
        z = int(input_data[idx+2])
        idx += 3
        
        lines_x[(y, z)] += 1
        lines_y[(x, z)] += 1
        lines_z[(x, y)] += 1
        
    # Изначально любое подмножество из 1 точки всегда согласовано
    max_subset = 1
    
    if lines_x:
        max_subset = max(max_subset, max(lines_x.values()))
    if lines_y:
        max_subset = max(max_subset, max(lines_y.values()))
    if lines_z:
        max_subset = max(max_subset, max(lines_z.values()))
        
    print(max_subset)

if __name__ == '__main__':
    main()