from collections import Counter
N=int(input())
balls=[tuple(map(int, input().split())) for _ in range(N)]

#2ボールの相対座標をぜんぶ調べる
R=[(x[0]-y[0],x[1]-y[1]) for x in balls for y in balls]
C=Counter(R).most_common()

#いちばん多い相対座標を(p,q)とする
#C[0]は(0,0)なので除外
if len(C)<=1:
    print(N)
else:
    print(N-(C[1][1])) from collections import Counter N=int(input()) N int(input()) int input() input tuple(map(int, input().split())) for _ in range(N) for _ in range(N) _ range(N) range N for _ in range(N) tuple(map(int, input().split())) tuple map(int, input().split()) map int input().split() ().split () input split balls=[tuple(map(int, input().split())) for _ in range(N)] balls [tuple(map(int, input().split())) for _ in range(N)] (x[0]-y[0],x[1]-y[1]) for x in balls for y in balls for x in balls for y in balls x balls for y in balls y balls for y in balls (x[0]-y[0],x[1]-y[1]) x[0]-y[0] x[0] x 0 y[0] y 0 x[1]-y[1] x[1] x 1 y[1] y 1 R=[(x[0]-y[0],x[1]-y[1]) for x in balls for y in balls] R [(x[0]-y[0],x[1]-y[1]) for x in balls for y in balls] C=Counter(R).most_common() C Counter(R).most_common() (R).most_common (R) Counter R most_common if len(C)<=1:
    print(N)
else:
    print(N-(C[1][1])) len(C)<=1 len(C) len C 1 print(N) print N print(N-(C[1][1])) print N-(C[1][1]) N C[1][1] [1] C 1 1 N=int(input()) int(input()) N C=Counter(R).most_common() Counter(R).most_common() C R=[(x[0]-y[0],x[1]-y[1]) for x in balls for y in balls] [(x[0]-y[0],x[1]-y[1]) for x in balls for y in balls] R balls=[tuple(map(int, input().split())) for _ in range(N)] [tuple(map(int, input().split())) for _ in range(N)] balls
from collections import Counter
N=int(input())
balls=[tuple(map(int, input().split())) for _ in range(N)]

#2ボールの相対座標をぜんぶ調べる
R=[(x[0]-y[0],x[1]-y[1]) for x in balls for y in balls]
C=Counter(R).most_common()

#いちばん多い相対座標を(p,q)とする
#C[0]は(0,0)なので除外
if len(C)<=1:
    print(N)
else:
    print(N-(C[1][1]))