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