n = int(input())
x = []
y = []
for _ in range(n):
    line = list(map(int, input().split()))
    x.append(line[0])
    y.append(line[1])
if n >= 2:
    slope = []
    for i in range(n):
        for j in range(n):
            if i != j:
                X = x[j] - x[i]
                Y = y[j] - y[i]
                slope.append([X, Y])
    cnt = []
    for i in slope:
        cnt.append(slope.count(i))
    print(n - max(cnt))
else:
    print(1) n = int(input()) n int(input()) int input() input x = [] x [] y = [] y [] for _ in range(n):
    line = list(map(int, input().split()))
    x.append(line[0])
    y.append(line[1]) _ range(n) range n line = list(map(int, input().split())) line list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split x.append(line[0]) x.append x append line[0] line 0 y.append(line[1]) y.append y append line[1] line 1 if n >= 2:
    slope = []
    for i in range(n):
        for j in range(n):
            if i != j:
                X = x[j] - x[i]
                Y = y[j] - y[i]
                slope.append([X, Y])
    cnt = []
    for i in slope:
        cnt.append(slope.count(i))
    print(n - max(cnt))
else:
    print(1) n >= 2 n 2 slope = [] slope [] for i in range(n):
        for j in range(n):
            if i != j:
                X = x[j] - x[i]
                Y = y[j] - y[i]
                slope.append([X, Y])
     i range(n) range n for j in range(n):
            if i != j:
                X = x[j] - x[i]
                Y = y[j] - y[i]
                slope.append([X, Y])
     j range(n) range n if i != j:
                X = x[j] - x[i]
                Y = y[j] - y[i]
                slope.append([X, Y])
     i != j i j X = x[j] - x[i] X x[j] - x[i] x[j] x j x[i] x i Y = y[j] - y[i] Y y[j] - y[i] y[j] y j y[i] y i slope.append([X, Y]) slope.append slope append [X, Y] X Y cnt = [] cnt [] for i in slope:
        cnt.append(slope.count(i))
     i slope cnt.append(slope.count(i)) cnt.append cnt append slope.count(i) slope.count slope count i print(n - max(cnt)) print n - max(cnt) n max(cnt) max cnt print(1) print 1 x = [] [] x X = x[j] - x[i] x[j] - x[i] X n = int(input()) int(input()) n slope = [] [] slope line = list(map(int, input().split())) list(map(int, input().split())) line y = [] [] y Y = y[j] - y[i] y[j] - y[i] Y cnt = [] [] cnt
n = int(input())
x = []
y = []
for _ in range(n):
    line = list(map(int, input().split()))
    x.append(line[0])
    y.append(line[1])
if n >= 2:
    slope = []
    for i in range(n):
        for j in range(n):
            if i != j:
                X = x[j] - x[i]
                Y = y[j] - y[i]
                slope.append([X, Y])
    cnt = []
    for i in slope:
        cnt.append(slope.count(i))
    print(n - max(cnt))
else:
    print(1)