N = int(input())
l=[]
if N==1:
   print(1)
   exit()
for i in range(N):
   a,b=map(int,input().split())
   l.append((a,b))
l2=[]
for i in range(N):
   for j in range(N):
      if i!=j:
         l2.append((l[i][0]-l[j][0],l[i][1]-l[j][1]))
from collections import Counter
l2=max(Counter(l2).values())
print(N-l2) N = int(input()) N int(input()) int input() input l=[] l [] if N==1:
   print(1)
   exit() N==1 N 1 print(1) print 1 exit() exit for i in range(N):
   a,b=map(int,input().split())
   l.append((a,b)) i range(N) range N a,b=map(int,input().split()) a map(int,input().split()) map int input().split() ().split () input split b l.append((a,b)) l.append l append (a,b) a b l2=[] l2 [] for i in range(N):
   for j in range(N):
      if i!=j:
         l2.append((l[i][0]-l[j][0],l[i][1]-l[j][1])) i range(N) range N for j in range(N):
      if i!=j:
         l2.append((l[i][0]-l[j][0],l[i][1]-l[j][1])) j range(N) range N if i!=j:
         l2.append((l[i][0]-l[j][0],l[i][1]-l[j][1])) i!=j i j l2.append((l[i][0]-l[j][0],l[i][1]-l[j][1])) l2.append l2 append (l[i][0]-l[j][0],l[i][1]-l[j][1]) l[i][0]-l[j][0] l[i][0] [i] l i 0 l[j][0] [j] l j 0 l[i][1]-l[j][1] l[i][1] [i] l i 1 l[j][1] [j] l j 1 from collections import Counter l2=max(Counter(l2).values()) l2 max(Counter(l2).values()) max Counter(l2).values() (l2).values (l2) Counter l2 values print(N-l2) print N-l2 N l2 l=[] [] l a,b=map(int,input().split()) map(int,input().split()) a l2=[] [] l2 l2=max(Counter(l2).values()) max(Counter(l2).values()) l2 b=map(int,input().split()) map(int,input().split()) b N = int(input()) int(input()) N
N = int(input())
l=[]
if N==1:
   print(1)
   exit()
for i in range(N):
   a,b=map(int,input().split())
   l.append((a,b))
l2=[]
for i in range(N):
   for j in range(N):
      if i!=j:
         l2.append((l[i][0]-l[j][0],l[i][1]-l[j][1]))
from collections import Counter
l2=max(Counter(l2).values())
print(N-l2)