bufio_scanner = [] def main(): n = int(fmt_scan()) s = [] ln = dict() for _ in range(n): x, y = [int(fmt_scan()) for _ in range(2)] for v in s: if v[0] != x: a = (y - v[1]) / (x - v[0]) b = (x * v[1] - v[0] * y) / (x - v[0]) ln[(a, b)] = 0 else: ln[x] = 0 s.append((x, y)) ans = 0 for p in ln: for v in s: x, y = v if isinstance(p, int): if x == p: ln[p] += 1 else: a, b = p if y == a * x + b: ln[p] += 1 ans = max(ans, ln[p]) print(ans) def fmt_scan() -> str: sc = bufio_scanner if len(sc) == 0: for v in reversed(input().split()): sc.append(v) return sc.pop() main()