using System; using static System.Console; using System.Linq; using System.Collections.Generic; using System.Globalization; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); public static void Main() { Solve(); } static void Solve() { var n = NN; var map = NArr(n); var ans = 0; for (var i = 0; i < n; ++i) { for (var j = i + 1; j < n; ++j) { var count = 2; for (var k = j + 1; k < n; ++k) { if (OnLine(map[i], map[j], map[k])) ++count; } ans = Math.Max(ans, count); } } WriteLine(ans); } static bool OnLine(int[] a, int[] b, int[] c) { if (a[0] == b[0]) { return a[0] == c[0]; } return (c[0] - a[0]) * (b[1] - a[1]) == (b[0] - a[0]) * (c[1] - a[1]); } }