n = gets.to_i xy = n.times.map { gets.split.map &:to_i } ans = 0 xy.each do |x, y| p2 = xy.map {|x2, y2| [x2 - x, y2 - y] } cnt = Hash.new(0) cnt0 = 0 p2.select {|x2, y2| x2 != 0 || y2 != 0 }.each do |x2, y2| if y2 == 0 cnt0 += 1 else cnt[Rational(x2, y2)] += 1 end end ma = (cnt.empty? ? cnt0 : [cnt.values.max, cnt0].max) + 1 ans = ma if ans < ma end puts ans