n = int(input())
all_li = []
for _ in range(n):
    tmp = list(map(int,input().split()))
    all_li.append(tmp)
if len(all_li) == 1:
    print(1)
    exit()
lee = len(all_li)
vector_map = {}
for i in range(n):
    for j in range(n):
        if i == j:
            continue
        a = all_li[i][0]
        b = all_li[i][1]
        c = all_li[j][0]
        d = all_li[j][1]
        if (c-a,d-b) in vector_map:
            vector_map[(c-a,d-b)] += 1
        else:
            vector_map[(c-a,d-b)] = 1
m = max(vector_map.values())
print(n-m) n = int(input()) n int(input()) int input() input all_li = [] all_li [] for _ in range(n):
    tmp = list(map(int,input().split()))
    all_li.append(tmp) _ range(n) range n tmp = list(map(int,input().split())) tmp list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split all_li.append(tmp) all_li.append all_li append tmp if len(all_li) == 1:
    print(1)
    exit() len(all_li) == 1 len(all_li) len all_li 1 print(1) print 1 exit() exit lee = len(all_li) lee len(all_li) len all_li vector_map = {} vector_map {} for i in range(n):
    for j in range(n):
        if i == j:
            continue
        a = all_li[i][0]
        b = all_li[i][1]
        c = all_li[j][0]
        d = all_li[j][1]
        if (c-a,d-b) in vector_map:
            vector_map[(c-a,d-b)] += 1
        else:
            vector_map[(c-a,d-b)] = 1 i range(n) range n for j in range(n):
        if i == j:
            continue
        a = all_li[i][0]
        b = all_li[i][1]
        c = all_li[j][0]
        d = all_li[j][1]
        if (c-a,d-b) in vector_map:
            vector_map[(c-a,d-b)] += 1
        else:
            vector_map[(c-a,d-b)] = 1 j range(n) range n if i == j:
            continue
         i == j i j continue a = all_li[i][0] a all_li[i][0] [i] all_li i 0 b = all_li[i][1] b all_li[i][1] [i] all_li i 1 c = all_li[j][0] c all_li[j][0] [j] all_li j 0 d = all_li[j][1] d all_li[j][1] [j] all_li j 1 if (c-a,d-b) in vector_map:
            vector_map[(c-a,d-b)] += 1
        else:
            vector_map[(c-a,d-b)] = 1 (c-a,d-b) in vector_map (c-a,d-b) c-a c a d-b d b vector_map vector_map[(c-a,d-b)] += 1 vector_map[(c-a,d-b)] vector_map (c-a,d-b) c-a c a d-b d b 1 vector_map[(c-a,d-b)] = 1 vector_map[(c-a,d-b)] vector_map (c-a,d-b) c-a c a d-b d b 1 m = max(vector_map.values()) m max(vector_map.values()) max vector_map.values() vector_map.values vector_map values print(n-m) print n-m n m lee = len(all_li) len(all_li) lee m = max(vector_map.values()) max(vector_map.values()) m tmp = list(map(int,input().split())) list(map(int,input().split())) tmp n = int(input()) int(input()) n all_li = [] [] all_li vector_map = {} {} vector_map a = all_li[i][0] all_li[i][0] a c = all_li[j][0] all_li[j][0] c d = all_li[j][1] all_li[j][1] d b = all_li[i][1] all_li[i][1] b
n = int(input())
all_li = []
for _ in range(n):
    tmp = list(map(int,input().split()))
    all_li.append(tmp)
if len(all_li) == 1:
    print(1)
    exit()
lee = len(all_li)
vector_map = {}
for i in range(n):
    for j in range(n):
        if i == j:
            continue
        a = all_li[i][0]
        b = all_li[i][1]
        c = all_li[j][0]
        d = all_li[j][1]
        if (c-a,d-b) in vector_map:
            vector_map[(c-a,d-b)] += 1
        else:
            vector_map[(c-a,d-b)] = 1
m = max(vector_map.values())
print(n-m)