N=int(input())
L=[]
if N==1:
    print(1)
    exit()
for i in range(N):
    x,y=map(int, input().split())
    L.append((x,y))

D={}
for i in range(N-1):
    t1=L[i]
    L2=L[i+1:]
    for t2 in L2:
        x1,y1=t1
        x2,y2=t2
        d1=(x2-x1,y2-y1)
        d2=(x1-x2,y1-y2)
        if d1 in D:
            D[(x2-x1,y2-y1)]+=1
        else:
            D[(x2-x1,y2-y1)]=1
        if d2 in D:
            D[(x1-x2,y1-y2)]+=1
        else:
            D[(x1-x2,y1-y2)]=1

print(max(N-max(D.values()),0)) N=int(input()) N int(input()) int input() input L=[] L [] if N==1:
    print(1)
    exit() N==1 N 1 print(1) print 1 exit() exit for i in range(N):
    x,y=map(int, input().split())
    L.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 L.append((x,y)) L.append L append (x,y) x y D={} D {} for i in range(N-1):
    t1=L[i]
    L2=L[i+1:]
    for t2 in L2:
        x1,y1=t1
        x2,y2=t2
        d1=(x2-x1,y2-y1)
        d2=(x1-x2,y1-y2)
        if d1 in D:
            D[(x2-x1,y2-y1)]+=1
        else:
            D[(x2-x1,y2-y1)]=1
        if d2 in D:
            D[(x1-x2,y1-y2)]+=1
        else:
            D[(x1-x2,y1-y2)]=1 i range(N-1) range N-1 N 1 t1=L[i] t1 L[i] L i L2=L[i+1:] L2 L[i+1:] L i+1: i+1 i 1 for t2 in L2:
        x1,y1=t1
        x2,y2=t2
        d1=(x2-x1,y2-y1)
        d2=(x1-x2,y1-y2)
        if d1 in D:
            D[(x2-x1,y2-y1)]+=1
        else:
            D[(x2-x1,y2-y1)]=1
        if d2 in D:
            D[(x1-x2,y1-y2)]+=1
        else:
            D[(x1-x2,y1-y2)]=1 t2 L2 x1,y1=t1 x1 t1 y1 x2,y2=t2 x2 t2 y2 d1=(x2-x1,y2-y1) d1 (x2-x1,y2-y1) x2-x1 x2 x1 y2-y1 y2 y1 d2=(x1-x2,y1-y2) d2 (x1-x2,y1-y2) x1-x2 x1 x2 y1-y2 y1 y2 if d1 in D:
            D[(x2-x1,y2-y1)]+=1
        else:
            D[(x2-x1,y2-y1)]=1
         d1 in D d1 D D[(x2-x1,y2-y1)]+=1 D[(x2-x1,y2-y1)] D (x2-x1,y2-y1) x2-x1 x2 x1 y2-y1 y2 y1 1 D[(x2-x1,y2-y1)]=1 D[(x2-x1,y2-y1)] D (x2-x1,y2-y1) x2-x1 x2 x1 y2-y1 y2 y1 1 if d2 in D:
            D[(x1-x2,y1-y2)]+=1
        else:
            D[(x1-x2,y1-y2)]=1 d2 in D d2 D D[(x1-x2,y1-y2)]+=1 D[(x1-x2,y1-y2)] D (x1-x2,y1-y2) x1-x2 x1 x2 y1-y2 y1 y2 1 D[(x1-x2,y1-y2)]=1 D[(x1-x2,y1-y2)] D (x1-x2,y1-y2) x1-x2 x1 x2 y1-y2 y1 y2 1 print(max(N-max(D.values()),0)) print max(N-max(D.values()),0) max N-max(D.values()) N max(D.values()) max D.values() D.values D values 0 t1=L[i] L[i] t1 L2=L[i+1:] L[i+1:] L2 y2=t2 t2 y2 x2,y2=t2 t2 x2 y=map(int, input().split()) map(int, input().split()) y N=int(input()) int(input()) N L=[] [] L d1=(x2-x1,y2-y1) (x2-x1,y2-y1) d1 D={} {} D x,y=map(int, input().split()) map(int, input().split()) x x1,y1=t1 t1 x1 y1=t1 t1 y1 d2=(x1-x2,y1-y2) (x1-x2,y1-y2) d2
N=int(input())
L=[]
if N==1:
    print(1)
    exit()
for i in range(N):
    x,y=map(int, input().split())
    L.append((x,y))

D={}
for i in range(N-1):
    t1=L[i]
    L2=L[i+1:]
    for t2 in L2:
        x1,y1=t1
        x2,y2=t2
        d1=(x2-x1,y2-y1)
        d2=(x1-x2,y1-y2)
        if d1 in D:
            D[(x2-x1,y2-y1)]+=1
        else:
            D[(x2-x1,y2-y1)]=1
        if d2 in D:
            D[(x1-x2,y1-y2)]+=1
        else:
            D[(x1-x2,y1-y2)]=1

print(max(N-max(D.values()),0))
