n = gets.chop.to_i
x = []
y = []
n.times do
  line = gets.chop.split.map(&:to_i)
  x << line.shift
  y << line
end

x=x.flatten
y=y.flatten

sum_x=0.0
sum_y=0.0
sum_x2=0.0
sum_xy=0.0

for i in 0...n
  sum_x=sum_x+x[i].to_i
  sum_y=sum_y+y[i].to_i
  sum_x2=sum_x2+x[i].to_i*x[i].to_i
  sum_xy=sum_xy+x[i].to_i*y[i].to_i
end

a=(n*sum_xy-sum_x*sum_y)/(n*sum_x2-sum_x*sum_x)
b=(sum_x2*sum_y-sum_xy*sum_x)/(n*sum_x2-sum_x*sum_x)

r_res=1
for i in 0...n
  if(y[i].to_i!=a*x[i].to_i+b)
    r_res+=1
  end
end



h=[]

for i in 0...n
  h[i]=[Math.sqrt(x[i]*x[i]+y[i]*y[i]),x[i],y[i]]
end

h.sort_by!{|a| a[0]}

res=Array.new(101*101)

for p in -50..50
  for q in -50..50
    idx=(p+50)*101+q+50
    res[idx]=1
    for i in 1...n
      if((h[i][1]!=h[i-1][1]+p)||(h[i][2]!=h[i-1][2]+q))
        res[idx]+=1
      end
    end
  end
end

if(r_res<res.min)
  puts r_res
else
  puts res.min
end
