n = int(input())
A = []
for _ in range(n):
  x, y = map(int, input().split())
  A.append((x, y))
maxc = 0
for i in range(n):
  for j in range(n):
    c = 0
    if i == j:
      continue
    dx = A[i][0] - A[j][0]
    dy = A[i][1] - A[j][1]
    for k in range(n):
      for l in range(n):
        if k == l:
          continue
        if A[k][0] + dx == A[l][0] and A[k][1] + dy == A[l][1]:
          c += 1
    if maxc < c:
      maxc = c
print(n-maxc)
    
    
 n = int(input()) n int(input()) int input() input A = [] A [] for _ in range(n):
  x, y = map(int, input().split())
  A.append((x, y)) _ range(n) range n x, y = map(int, input().split()) x map(int, input().split()) map int input().split() ().split () input split y A.append((x, y)) A.append A append (x, y) x y maxc = 0 maxc 0 for i in range(n):
  for j in range(n):
    c = 0
    if i == j:
      continue
    dx = A[i][0] - A[j][0]
    dy = A[i][1] - A[j][1]
    for k in range(n):
      for l in range(n):
        if k == l:
          continue
        if A[k][0] + dx == A[l][0] and A[k][1] + dy == A[l][1]:
          c += 1
    if maxc < c:
      maxc = c i range(n) range n for j in range(n):
    c = 0
    if i == j:
      continue
    dx = A[i][0] - A[j][0]
    dy = A[i][1] - A[j][1]
    for k in range(n):
      for l in range(n):
        if k == l:
          continue
        if A[k][0] + dx == A[l][0] and A[k][1] + dy == A[l][1]:
          c += 1
    if maxc < c:
      maxc = c j range(n) range n c = 0 c 0 if i == j:
      continue
     i == j i j continue dx = A[i][0] - A[j][0] dx A[i][0] - A[j][0] A[i][0] [i] A i 0 A[j][0] [j] A j 0 dy = A[i][1] - A[j][1] dy A[i][1] - A[j][1] A[i][1] [i] A i 1 A[j][1] [j] A j 1 for k in range(n):
      for l in range(n):
        if k == l:
          continue
        if A[k][0] + dx == A[l][0] and A[k][1] + dy == A[l][1]:
          c += 1
     k range(n) range n for l in range(n):
        if k == l:
          continue
        if A[k][0] + dx == A[l][0] and A[k][1] + dy == A[l][1]:
          c += 1
     l range(n) range n if k == l:
          continue
         k == l k l continue if A[k][0] + dx == A[l][0] and A[k][1] + dy == A[l][1]:
          c += 1
     A[k][0] + dx == A[l][0] and A[k][1] + dy == A[l][1] A[k][0] + dx == A[l][0] A[k][0] + dx A[k][0] [k] A k 0 dx A[l][0] [l] A l 0 A[k][1] + dy == A[l][1] A[k][1] + dy A[k][1] [k] A k 1 dy A[l][1] [l] A l 1 c += 1 c 1 if maxc < c:
      maxc = c maxc < c maxc c maxc = c maxc c print(n-maxc) print n-maxc n maxc A = [] [] A dx = A[i][0] - A[j][0] A[i][0] - A[j][0] dx x, y = map(int, input().split()) map(int, input().split()) x y = map(int, input().split()) map(int, input().split()) y maxc = c c maxc dy = A[i][1] - A[j][1] A[i][1] - A[j][1] dy c += 1 1 c n = int(input()) int(input()) n c = 0 0 c maxc = 0 0 maxc
n = int(input())
A = []
for _ in range(n):
  x, y = map(int, input().split())
  A.append((x, y))
maxc = 0
for i in range(n):
  for j in range(n):
    c = 0
    if i == j:
      continue
    dx = A[i][0] - A[j][0]
    dy = A[i][1] - A[j][1]
    for k in range(n):
      for l in range(n):
        if k == l:
          continue
        if A[k][0] + dx == A[l][0] and A[k][1] + dy == A[l][1]:
          c += 1
    if maxc < c:
      maxc = c
print(n-maxc)
    
    

