N, *XY = map(int, open(0).read().split())
X = XY[::2]
Y = XY[1::2]
ans = N
for i in range(N):
    for j in range(N):
        if i == j:
            continue
        p = X[i] - X[j]
        q = Y[i] - Y[j]
        cnt = 0
        for k in range(N):
            for l in range(N):
                if k == l:
                    continue
                if X[k] - X[l] == p and Y[k] - Y[l] == q:
                    cnt += 1
        ans = min(ans, N - cnt)
print(ans) N, *XY = map(int, open(0).read().split()) N map(int, open(0).read().split()) map int open(0).read().split() (0).read().split (0).read() (0).read (0) open 0 read split *XY XY X = XY[::2] X XY[::2] XY ::2 2 Y = XY[1::2] Y XY[1::2] XY 1::2 1 2 ans = N ans N for i in range(N):
    for j in range(N):
        if i == j:
            continue
        p = X[i] - X[j]
        q = Y[i] - Y[j]
        cnt = 0
        for k in range(N):
            for l in range(N):
                if k == l:
                    continue
                if X[k] - X[l] == p and Y[k] - Y[l] == q:
                    cnt += 1
        ans = min(ans, N - cnt) i range(N) range N for j in range(N):
        if i == j:
            continue
        p = X[i] - X[j]
        q = Y[i] - Y[j]
        cnt = 0
        for k in range(N):
            for l in range(N):
                if k == l:
                    continue
                if X[k] - X[l] == p and Y[k] - Y[l] == q:
                    cnt += 1
        ans = min(ans, N - cnt) j range(N) range N if i == j:
            continue
         i == j i j continue p = X[i] - X[j] p X[i] - X[j] X[i] X i X[j] X j q = Y[i] - Y[j] q Y[i] - Y[j] Y[i] Y i Y[j] Y j cnt = 0 cnt 0 for k in range(N):
            for l in range(N):
                if k == l:
                    continue
                if X[k] - X[l] == p and Y[k] - Y[l] == q:
                    cnt += 1
         k range(N) range N for l in range(N):
                if k == l:
                    continue
                if X[k] - X[l] == p and Y[k] - Y[l] == q:
                    cnt += 1
         l range(N) range N if k == l:
                    continue
                 k == l k l continue if X[k] - X[l] == p and Y[k] - Y[l] == q:
                    cnt += 1
         X[k] - X[l] == p and Y[k] - Y[l] == q X[k] - X[l] == p X[k] - X[l] X[k] X k X[l] X l p Y[k] - Y[l] == q Y[k] - Y[l] Y[k] Y k Y[l] Y l q cnt += 1 cnt 1 ans = min(ans, N - cnt) ans min(ans, N - cnt) min ans N - cnt N cnt print(ans) print ans X = XY[::2] XY[::2] X ans = min(ans, N - cnt) min(ans, N - cnt) ans q = Y[i] - Y[j] Y[i] - Y[j] q p = X[i] - X[j] X[i] - X[j] p cnt += 1 1 cnt ans = N N ans cnt = 0 0 cnt N, *XY = map(int, open(0).read().split()) map(int, open(0).read().split()) N Y = XY[1::2] XY[1::2] Y
N, *XY = map(int, open(0).read().split())
X = XY[::2]
Y = XY[1::2]
ans = N
for i in range(N):
    for j in range(N):
        if i == j:
            continue
        p = X[i] - X[j]
        q = Y[i] - Y[j]
        cnt = 0
        for k in range(N):
            for l in range(N):
                if k == l:
                    continue
                if X[k] - X[l] == p and Y[k] - Y[l] == q:
                    cnt += 1
        ans = min(ans, N - cnt)
print(ans)
