N=int(input())
if N==1:
  print(1)
  exit()
L=list()
R=list()
for i in range(N):
  a,b=map(int,input().split())
  L.append([a,b])
k=dict()
for i in range(N-1):
  for j in range(i+1,N):
    a,b=L[i]
    c,d=L[j]
    R.append([a-c,b-d])
    n=str(a-c)+" "+str(b-d)
    if n in k:
      k[n]+=1
    else:
      k[n]=1
    R.append([c-a,d-b])
    n=str(c-a)+" "+str(d-b)
    if n in k:
      k[n]+=1
    else:
      k[n]=1
op=max(k.values())
print(N-op) N=int(input()) N int(input()) int input() input if N==1:
  print(1)
  exit() N==1 N 1 print(1) print 1 exit() exit L=list() L list() list R=list() R list() list 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 k=dict() k dict() dict for i in range(N-1):
  for j in range(i+1,N):
    a,b=L[i]
    c,d=L[j]
    R.append([a-c,b-d])
    n=str(a-c)+" "+str(b-d)
    if n in k:
      k[n]+=1
    else:
      k[n]=1
    R.append([c-a,d-b])
    n=str(c-a)+" "+str(d-b)
    if n in k:
      k[n]+=1
    else:
      k[n]=1 i range(N-1) range N-1 N 1 for j in range(i+1,N):
    a,b=L[i]
    c,d=L[j]
    R.append([a-c,b-d])
    n=str(a-c)+" "+str(b-d)
    if n in k:
      k[n]+=1
    else:
      k[n]=1
    R.append([c-a,d-b])
    n=str(c-a)+" "+str(d-b)
    if n in k:
      k[n]+=1
    else:
      k[n]=1 j range(i+1,N) range i+1 i 1 N a,b=L[i] a L[i] L i b c,d=L[j] c L[j] L j d R.append([a-c,b-d]) R.append R append [a-c,b-d] a-c a c b-d b d n=str(a-c)+" "+str(b-d) n str(a-c)+" "+str(b-d) str(a-c)+" " str(a-c) str a-c a c " " str(b-d) str b-d b d if n in k:
      k[n]+=1
    else:
      k[n]=1
     n in k n k k[n]+=1 k[n] k n 1 k[n]=1 k[n] k n 1 R.append([c-a,d-b]) R.append R append [c-a,d-b] c-a c a d-b d b n=str(c-a)+" "+str(d-b) n str(c-a)+" "+str(d-b) str(c-a)+" " str(c-a) str c-a c a " " str(d-b) str d-b d b if n in k:
      k[n]+=1
    else:
      k[n]=1 n in k n k k[n]+=1 k[n] k n 1 k[n]=1 k[n] k n 1 op=max(k.values()) op max(k.values()) max k.values() k.values k values print(N-op) print N-op N op a,b=L[i] L[i] a R=list() list() R b=map(int,input().split()) map(int,input().split()) b L=list() list() L k=dict() dict() k N=int(input()) int(input()) N d=L[j] L[j] d a,b=map(int,input().split()) map(int,input().split()) a n=str(a-c)+" "+str(b-d) str(a-c)+" "+str(b-d) n op=max(k.values()) max(k.values()) op n=str(c-a)+" "+str(d-b) str(c-a)+" "+str(d-b) n b=L[i] L[i] b c,d=L[j] L[j] c
N=int(input())
if N==1:
  print(1)
  exit()
L=list()
R=list()
for i in range(N):
  a,b=map(int,input().split())
  L.append([a,b])
k=dict()
for i in range(N-1):
  for j in range(i+1,N):
    a,b=L[i]
    c,d=L[j]
    R.append([a-c,b-d])
    n=str(a-c)+" "+str(b-d)
    if n in k:
      k[n]+=1
    else:
      k[n]=1
    R.append([c-a,d-b])
    n=str(c-a)+" "+str(d-b)
    if n in k:
      k[n]+=1
    else:
      k[n]=1
op=max(k.values())
print(N-op)