#各操作でコストゼロになるボールは一意
n = int(input())
x = []
y = []
for i in range(n):
    xi,yi =map(int, input().split( ))
    x.append(xi)
    y.append(yi)

cnt = {}

for i in range(n):
    for j in range(i):
        d1 = x[i]-x[j]
        d2 = y[i]-y[j]
        if (d1,d2) in cnt:
            cnt[(d1,d2)] += 1
        else:
            cnt[(d1,d2)] = 1
        if (-d1,-d2) in cnt:#こっちもいる
            cnt[(-d1,-d2)] += 1
        else:
            cnt[(-d1,-d2)] = 1

tmp = 0

for k in cnt:
    tmp = max(tmp, cnt[k])

print(n-tmp) n = int(input()) n int(input()) int input() input x = [] x [] y = [] y [] for i in range(n):
    xi,yi =map(int, input().split( ))
    x.append(xi)
    y.append(yi) i 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 cnt = {} cnt {} for i in range(n):
    for j in range(i):
        d1 = x[i]-x[j]
        d2 = y[i]-y[j]
        if (d1,d2) in cnt:
            cnt[(d1,d2)] += 1
        else:
            cnt[(d1,d2)] = 1
        if (-d1,-d2) in cnt:#こっちもいる
            cnt[(-d1,-d2)] += 1
        else:
            cnt[(-d1,-d2)] = 1 i range(n) range n for j in range(i):
        d1 = x[i]-x[j]
        d2 = y[i]-y[j]
        if (d1,d2) in cnt:
            cnt[(d1,d2)] += 1
        else:
            cnt[(d1,d2)] = 1
        if (-d1,-d2) in cnt:#こっちもいる
            cnt[(-d1,-d2)] += 1
        else:
            cnt[(-d1,-d2)] = 1 j range(i) range i d1 = x[i]-x[j] d1 x[i]-x[j] x[i] x i x[j] x j d2 = y[i]-y[j] d2 y[i]-y[j] y[i] y i y[j] y j if (d1,d2) in cnt:
            cnt[(d1,d2)] += 1
        else:
            cnt[(d1,d2)] = 1
         (d1,d2) in cnt (d1,d2) d1 d2 cnt cnt[(d1,d2)] += 1 cnt[(d1,d2)] cnt (d1,d2) d1 d2 1 cnt[(d1,d2)] = 1 cnt[(d1,d2)] cnt (d1,d2) d1 d2 1 if (-d1,-d2) in cnt:#こっちもいる
            cnt[(-d1,-d2)] += 1
        else:
            cnt[(-d1,-d2)] = 1 (-d1,-d2) in cnt (-d1,-d2) -d1 d1 -d2 d2 cnt cnt[(-d1,-d2)] += 1 cnt[(-d1,-d2)] cnt (-d1,-d2) -d1 d1 -d2 d2 1 cnt[(-d1,-d2)] = 1 cnt[(-d1,-d2)] cnt (-d1,-d2) -d1 d1 -d2 d2 1 tmp = 0 tmp 0 for k in cnt:
    tmp = max(tmp, cnt[k]) k cnt tmp = max(tmp, cnt[k]) tmp max(tmp, cnt[k]) max tmp cnt[k] cnt k print(n-tmp) print n-tmp n tmp tmp = max(tmp, cnt[k]) max(tmp, cnt[k]) tmp x = [] [] x y = [] [] y xi,yi =map(int, input().split( )) map(int, input().split( )) xi cnt = {} {} cnt n = int(input()) int(input()) n yi =map(int, input().split( )) map(int, input().split( )) yi tmp = 0 0 tmp d1 = x[i]-x[j] x[i]-x[j] d1 d2 = y[i]-y[j] y[i]-y[j] d2
#各操作でコストゼロになるボールは一意
n = int(input())
x = []
y = []
for i in range(n):
    xi,yi =map(int, input().split( ))
    x.append(xi)
    y.append(yi)

cnt = {}

for i in range(n):
    for j in range(i):
        d1 = x[i]-x[j]
        d2 = y[i]-y[j]
        if (d1,d2) in cnt:
            cnt[(d1,d2)] += 1
        else:
            cnt[(d1,d2)] = 1
        if (-d1,-d2) in cnt:#こっちもいる
            cnt[(-d1,-d2)] += 1
        else:
            cnt[(-d1,-d2)] = 1

tmp = 0

for k in cnt:
    tmp = max(tmp, cnt[k])

print(n-tmp)