import sys
import math
import itertools
import bisect
from copy import copy
from collections import deque,Counter
from decimal import Decimal
def s(): return input()
def i(): return int(input())
def S(): return input().split()
def I(): return map(int,input().split())
def L(): return list(input().split())
def l(): return list(map(int,input().split()))
def lcm(a,b): return a*b//math.gcd(a,b)
sys.setrecursionlimit(10**9)
INF = 10**9
mod = 10**9+7

N = i()
S = [l() for _ in range(N)]
ans = 0
pq = []
for i in S:
    for j in S:
        if i == j:
            continue
        pq.append((i[0]-j[0],i[1]-j[1]))
for p,q in set(pq):
    cnt = 0
    for i in S:
        for j in S:
            if i == j:
                continue
            if (i[0]-j[0],i[1]-j[1]) == (p,q):
                cnt += 1
    ans = max(ans,cnt)
print(N-ans) import sys sys import math math import itertools itertools import bisect bisect from copy import copy from collections import deque,Counter from decimal import Decimal def s(): return input() s def i(): return int(input()) i def S(): return input().split() S def I(): return map(int,input().split()) I def L(): return list(input().split()) L def l(): return list(map(int,input().split())) l def lcm(a,b): return a*b//math.gcd(a,b) lcm a a b b sys.setrecursionlimit(10**9) sys.setrecursionlimit sys setrecursionlimit 10**9 10 9 INF = 10**9 INF 10**9 10 9 mod = 10**9+7 mod 10**9+7 10**9 10 9 7 N = i() N i() i l() for _ in range(N) for _ in range(N) _ range(N) range N for _ in range(N) l() l S = [l() for _ in range(N)] S [l() for _ in range(N)] ans = 0 ans 0 pq = [] pq [] for i in S:
    for j in S:
        if i == j:
            continue
        pq.append((i[0]-j[0],i[1]-j[1])) i S for j in S:
        if i == j:
            continue
        pq.append((i[0]-j[0],i[1]-j[1])) j S if i == j:
            continue
         i == j i j continue pq.append((i[0]-j[0],i[1]-j[1])) pq.append pq append (i[0]-j[0],i[1]-j[1]) i[0]-j[0] i[0] i 0 j[0] j 0 i[1]-j[1] i[1] i 1 j[1] j 1 for p,q in set(pq):
    cnt = 0
    for i in S:
        for j in S:
            if i == j:
                continue
            if (i[0]-j[0],i[1]-j[1]) == (p,q):
                cnt += 1
    ans = max(ans,cnt) p q set(pq) set pq cnt = 0 cnt 0 for i in S:
        for j in S:
            if i == j:
                continue
            if (i[0]-j[0],i[1]-j[1]) == (p,q):
                cnt += 1
     i S for j in S:
            if i == j:
                continue
            if (i[0]-j[0],i[1]-j[1]) == (p,q):
                cnt += 1
     j S if i == j:
                continue
             i == j i j continue if (i[0]-j[0],i[1]-j[1]) == (p,q):
                cnt += 1
     (i[0]-j[0],i[1]-j[1]) == (p,q) (i[0]-j[0],i[1]-j[1]) i[0]-j[0] i[0] i 0 j[0] j 0 i[1]-j[1] i[1] i 1 j[1] j 1 (p,q) p q cnt += 1 cnt 1 ans = max(ans,cnt) ans max(ans,cnt) max ans cnt print(N-ans) print N-ans N ans pq = [] [] pq mod = 10**9+7 10**9+7 mod def s(): return input() def s(): return input() s S = [l() for _ in range(N)] [l() for _ in range(N)] S N = i() i() N def i(): return int(input()) def i(): return int(input()) i def lcm(a,b): return a*b//math.gcd(a,b) def lcm(a,b): return a*b//math.gcd(a,b) lcm def S(): return input().split() def S(): return input().split() S def L(): return list(input().split()) def L(): return list(input().split()) L ans = max(ans,cnt) max(ans,cnt) ans def l(): return list(map(int,input().split())) def l(): return list(map(int,input().split())) l cnt += 1 1 cnt ans = 0 0 ans def I(): return map(int,input().split()) def I(): return map(int,input().split()) I INF = 10**9 10**9 INF cnt = 0 0 cnt
import sys
import math
import itertools
import bisect
from copy import copy
from collections import deque,Counter
from decimal import Decimal
def s(): return input()
def i(): return int(input())
def S(): return input().split()
def I(): return map(int,input().split())
def L(): return list(input().split())
def l(): return list(map(int,input().split()))
def lcm(a,b): return a*b//math.gcd(a,b)
sys.setrecursionlimit(10**9)
INF = 10**9
mod = 10**9+7

N = i()
S = [l() for _ in range(N)]
ans = 0
pq = []
for i in S:
    for j in S:
        if i == j:
            continue
        pq.append((i[0]-j[0],i[1]-j[1]))
for p,q in set(pq):
    cnt = 0
    for i in S:
        for j in S:
            if i == j:
                continue
            if (i[0]-j[0],i[1]-j[1]) == (p,q):
                cnt += 1
    ans = max(ans,cnt)
print(N-ans)