import sys
def input(): return sys.stdin.readline().strip()
def mapint(): return map(int, input().split())
sys.setrecursionlimit(10**9)

N = int(input())
XY = []
for _ in range(N):
    x, y = mapint()
    XY.append((x, y))

from collections import defaultdict, Counter
dic = []
for i in range(N):
    x1, y1 = XY[i]
    for j in range(N):
        if i==j:
            continue
        x2, y2 = XY[j]
        dx, dy = x2-x1, y2-y1
        if dx==0 and dy==0:
            continue
        dic.append((dx, dy))
c = Counter(dic)
if len(c)==0:
    print(N)
else:
    (x, y), cnt = c.most_common()[0]
    print(N-cnt) import sys sys def input(): return sys.stdin.readline().strip() input def mapint(): return map(int, input().split()) mapint sys.setrecursionlimit(10**9) sys.setrecursionlimit sys setrecursionlimit 10**9 10 9 N = int(input()) N int(input()) int input() input XY = [] XY [] for _ in range(N):
    x, y = mapint()
    XY.append((x, y)) _ range(N) range N x, y = mapint() x mapint() mapint y XY.append((x, y)) XY.append XY append (x, y) x y from collections import defaultdict, Counter dic = [] dic [] for i in range(N):
    x1, y1 = XY[i]
    for j in range(N):
        if i==j:
            continue
        x2, y2 = XY[j]
        dx, dy = x2-x1, y2-y1
        if dx==0 and dy==0:
            continue
        dic.append((dx, dy)) i range(N) range N x1, y1 = XY[i] x1 XY[i] XY i y1 for j in range(N):
        if i==j:
            continue
        x2, y2 = XY[j]
        dx, dy = x2-x1, y2-y1
        if dx==0 and dy==0:
            continue
        dic.append((dx, dy)) j range(N) range N if i==j:
            continue
         i==j i j continue x2, y2 = XY[j] x2 XY[j] XY j y2 dx, dy = x2-x1, y2-y1 dx x2-x1 x2 x1 dy y2-y1 y2 y1 if dx==0 and dy==0:
            continue
         dx==0 and dy==0 dx==0 dx 0 dy==0 dy 0 continue dic.append((dx, dy)) dic.append dic append (dx, dy) dx dy c = Counter(dic) c Counter(dic) Counter dic if len(c)==0:
    print(N)
else:
    (x, y), cnt = c.most_common()[0]
    print(N-cnt) len(c)==0 len(c) len c 0 print(N) print N (x, y), cnt = c.most_common()[0] (x, y) x y c.most_common()[0] c.most_common() c.most_common c most_common 0 cnt print(N-cnt) print N-cnt N cnt y = mapint() mapint() y XY = [] [] XY x, y = mapint() mapint() x y1 = XY[i] XY[i] y1 N = int(input()) int(input()) N dx, dy = x2-x1, y2-y1 x2-x1 dx x2, y2 = XY[j] XY[j] x2 def input(): return sys.stdin.readline().strip() def input(): return sys.stdin.readline().strip() input dy = x2-x1, y2-y1 y2-y1 dy def mapint(): return map(int, input().split()) def mapint(): return map(int, input().split()) mapint x1, y1 = XY[i] XY[i] x1 cnt = c.most_common()[0] c.most_common()[0] cnt dic = [] [] dic y2 = XY[j] XY[j] y2 c = Counter(dic) Counter(dic) c
import sys
def input(): return sys.stdin.readline().strip()
def mapint(): return map(int, input().split())
sys.setrecursionlimit(10**9)

N = int(input())
XY = []
for _ in range(N):
    x, y = mapint()
    XY.append((x, y))

from collections import defaultdict, Counter
dic = []
for i in range(N):
    x1, y1 = XY[i]
    for j in range(N):
        if i==j:
            continue
        x2, y2 = XY[j]
        dx, dy = x2-x1, y2-y1
        if dx==0 and dy==0:
            continue
        dic.append((dx, dy))
c = Counter(dic)
if len(c)==0:
    print(N)
else:
    (x, y), cnt = c.most_common()[0]
    print(N-cnt)