n=int(input())
balls=[]
for i in range(n):
  x,y=map(int,input().split())
  balls.append([x,y])
minans=n
for i in range(0,n-1):
  for j in range(i+1,n):
    p=balls[j][0]-balls[i][0]
    q=balls[j][1]-balls[i][1]
    ballset=set()
    ans=0
    for k in range(n):
      x=balls[k][0]
      y=balls[k][1]
      ballset.add(x*(10**10)+y)
    while ballset:
      current=ballset.pop()
      ballset.add(current)
      y=current%(10**10)
      x=(current-y)//(10**10)
      while (x-p)*(10**10)+(y-q) in ballset:
        x-=p
        y-=q
      while x*(10**10)+y in ballset:
        ballset.remove(x*(10**10)+y)
        x+=p
        y+=q
      ans+=1
    minans=min(minans,ans)
print(minans) n=int(input()) n int(input()) int input() input balls=[] balls [] for i in range(n):
  x,y=map(int,input().split())
  balls.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 balls.append([x,y]) balls.append balls append [x,y] x y minans=n minans n for i in range(0,n-1):
  for j in range(i+1,n):
    p=balls[j][0]-balls[i][0]
    q=balls[j][1]-balls[i][1]
    ballset=set()
    ans=0
    for k in range(n):
      x=balls[k][0]
      y=balls[k][1]
      ballset.add(x*(10**10)+y)
    while ballset:
      current=ballset.pop()
      ballset.add(current)
      y=current%(10**10)
      x=(current-y)//(10**10)
      while (x-p)*(10**10)+(y-q) in ballset:
        x-=p
        y-=q
      while x*(10**10)+y in ballset:
        ballset.remove(x*(10**10)+y)
        x+=p
        y+=q
      ans+=1
    minans=min(minans,ans) i range(0,n-1) range 0 n-1 n 1 for j in range(i+1,n):
    p=balls[j][0]-balls[i][0]
    q=balls[j][1]-balls[i][1]
    ballset=set()
    ans=0
    for k in range(n):
      x=balls[k][0]
      y=balls[k][1]
      ballset.add(x*(10**10)+y)
    while ballset:
      current=ballset.pop()
      ballset.add(current)
      y=current%(10**10)
      x=(current-y)//(10**10)
      while (x-p)*(10**10)+(y-q) in ballset:
        x-=p
        y-=q
      while x*(10**10)+y in ballset:
        ballset.remove(x*(10**10)+y)
        x+=p
        y+=q
      ans+=1
    minans=min(minans,ans) j range(i+1,n) range i+1 i 1 n p=balls[j][0]-balls[i][0] p balls[j][0]-balls[i][0] balls[j][0] [j] balls j 0 balls[i][0] [i] balls i 0 q=balls[j][1]-balls[i][1] q balls[j][1]-balls[i][1] balls[j][1] [j] balls j 1 balls[i][1] [i] balls i 1 ballset=set() ballset set() set ans=0 ans 0 for k in range(n):
      x=balls[k][0]
      y=balls[k][1]
      ballset.add(x*(10**10)+y)
     k range(n) range n x=balls[k][0] x balls[k][0] [k] balls k 0 y=balls[k][1] y balls[k][1] [k] balls k 1 ballset.add(x*(10**10)+y) ballset.add ballset add x*(10**10)+y x*(10**10) x 10**10 10 10 y while ballset:
      current=ballset.pop()
      ballset.add(current)
      y=current%(10**10)
      x=(current-y)//(10**10)
      while (x-p)*(10**10)+(y-q) in ballset:
        x-=p
        y-=q
      while x*(10**10)+y in ballset:
        ballset.remove(x*(10**10)+y)
        x+=p
        y+=q
      ans+=1
     ballset current=ballset.pop() current ballset.pop() ballset.pop ballset pop ballset.add(current) ballset.add ballset add current y=current%(10**10) y current%(10**10) current 10**10 10 10 x=(current-y)//(10**10) x (current-y)//(10**10) current-y current y 10**10 10 10 while (x-p)*(10**10)+(y-q) in ballset:
        x-=p
        y-=q
       (x-p)*(10**10)+(y-q) in ballset (x-p)*(10**10)+(y-q) (x-p)*(10**10) x-p x p 10**10 10 10 y-q y q ballset x-=p x p y-=q y q while x*(10**10)+y in ballset:
        ballset.remove(x*(10**10)+y)
        x+=p
        y+=q
       x*(10**10)+y in ballset x*(10**10)+y x*(10**10) x 10**10 10 10 y ballset ballset.remove(x*(10**10)+y) ballset.remove ballset remove x*(10**10)+y x*(10**10) x 10**10 10 10 y x+=p x p y+=q y q ans+=1 ans 1 minans=min(minans,ans) minans min(minans,ans) min minans ans print(minans) print minans x,y=map(int,input().split()) map(int,input().split()) x y=map(int,input().split()) map(int,input().split()) y x=(current-y)//(10**10) (current-y)//(10**10) x q=balls[j][1]-balls[i][1] balls[j][1]-balls[i][1] q x-=p p x y-=q q y ballset=set() set() ballset y=current%(10**10) current%(10**10) y x+=p p x minans=min(minans,ans) min(minans,ans) minans y+=q q y n=int(input()) int(input()) n balls=[] [] balls y=balls[k][1] balls[k][1] y minans=n n minans current=ballset.pop() ballset.pop() current ans+=1 1 ans ans=0 0 ans p=balls[j][0]-balls[i][0] balls[j][0]-balls[i][0] p x=balls[k][0] balls[k][0] x
n=int(input())
balls=[]
for i in range(n):
  x,y=map(int,input().split())
  balls.append([x,y])
minans=n
for i in range(0,n-1):
  for j in range(i+1,n):
    p=balls[j][0]-balls[i][0]
    q=balls[j][1]-balls[i][1]
    ballset=set()
    ans=0
    for k in range(n):
      x=balls[k][0]
      y=balls[k][1]
      ballset.add(x*(10**10)+y)
    while ballset:
      current=ballset.pop()
      ballset.add(current)
      y=current%(10**10)
      x=(current-y)//(10**10)
      while (x-p)*(10**10)+(y-q) in ballset:
        x-=p
        y-=q
      while x*(10**10)+y in ballset:
        ballset.remove(x*(10**10)+y)
        x+=p
        y+=q
      ans+=1
    minans=min(minans,ans)
print(minans)