n = int(input())
A = [list(map(int,input().split())) for i in range(n)]

# B = [[[0, 0] for i in range(n)] for j in range(n)]
if n == 1:
    print(1)
else:

    D = {}
    for i in range(n):
        for j in range(n):
            if i != j:
                dy = A[i][1] - A[j][1]
                dx = A[i][0] - A[j][0]
                try:
                    D[(dx, dy)] += 1
                except:
                    D[(dx, dy)] = 1
    # print(D)
    ans = n - max(list(D.values()))
    print(ans) n = int(input()) n int(input()) int input() input list(map(int,input().split())) for i in range(n) for i in range(n) i range(n) range n for i 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 i in range(n)] A [list(map(int,input().split())) for i in range(n)] if n == 1:
    print(1)
else:

    D = {}
    for i in range(n):
        for j in range(n):
            if i != j:
                dy = A[i][1] - A[j][1]
                dx = A[i][0] - A[j][0]
                try:
                    D[(dx, dy)] += 1
                except:
                    D[(dx, dy)] = 1
    # print(D)
    ans = n - max(list(D.values()))
    print(ans) n == 1 n 1 print(1) print 1 D = {} D {} for i in range(n):
        for j in range(n):
            if i != j:
                dy = A[i][1] - A[j][1]
                dx = A[i][0] - A[j][0]
                try:
                    D[(dx, dy)] += 1
                except:
                    D[(dx, dy)] = 1
    # print(D)
     i range(n) range n for j in range(n):
            if i != j:
                dy = A[i][1] - A[j][1]
                dx = A[i][0] - A[j][0]
                try:
                    D[(dx, dy)] += 1
                except:
                    D[(dx, dy)] = 1
    # print(D)
     j range(n) range n if i != j:
                dy = A[i][1] - A[j][1]
                dx = A[i][0] - A[j][0]
                try:
                    D[(dx, dy)] += 1
                except:
                    D[(dx, dy)] = 1
    # print(D)
     i != j i j 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 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 try:
                    D[(dx, dy)] += 1
                except:
                    D[(dx, dy)] = 1
    # print(D)
     except:
                    D[(dx, dy)] = 1
    # print(D)
     D[(dx, dy)] = 1 D[(dx, dy)] D (dx, dy) dx dy 1 D[(dx, dy)] += 1 D[(dx, dy)] D (dx, dy) dx dy 1 ans = n - max(list(D.values())) ans n - max(list(D.values())) n max(list(D.values())) max list(D.values()) list D.values() D.values D values print(ans) print ans D = {} {} D dx = A[i][0] - A[j][0] A[i][0] - A[j][0] dx ans = n - max(list(D.values())) n - max(list(D.values())) ans A = [list(map(int,input().split())) for i in range(n)] [list(map(int,input().split())) for i in range(n)] A n = int(input()) int(input()) n dy = A[i][1] - A[j][1] A[i][1] - A[j][1] dy
n = int(input())
A = [list(map(int,input().split())) for i in range(n)]

# B = [[[0, 0] for i in range(n)] for j in range(n)]
if n == 1:
    print(1)
else:

    D = {}
    for i in range(n):
        for j in range(n):
            if i != j:
                dy = A[i][1] - A[j][1]
                dx = A[i][0] - A[j][0]
                try:
                    D[(dx, dy)] += 1
                except:
                    D[(dx, dy)] = 1
    # print(D)
    ans = n - max(list(D.values()))
    print(ans)