import sys
import itertools
# import numpy as np
import time
import math
import heapq
from collections import defaultdict
from collections import Counter
sys.setrecursionlimit(10 ** 7)
 
INF = 10 ** 18
MOD = 10 ** 9 + 7
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

# map(int, input().split())

N = int(input())
A = [0] * N
for i in range(N):
    x, y = map(int, input().split())
    A[i] = (x, y)

A = sorted(A)

d = defaultdict(int)
for i in range(N):
    x1, y1 = A[i]
    for j in range(i + 1, N):
        x2, y2 = A[j]
        d[(x2 - x1, y2 - y1)] += 1

freq = 0
for v in d.values():
    freq = max(freq, v)
print(N - freq) import sys sys import itertools itertools import time time import math math import heapq heapq from collections import defaultdict from collections import Counter sys.setrecursionlimit(10 ** 7) sys.setrecursionlimit sys setrecursionlimit 10 ** 7 10 7 INF = 10 ** 18 INF 10 ** 18 10 18 MOD = 10 ** 9 + 7 MOD 10 ** 9 + 7 10 ** 9 10 9 7 read = sys.stdin.buffer.read read sys.stdin.buffer.read sys.stdin.buffer sys.stdin sys stdin buffer read readline = sys.stdin.buffer.readline readline sys.stdin.buffer.readline sys.stdin.buffer sys.stdin sys stdin buffer readline readlines = sys.stdin.buffer.readlines readlines sys.stdin.buffer.readlines sys.stdin.buffer sys.stdin sys stdin buffer readlines N = int(input()) N int(input()) int input() input A = [0] * N A [0] * N [0] 0 N for i in range(N):
    x, y = map(int, input().split())
    A[i] = (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 A[i] = (x, y) A[i] A i (x, y) x y A = sorted(A) A sorted(A) sorted A d = defaultdict(int) d defaultdict(int) defaultdict int for i in range(N):
    x1, y1 = A[i]
    for j in range(i + 1, N):
        x2, y2 = A[j]
        d[(x2 - x1, y2 - y1)] += 1 i range(N) range N x1, y1 = A[i] x1 A[i] A i y1 for j in range(i + 1, N):
        x2, y2 = A[j]
        d[(x2 - x1, y2 - y1)] += 1 j range(i + 1, N) range i + 1 i 1 N x2, y2 = A[j] x2 A[j] A j y2 d[(x2 - x1, y2 - y1)] += 1 d[(x2 - x1, y2 - y1)] d (x2 - x1, y2 - y1) x2 - x1 x2 x1 y2 - y1 y2 y1 1 freq = 0 freq 0 for v in d.values():
    freq = max(freq, v) v d.values() d.values d values freq = max(freq, v) freq max(freq, v) max freq v print(N - freq) print N - freq N freq A = sorted(A) sorted(A) A freq = 0 0 freq MOD = 10 ** 9 + 7 10 ** 9 + 7 MOD y2 = A[j] A[j] y2 freq = max(freq, v) max(freq, v) freq A = [0] * N [0] * N A x1, y1 = A[i] A[i] x1 N = int(input()) int(input()) N INF = 10 ** 18 10 ** 18 INF readlines = sys.stdin.buffer.readlines sys.stdin.buffer.readlines readlines d = defaultdict(int) defaultdict(int) d x2, y2 = A[j] A[j] x2 readline = sys.stdin.buffer.readline sys.stdin.buffer.readline readline read = sys.stdin.buffer.read sys.stdin.buffer.read read y = map(int, input().split()) map(int, input().split()) y x, y = map(int, input().split()) map(int, input().split()) x y1 = A[i] A[i] y1
import sys
import itertools
# import numpy as np
import time
import math
import heapq
from collections import defaultdict
from collections import Counter
sys.setrecursionlimit(10 ** 7)
 
INF = 10 ** 18
MOD = 10 ** 9 + 7
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

# map(int, input().split())

N = int(input())
A = [0] * N
for i in range(N):
    x, y = map(int, input().split())
    A[i] = (x, y)

A = sorted(A)

d = defaultdict(int)
for i in range(N):
    x1, y1 = A[i]
    for j in range(i + 1, N):
        x2, y2 = A[j]
        d[(x2 - x1, y2 - y1)] += 1

freq = 0
for v in d.values():
    freq = max(freq, v)
print(N - freq)