N = int(input())
INF = int(1e13)
A = [list(map(int, input().split())) for _ in range(N)]
X = [[[0, 0] for __ in range(N)] for _ in range(N)]
for i in range(N):
  for j in range(N):
    X[i][j] = [A[i][0]-A[j][0], A[i][1] - A[j][1]]
for i in range(N):
  X[i][i][0], X[i][i][1] = INF + 2*i, INF + 2*i+1
D = {}
for i in range(N):
  for j in range(N):
    if X[i][j][0]*(10*INF)+X[i][j][1] in D:
      D[X[i][j][0]*(10*INF)+X[i][j][1]] += 1
    else:
      D[X[i][j][0]*(10*INF)+X[i][j][1]] = 1
if N == 1:
  print(1)
else:
  print(N-max(D[i] for i in D)) N = int(input()) N int(input()) int input() input INF = int(1e13) INF int(1e13) int 1e13 list(map(int, input().split())) for _ in range(N) for _ in range(N) _ range(N) range N for _ in range(N) list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split A = [list(map(int, input().split())) for _ in range(N)] A [list(map(int, input().split())) for _ in range(N)] [[0, 0] for __ in range(N)] for _ in range(N) for _ in range(N) _ range(N) range N for _ in range(N) [[0, 0] for __ in range(N)] X = [[[0, 0] for __ in range(N)] for _ in range(N)] X [[[0, 0] for __ in range(N)] for _ in range(N)] for i in range(N):
  for j in range(N):
    X[i][j] = [A[i][0]-A[j][0], A[i][1] - A[j][1]] i range(N) range N for j in range(N):
    X[i][j] = [A[i][0]-A[j][0], A[i][1] - A[j][1]] j range(N) range N X[i][j] = [A[i][0]-A[j][0], A[i][1] - A[j][1]] X[i][j] [i] X i j [A[i][0]-A[j][0], A[i][1] - A[j][1]] A[i][0]-A[j][0] A[i][0] [i] A i 0 A[j][0] [j] A j 0 A[i][1] - A[j][1] A[i][1] [i] A i 1 A[j][1] [j] A j 1 for i in range(N):
  X[i][i][0], X[i][i][1] = INF + 2*i, INF + 2*i+1 i range(N) range N X[i][i][0], X[i][i][1] = INF + 2*i, INF + 2*i+1 X[i][i][0] [i] [i] X i i 0 INF + 2*i INF 2*i 2 i X[i][i][1] [i] [i] X i i 1 INF + 2*i+1 INF + 2*i INF 2*i 2 i 1 D = {} D {} for i in range(N):
  for j in range(N):
    if X[i][j][0]*(10*INF)+X[i][j][1] in D:
      D[X[i][j][0]*(10*INF)+X[i][j][1]] += 1
    else:
      D[X[i][j][0]*(10*INF)+X[i][j][1]] = 1 i range(N) range N for j in range(N):
    if X[i][j][0]*(10*INF)+X[i][j][1] in D:
      D[X[i][j][0]*(10*INF)+X[i][j][1]] += 1
    else:
      D[X[i][j][0]*(10*INF)+X[i][j][1]] = 1 j range(N) range N if X[i][j][0]*(10*INF)+X[i][j][1] in D:
      D[X[i][j][0]*(10*INF)+X[i][j][1]] += 1
    else:
      D[X[i][j][0]*(10*INF)+X[i][j][1]] = 1 X[i][j][0]*(10*INF)+X[i][j][1] in D X[i][j][0]*(10*INF)+X[i][j][1] X[i][j][0]*(10*INF) X[i][j][0] [j] [i] X i j 0 10*INF 10 INF X[i][j][1] [j] [i] X i j 1 D D[X[i][j][0]*(10*INF)+X[i][j][1]] += 1 D[X[i][j][0]*(10*INF)+X[i][j][1]] D X[i][j][0]*(10*INF)+X[i][j][1] X[i][j][0]*(10*INF) X[i][j][0] [j] [i] X i j 0 10*INF 10 INF X[i][j][1] [j] [i] X i j 1 1 D[X[i][j][0]*(10*INF)+X[i][j][1]] = 1 D[X[i][j][0]*(10*INF)+X[i][j][1]] D X[i][j][0]*(10*INF)+X[i][j][1] X[i][j][0]*(10*INF) X[i][j][0] [j] [i] X i j 0 10*INF 10 INF X[i][j][1] [j] [i] X i j 1 1 if N == 1:
  print(1)
else:
  print(N-max(D[i] for i in D)) N == 1 N 1 print(1) print 1 print(N-max(D[i] for i in D)) print N-max(D[i] for i in D) N max(D[i] for i in D) max D[i] D i N = int(input()) int(input()) N D = {} {} D INF = int(1e13) int(1e13) INF X = [[[0, 0] for __ in range(N)] for _ in range(N)] [[[0, 0] for __ in range(N)] for _ in range(N)] X A = [list(map(int, input().split())) for _ in range(N)] [list(map(int, input().split())) for _ in range(N)] A
N = int(input())
INF = int(1e13)
A = [list(map(int, input().split())) for _ in range(N)]
X = [[[0, 0] for __ in range(N)] for _ in range(N)]
for i in range(N):
  for j in range(N):
    X[i][j] = [A[i][0]-A[j][0], A[i][1] - A[j][1]]
for i in range(N):
  X[i][i][0], X[i][i][1] = INF + 2*i, INF + 2*i+1
D = {}
for i in range(N):
  for j in range(N):
    if X[i][j][0]*(10*INF)+X[i][j][1] in D:
      D[X[i][j][0]*(10*INF)+X[i][j][1]] += 1
    else:
      D[X[i][j][0]*(10*INF)+X[i][j][1]] = 1
if N == 1:
  print(1)
else:
  print(N-max(D[i] for i in D))
