N = int(input())
S = list(tuple(map(int, input().split())) for _ in range(N))
A = []
if N == 1:
    print(1)
else:
    for i in range(N):
        for j in range(N):
            if i == j:
                continue
            a, b = S[i]
            c, d = S[j]
            for k in range(len(A)):
                e, f, g = A[k]
                if e == a-c and f == b-d:
                    A[k] = (e, f, g+1)
                    break
            else:
                A.append((a-c, b-d, 1))
    print(N-max(list(x[2] for x in A)))

 N = int(input()) N int(input()) int input() input S = list(tuple(map(int, input().split())) for _ in range(N)) S list(tuple(map(int, input().split())) for _ in range(N)) list tuple(map(int, input().split())) tuple map(int, input().split()) map int input().split() ().split () input split A = [] A [] if N == 1:
    print(1)
else:
    for i in range(N):
        for j in range(N):
            if i == j:
                continue
            a, b = S[i]
            c, d = S[j]
            for k in range(len(A)):
                e, f, g = A[k]
                if e == a-c and f == b-d:
                    A[k] = (e, f, g+1)
                    break
            else:
                A.append((a-c, b-d, 1))
    print(N-max(list(x[2] for x in A))) N == 1 N 1 print(1) print 1 for i in range(N):
        for j in range(N):
            if i == j:
                continue
            a, b = S[i]
            c, d = S[j]
            for k in range(len(A)):
                e, f, g = A[k]
                if e == a-c and f == b-d:
                    A[k] = (e, f, g+1)
                    break
            else:
                A.append((a-c, b-d, 1))
     i range(N) range N for j in range(N):
            if i == j:
                continue
            a, b = S[i]
            c, d = S[j]
            for k in range(len(A)):
                e, f, g = A[k]
                if e == a-c and f == b-d:
                    A[k] = (e, f, g+1)
                    break
            else:
                A.append((a-c, b-d, 1))
     j range(N) range N if i == j:
                continue
             i == j i j continue a, b = S[i] a S[i] S i b c, d = S[j] c S[j] S j d for k in range(len(A)):
                e, f, g = A[k]
                if e == a-c and f == b-d:
                    A[k] = (e, f, g+1)
                    break
            else:
                A.append((a-c, b-d, 1))
     k range(len(A)) range len(A) len A e, f, g = A[k] e A[k] A k f g if e == a-c and f == b-d:
                    A[k] = (e, f, g+1)
                    break
             e == a-c and f == b-d e == a-c e a-c a c f == b-d f b-d b d A[k] = (e, f, g+1) A[k] A k (e, f, g+1) e f g+1 g 1 break A.append((a-c, b-d, 1)) A.append A append (a-c, b-d, 1) a-c a c b-d b d 1 print(N-max(list(x[2] for x in A))) print N-max(list(x[2] for x in A)) N max(list(x[2] for x in A)) max list(x[2] for x in A) list x[2] x 2 d = S[j] S[j] d e, f, g = A[k] A[k] e b = S[i] S[i] b f, g = A[k] A[k] f N = int(input()) int(input()) N g = A[k] A[k] g c, d = S[j] S[j] c A = [] [] A a, b = S[i] S[i] a S = list(tuple(map(int, input().split())) for _ in range(N)) list(tuple(map(int, input().split())) for _ in range(N)) S
N = int(input())
S = list(tuple(map(int, input().split())) for _ in range(N))
A = []
if N == 1:
    print(1)
else:
    for i in range(N):
        for j in range(N):
            if i == j:
                continue
            a, b = S[i]
            c, d = S[j]
            for k in range(len(A)):
                e, f, g = A[k]
                if e == a-c and f == b-d:
                    A[k] = (e, f, g+1)
                    break
            else:
                A.append((a-c, b-d, 1))
    print(N-max(list(x[2] for x in A)))


