n=int(input())
pts=[list(map(int,input().split())) for _ in range(n)]

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

ans=100

def my_index(l, x, default=False):
    if x in l:
        return l.index(x)
    else:
        return -1

for i in range(n):
    for j in range(i+1,n):
        x1,y1=pts[i]
        x2,y2=pts[j]

        p=x1-x2
        q=y1-y2

        visit=[0]*n
        
        cur=0
        for k in range(n):
            if visit[k]==1:
                continue
            cur+=1
            x3,y3=pts[k]
            cx=x3
            cy=y3
            while my_index(pts,[cx,cy])>=0:
                visit[my_index(pts,[cx,cy])]=1
                cx+=p
                cy+=q
            cx=x3
            cy=y3
            while my_index(pts,[cx,cy])>=0:
                visit[my_index(pts,[cx,cy])]=1
                cx-=p
                cy-=q
        
        ans=min(ans,cur)
    
print(ans) n=int(input()) n int(input()) int input() input list(map(int,input().split())) for _ in range(n) for _ in range(n) _ range(n) range n for _ in range(n) list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split pts=[list(map(int,input().split())) for _ in range(n)] pts [list(map(int,input().split())) for _ in range(n)] if n==1:
    print(1)
    exit(0) n==1 n 1 print(1) print 1 exit(0) exit 0 ans=100 ans 100 def my_index(l, x, default=False):
    if x in l:
        return l.index(x)
    else:
        return -1 my_index if x in l:
        return l.index(x)
    else:
        return -1 x in l x l return l.index(x) l.index(x) l.index l index x return -1 -1 l l x x default=False default False for i in range(n):
    for j in range(i+1,n):
        x1,y1=pts[i]
        x2,y2=pts[j]

        p=x1-x2
        q=y1-y2

        visit=[0]*n
        
        cur=0
        for k in range(n):
            if visit[k]==1:
                continue
            cur+=1
            x3,y3=pts[k]
            cx=x3
            cy=y3
            while my_index(pts,[cx,cy])>=0:
                visit[my_index(pts,[cx,cy])]=1
                cx+=p
                cy+=q
            cx=x3
            cy=y3
            while my_index(pts,[cx,cy])>=0:
                visit[my_index(pts,[cx,cy])]=1
                cx-=p
                cy-=q
        
        ans=min(ans,cur)
     i range(n) range n for j in range(i+1,n):
        x1,y1=pts[i]
        x2,y2=pts[j]

        p=x1-x2
        q=y1-y2

        visit=[0]*n
        
        cur=0
        for k in range(n):
            if visit[k]==1:
                continue
            cur+=1
            x3,y3=pts[k]
            cx=x3
            cy=y3
            while my_index(pts,[cx,cy])>=0:
                visit[my_index(pts,[cx,cy])]=1
                cx+=p
                cy+=q
            cx=x3
            cy=y3
            while my_index(pts,[cx,cy])>=0:
                visit[my_index(pts,[cx,cy])]=1
                cx-=p
                cy-=q
        
        ans=min(ans,cur)
     j range(i+1,n) range i+1 i 1 n x1,y1=pts[i] x1 pts[i] pts i y1 x2,y2=pts[j] x2 pts[j] pts j y2 p=x1-x2 p x1-x2 x1 x2 q=y1-y2 q y1-y2 y1 y2 visit=[0]*n visit [0]*n [0] 0 n cur=0 cur 0 for k in range(n):
            if visit[k]==1:
                continue
            cur+=1
            x3,y3=pts[k]
            cx=x3
            cy=y3
            while my_index(pts,[cx,cy])>=0:
                visit[my_index(pts,[cx,cy])]=1
                cx+=p
                cy+=q
            cx=x3
            cy=y3
            while my_index(pts,[cx,cy])>=0:
                visit[my_index(pts,[cx,cy])]=1
                cx-=p
                cy-=q
        
         k range(n) range n if visit[k]==1:
                continue
             visit[k]==1 visit[k] visit k 1 continue cur+=1 cur 1 x3,y3=pts[k] x3 pts[k] pts k y3 cx=x3 cx x3 cy=y3 cy y3 while my_index(pts,[cx,cy])>=0:
                visit[my_index(pts,[cx,cy])]=1
                cx+=p
                cy+=q
             my_index(pts,[cx,cy])>=0 my_index(pts,[cx,cy]) my_index pts [cx,cy] cx cy 0 visit[my_index(pts,[cx,cy])]=1 visit[my_index(pts,[cx,cy])] visit my_index(pts,[cx,cy]) my_index pts [cx,cy] cx cy 1 cx+=p cx p cy+=q cy q cx=x3 cx x3 cy=y3 cy y3 while my_index(pts,[cx,cy])>=0:
                visit[my_index(pts,[cx,cy])]=1
                cx-=p
                cy-=q
        
         my_index(pts,[cx,cy])>=0 my_index(pts,[cx,cy]) my_index pts [cx,cy] cx cy 0 visit[my_index(pts,[cx,cy])]=1 visit[my_index(pts,[cx,cy])] visit my_index(pts,[cx,cy]) my_index pts [cx,cy] cx cy 1 cx-=p cx p cy-=q cy q ans=min(ans,cur) ans min(ans,cur) min ans cur print(ans) print ans cx-=p p cx cy-=q q cy y1=pts[i] pts[i] y1 cy=y3 y3 cy pts=[list(map(int,input().split())) for _ in range(n)] [list(map(int,input().split())) for _ in range(n)] pts cy=y3 y3 cy p=x1-x2 x1-x2 p ans=min(ans,cur) min(ans,cur) ans ans=100 100 ans x2,y2=pts[j] pts[j] x2 y3=pts[k] pts[k] y3 cx+=p p cx y2=pts[j] pts[j] y2 x1,y1=pts[i] pts[i] x1 cur=0 0 cur x3,y3=pts[k] pts[k] x3 visit=[0]*n [0]*n visit def my_index(l, x, default=False):
    if x in l:
        return l.index(x)
    else:
        return -1 def my_index(l, x, default=False):
    if x in l:
        return l.index(x)
    else:
        return -1 my_index q=y1-y2 y1-y2 q n=int(input()) int(input()) n cy+=q q cy cur+=1 1 cur cx=x3 x3 cx cx=x3 x3 cx
n=int(input())
pts=[list(map(int,input().split())) for _ in range(n)]

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

ans=100

def my_index(l, x, default=False):
    if x in l:
        return l.index(x)
    else:
        return -1

for i in range(n):
    for j in range(i+1,n):
        x1,y1=pts[i]
        x2,y2=pts[j]

        p=x1-x2
        q=y1-y2

        visit=[0]*n
        
        cur=0
        for k in range(n):
            if visit[k]==1:
                continue
            cur+=1
            x3,y3=pts[k]
            cx=x3
            cy=y3
            while my_index(pts,[cx,cy])>=0:
                visit[my_index(pts,[cx,cy])]=1
                cx+=p
                cy+=q
            cx=x3
            cy=y3
            while my_index(pts,[cx,cy])>=0:
                visit[my_index(pts,[cx,cy])]=1
                cx-=p
                cy-=q
        
        ans=min(ans,cur)
    
print(ans)