n = int(input())
XY = []
for i in range(n):
    x, y = map(int, input().split())
    XY.append((x, y))

if n == 1:
    print(1)
    exit()
    
D = {}
for i in range(n):
    for j in range(n):
        if i == j:
            continue
        a = XY[i][0]
        b = XY[i][1]
        c = XY[j][0]
        d = XY[j][1]
        p = c-a
        q = d-b
        if (p, q) in D:
            D[(p, q)] += 1
        else:
            D[(p,q)] = 1

D = list(D.items())
D.sort(key = lambda x: -x[1])
print(n-D[0][1]) n = int(input()) n int(input()) int input() input XY = [] XY [] for i in range(n):
    x, y = map(int, input().split())
    XY.append((x, y)) i range(n) range n x, y = map(int, input().split()) x map(int, input().split()) map int input().split() ().split () input split y XY.append((x, y)) XY.append XY append (x, y) x y if n == 1:
    print(1)
    exit()
     n == 1 n 1 print(1) print 1 exit() exit D = {} D {} for i in range(n):
    for j in range(n):
        if i == j:
            continue
        a = XY[i][0]
        b = XY[i][1]
        c = XY[j][0]
        d = XY[j][1]
        p = c-a
        q = d-b
        if (p, q) in D:
            D[(p, q)] += 1
        else:
            D[(p,q)] = 1 i range(n) range n for j in range(n):
        if i == j:
            continue
        a = XY[i][0]
        b = XY[i][1]
        c = XY[j][0]
        d = XY[j][1]
        p = c-a
        q = d-b
        if (p, q) in D:
            D[(p, q)] += 1
        else:
            D[(p,q)] = 1 j range(n) range n if i == j:
            continue
         i == j i j continue a = XY[i][0] a XY[i][0] [i] XY i 0 b = XY[i][1] b XY[i][1] [i] XY i 1 c = XY[j][0] c XY[j][0] [j] XY j 0 d = XY[j][1] d XY[j][1] [j] XY j 1 p = c-a p c-a c a q = d-b q d-b d b if (p, q) in D:
            D[(p, q)] += 1
        else:
            D[(p,q)] = 1 (p, q) in D (p, q) p q D D[(p, q)] += 1 D[(p, q)] D (p, q) p q 1 D[(p,q)] = 1 D[(p,q)] D (p,q) p q 1 D = list(D.items()) D list(D.items()) list D.items() D.items D items D.sort(key = lambda x: -x[1]) D.sort D sort key = lambda x: -x[1] key lambda x: -x[1] -x[1] x[1] x 1 x print(n-D[0][1]) print n-D[0][1] n D[0][1] [0] D 0 1 n = int(input()) int(input()) n p = c-a c-a p D = list(D.items()) list(D.items()) D a = XY[i][0] XY[i][0] a D = {} {} D XY = [] [] XY c = XY[j][0] XY[j][0] c y = map(int, input().split()) map(int, input().split()) y b = XY[i][1] XY[i][1] b q = d-b d-b q x, y = map(int, input().split()) map(int, input().split()) x d = XY[j][1] XY[j][1] d
n = int(input())
XY = []
for i in range(n):
    x, y = map(int, input().split())
    XY.append((x, y))

if n == 1:
    print(1)
    exit()
    
D = {}
for i in range(n):
    for j in range(n):
        if i == j:
            continue
        a = XY[i][0]
        b = XY[i][1]
        c = XY[j][0]
        d = XY[j][1]
        p = c-a
        q = d-b
        if (p, q) in D:
            D[(p, q)] += 1
        else:
            D[(p,q)] = 1

D = list(D.items())
D.sort(key = lambda x: -x[1])
print(n-D[0][1])
