(n,),*a=[[*map(int,i.split())]for i in open(0)]
d={0:0}
for i,j in a:
    for x,y in a:
        if i!=x or j!=y:
            d[(i-x,j-y)]=d.get((i-x,j-y),0)+1
print(n-max(d.values())) [*map(int,i.split())]for i in open(0) for i in open(0) i open(0) open 0 for i in open(0) [*map(int,i.split())] *map(int,i.split()) map(int,i.split()) map int i.split() i.split i split (n,),*a=[[*map(int,i.split())]for i in open(0)] n [[*map(int,i.split())]for i in open(0)] *a a d={0:0} d {0:0} 0 0 0 for i,j in a:
    for x,y in a:
        if i!=x or j!=y:
            d[(i-x,j-y)]=d.get((i-x,j-y),0)+1 i j a for x,y in a:
        if i!=x or j!=y:
            d[(i-x,j-y)]=d.get((i-x,j-y),0)+1 x y a if i!=x or j!=y:
            d[(i-x,j-y)]=d.get((i-x,j-y),0)+1 i!=x or j!=y i!=x i x j!=y j y d[(i-x,j-y)]=d.get((i-x,j-y),0)+1 d[(i-x,j-y)] d (i-x,j-y) i-x i x j-y j y d.get((i-x,j-y),0)+1 d.get((i-x,j-y),0) d.get d get (i-x,j-y) i-x i x j-y j y 0 1 print(n-max(d.values())) print n-max(d.values()) n max(d.values()) max d.values() d.values d values d={0:0} {0:0} d n,),*a=[[*map(int,i.split())]for i in open(0)] [[*map(int,i.split())]for i in open(0)] n
(n,),*a=[[*map(int,i.split())]for i in open(0)]
d={0:0}
for i,j in a:
    for x,y in a:
        if i!=x or j!=y:
            d[(i-x,j-y)]=d.get((i-x,j-y),0)+1
print(n-max(d.values()))