N = int(input())
x = [0] * N
y = [0] * N
for i in range(N):
    x[i],y[i] = map(int,input().split())

if N == 1:
    print(1)
else:
    memo = {}

    for i in range(N-1):
        for j in range(i+1,N):
            dx = x[j] - x[i]
            dy = y[j] - y[i]
            if (dx,dy) in memo:
                memo[(dx,dy)] += 1
            elif (-dx,-dy) in memo:
                memo[(-dx,-dy)] += 1
            else:
               memo[(dx,dy)] = 1
            #print(memo)

    M = max(memo.values())

    print(N-M) N = int(input()) N int(input()) int input() input x = [0] * N x [0] * N [0] 0 N y = [0] * N y [0] * N [0] 0 N for i in range(N):
    x[i],y[i] = map(int,input().split()) i range(N) range N x[i],y[i] = map(int,input().split()) x[i] x i map(int,input().split()) map int input().split() ().split () input split y[i] y i if N == 1:
    print(1)
else:
    memo = {}

    for i in range(N-1):
        for j in range(i+1,N):
            dx = x[j] - x[i]
            dy = y[j] - y[i]
            if (dx,dy) in memo:
                memo[(dx,dy)] += 1
            elif (-dx,-dy) in memo:
                memo[(-dx,-dy)] += 1
            else:
               memo[(dx,dy)] = 1
            #print(memo)

    M = max(memo.values())

    print(N-M) N == 1 N 1 print(1) print 1 memo = {} memo {} for i in range(N-1):
        for j in range(i+1,N):
            dx = x[j] - x[i]
            dy = y[j] - y[i]
            if (dx,dy) in memo:
                memo[(dx,dy)] += 1
            elif (-dx,-dy) in memo:
                memo[(-dx,-dy)] += 1
            else:
               memo[(dx,dy)] = 1
            #print(memo)

     i range(N-1) range N-1 N 1 for j in range(i+1,N):
            dx = x[j] - x[i]
            dy = y[j] - y[i]
            if (dx,dy) in memo:
                memo[(dx,dy)] += 1
            elif (-dx,-dy) in memo:
                memo[(-dx,-dy)] += 1
            else:
               memo[(dx,dy)] = 1
            #print(memo)

     j range(i+1,N) range i+1 i 1 N dx = x[j] - x[i] dx x[j] - x[i] x[j] x j x[i] x i dy = y[j] - y[i] dy y[j] - y[i] y[j] y j y[i] y i if (dx,dy) in memo:
                memo[(dx,dy)] += 1
            elif (-dx,-dy) in memo:
                memo[(-dx,-dy)] += 1
            else:
               memo[(dx,dy)] = 1
            #print(memo)

     (dx,dy) in memo (dx,dy) dx dy memo memo[(dx,dy)] += 1 memo[(dx,dy)] memo (dx,dy) dx dy 1 elif (-dx,-dy) in memo:
                memo[(-dx,-dy)] += 1
             (-dx,-dy) in memo (-dx,-dy) -dx dx -dy dy memo memo[(-dx,-dy)] += 1 memo[(-dx,-dy)] memo (-dx,-dy) -dx dx -dy dy 1 memo[(dx,dy)] = 1 memo[(dx,dy)] memo (dx,dy) dx dy 1 M = max(memo.values()) M max(memo.values()) max memo.values() memo.values memo values print(N-M) print N-M N M memo = {} {} memo dx = x[j] - x[i] x[j] - x[i] dx dy = y[j] - y[i] y[j] - y[i] dy N = int(input()) int(input()) N M = max(memo.values()) max(memo.values()) M y = [0] * N [0] * N y x = [0] * N [0] * N x
N = int(input())
x = [0] * N
y = [0] * N
for i in range(N):
    x[i],y[i] = map(int,input().split())

if N == 1:
    print(1)
else:
    memo = {}

    for i in range(N-1):
        for j in range(i+1,N):
            dx = x[j] - x[i]
            dy = y[j] - y[i]
            if (dx,dy) in memo:
                memo[(dx,dy)] += 1
            elif (-dx,-dy) in memo:
                memo[(-dx,-dy)] += 1
            else:
               memo[(dx,dy)] = 1
            #print(memo)

    M = max(memo.values())

    print(N-M)
