# https://atcoder.jp/contests/diverta2019-2/tasks/diverta2019_2_b

n = int(input())
X, Y = [], []
for _ in range(n):
    xi, yi = map(int, input().split())
    X.append(xi)
    Y.append(yi)
# print(X)
# print(Y)

if n == 1:
    print(1)
    exit()

# PQをバラすとだめ？
posPQ = []
score = int(1e18)
for i in range(n):
    xi, yi = X[i], Y[i]
    for j in range(n):
        if i == j:
            continue
        xj, yj = X[j], Y[j]
        p = xj - xi
        q = yj - yi

        # posPQ.append((dx, dy))
        count = n
        for k in range(n):
            for l in range(n):
                if X[l] - X[k] == p and Y[l] - Y[k] == q:
                    count -= 1
        # print(p, q, count)
        score = min(score, count)
print(score) n = int(input()) n int(input()) int input() input X, Y = [], [] X [] Y [] for _ in range(n):
    xi, yi = map(int, input().split())
    X.append(xi)
    Y.append(yi)
# print(X)
# print(Y) _ range(n) range n xi, yi = map(int, input().split()) xi map(int, input().split()) map int input().split() ().split () input split yi X.append(xi) X.append X append xi Y.append(yi) Y.append Y append yi if n == 1:
    print(1)
    exit()

# PQをバラすとだめ？ n == 1 n 1 print(1) print 1 exit() exit posPQ = [] posPQ [] score = int(1e18) score int(1e18) int 1e18 for i in range(n):
    xi, yi = X[i], Y[i]
    for j in range(n):
        if i == j:
            continue
        xj, yj = X[j], Y[j]
        p = xj - xi
        q = yj - yi

        # posPQ.append((dx, dy))
        count = n
        for k in range(n):
            for l in range(n):
                if X[l] - X[k] == p and Y[l] - Y[k] == q:
                    count -= 1
        # print(p, q, count)
        score = min(score, count) i range(n) range n xi, yi = X[i], Y[i] xi X[i] X i yi Y[i] Y i for j in range(n):
        if i == j:
            continue
        xj, yj = X[j], Y[j]
        p = xj - xi
        q = yj - yi

        # posPQ.append((dx, dy))
        count = n
        for k in range(n):
            for l in range(n):
                if X[l] - X[k] == p and Y[l] - Y[k] == q:
                    count -= 1
        # print(p, q, count)
        score = min(score, count) j range(n) range n if i == j:
            continue
         i == j i j continue xj, yj = X[j], Y[j] xj X[j] X j yj Y[j] Y j p = xj - xi p xj - xi xj xi q = yj - yi q yj - yi yj yi count = n count n for k in range(n):
            for l in range(n):
                if X[l] - X[k] == p and Y[l] - Y[k] == q:
                    count -= 1
        # print(p, q, count)
         k range(n) range n for l in range(n):
                if X[l] - X[k] == p and Y[l] - Y[k] == q:
                    count -= 1
        # print(p, q, count)
         l range(n) range n if X[l] - X[k] == p and Y[l] - Y[k] == q:
                    count -= 1
        # print(p, q, count)
         X[l] - X[k] == p and Y[l] - Y[k] == q X[l] - X[k] == p X[l] - X[k] X[l] X l X[k] X k p Y[l] - Y[k] == q Y[l] - Y[k] Y[l] Y l Y[k] Y k q count -= 1 count 1 score = min(score, count) score min(score, count) min score count print(score) print score score = min(score, count) min(score, count) score score = int(1e18) int(1e18) score count = n n count xi, yi = X[i], Y[i] X[i] xi yj = X[j], Y[j] Y[j] yj n = int(input()) int(input()) n q = yj - yi yj - yi q xi, yi = map(int, input().split()) map(int, input().split()) xi xj, yj = X[j], Y[j] X[j] xj yi = X[i], Y[i] Y[i] yi posPQ = [] [] posPQ count -= 1 1 count Y = [], [] [] Y yi = map(int, input().split()) map(int, input().split()) yi p = xj - xi xj - xi p X, Y = [], [] [] X
# https://atcoder.jp/contests/diverta2019-2/tasks/diverta2019_2_b

n = int(input())
X, Y = [], []
for _ in range(n):
    xi, yi = map(int, input().split())
    X.append(xi)
    Y.append(yi)
# print(X)
# print(Y)

if n == 1:
    print(1)
    exit()

# PQをバラすとだめ？
posPQ = []
score = int(1e18)
for i in range(n):
    xi, yi = X[i], Y[i]
    for j in range(n):
        if i == j:
            continue
        xj, yj = X[j], Y[j]
        p = xj - xi
        q = yj - yi

        # posPQ.append((dx, dy))
        count = n
        for k in range(n):
            for l in range(n):
                if X[l] - X[k] == p and Y[l] - Y[k] == q:
                    count -= 1
        # print(p, q, count)
        score = min(score, count)
print(score)