N,*L = map(int, open(0).read().split())
ls = [0]*N
for i,c in enumerate(zip(*[iter(L)]*2)):
  ls[i] = c
ls.sort()
pls = []
for i in range(N):
  for j in range(i+1,N):
    a,b = ls[i]
    x,y = ls[j]
    pls += [(x-a,y-b)]
ans = 10**10
for X,Y in pls:
  s = set()
  m = 0
  for x,y in ls:
    if (x-X, y-Y) not in s:
      m += 1
    s.add((x,y))
  ans = min(m,ans)
if N==1:
  ans = 1
print(ans) N,*L = map(int, open(0).read().split()) N map(int, open(0).read().split()) map int open(0).read().split() (0).read().split (0).read() (0).read (0) open 0 read split *L L ls = [0]*N ls [0]*N [0] 0 N for i,c in enumerate(zip(*[iter(L)]*2)):
  ls[i] = c i c enumerate(zip(*[iter(L)]*2)) enumerate zip(*[iter(L)]*2) zip *[iter(L)]*2 [iter(L)]*2 [iter(L)] iter(L) iter L 2 ls[i] = c ls[i] ls i c ls.sort() ls.sort ls sort pls = [] pls [] for i in range(N):
  for j in range(i+1,N):
    a,b = ls[i]
    x,y = ls[j]
    pls += [(x-a,y-b)] i range(N) range N for j in range(i+1,N):
    a,b = ls[i]
    x,y = ls[j]
    pls += [(x-a,y-b)] j range(i+1,N) range i+1 i 1 N a,b = ls[i] a ls[i] ls i b x,y = ls[j] x ls[j] ls j y pls += [(x-a,y-b)] pls [(x-a,y-b)] (x-a,y-b) x-a x a y-b y b ans = 10**10 ans 10**10 10 10 for X,Y in pls:
  s = set()
  m = 0
  for x,y in ls:
    if (x-X, y-Y) not in s:
      m += 1
    s.add((x,y))
  ans = min(m,ans) X Y pls s = set() s set() set m = 0 m 0 for x,y in ls:
    if (x-X, y-Y) not in s:
      m += 1
    s.add((x,y))
   x y ls if (x-X, y-Y) not in s:
      m += 1
     (x-X, y-Y) not in s (x-X, y-Y) x-X x X y-Y y Y s m += 1 m 1 s.add((x,y)) s.add s add (x,y) x y ans = min(m,ans) ans min(m,ans) min m ans if N==1:
  ans = 1 N==1 N 1 ans = 1 ans 1 print(ans) print ans N,*L = map(int, open(0).read().split()) map(int, open(0).read().split()) N y = ls[j] ls[j] y ans = 1 1 ans m += 1 1 m x,y = ls[j] ls[j] x ans = 10**10 10**10 ans s = set() set() s b = ls[i] ls[i] b ans = min(m,ans) min(m,ans) ans pls = [] [] pls a,b = ls[i] ls[i] a ls = [0]*N [0]*N ls pls += [(x-a,y-b)] [(x-a,y-b)] pls m = 0 0 m
N,*L = map(int, open(0).read().split())
ls = [0]*N
for i,c in enumerate(zip(*[iter(L)]*2)):
  ls[i] = c
ls.sort()
pls = []
for i in range(N):
  for j in range(i+1,N):
    a,b = ls[i]
    x,y = ls[j]
    pls += [(x-a,y-b)]
ans = 10**10
for X,Y in pls:
  s = set()
  m = 0
  for x,y in ls:
    if (x-X, y-Y) not in s:
      m += 1
    s.add((x,y))
  ans = min(m,ans)
if N==1:
  ans = 1
print(ans)