# -*- coding: utf-8 -*-
n = int(input())
xy = [list(map(int, input().split())) for _ in range(n)]

if n==1:
    print(1)
    exit()

def cost(p,q):
    e = 0
    for i in range(n):
        for j in range(n):
            v = xy[i]
            u = xy[j]
            if p==u[0]-v[0] and q==u[1]-v[1]:
                e += 1
                break
    return n-e

d = {}
for i in range(n):
    for j in range(n):
        if i==j:
            continue
        v = xy[i]
        u = xy[j]
        p = v[0]-u[0]
        q = v[1]-u[1]
        if (p,q) not in d:
            d[(p,q,)] = 0
        d[(p,q)] += 1

c = 0
for k in d:
    if d[k]>c:
        c = d[k]
        p,q = k

print(cost(p,q)) n = int(input()) n int(input()) int input() input list(map(int, input().split())) for _ in range(n) for _ in range(n) _ range(n) range n for _ in range(n) list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split xy = [list(map(int, input().split())) for _ in range(n)] xy [list(map(int, input().split())) for _ in range(n)] if n==1:
    print(1)
    exit() n==1 n 1 print(1) print 1 exit() exit def cost(p,q):
    e = 0
    for i in range(n):
        for j in range(n):
            v = xy[i]
            u = xy[j]
            if p==u[0]-v[0] and q==u[1]-v[1]:
                e += 1
                break
    return n-e cost e = 0 e 0 for i in range(n):
        for j in range(n):
            v = xy[i]
            u = xy[j]
            if p==u[0]-v[0] and q==u[1]-v[1]:
                e += 1
                break
     i range(n) range n for j in range(n):
            v = xy[i]
            u = xy[j]
            if p==u[0]-v[0] and q==u[1]-v[1]:
                e += 1
                break
     j range(n) range n v = xy[i] v xy[i] xy i u = xy[j] u xy[j] xy j if p==u[0]-v[0] and q==u[1]-v[1]:
                e += 1
                break
     p==u[0]-v[0] and q==u[1]-v[1] p==u[0]-v[0] p u[0]-v[0] u[0] u 0 v[0] v 0 q==u[1]-v[1] q u[1]-v[1] u[1] u 1 v[1] v 1 e += 1 e 1 break return n-e n-e n e p p q q d = {} d {} for i in range(n):
    for j in range(n):
        if i==j:
            continue
        v = xy[i]
        u = xy[j]
        p = v[0]-u[0]
        q = v[1]-u[1]
        if (p,q) not in d:
            d[(p,q,)] = 0
        d[(p,q)] += 1 i range(n) range n for j in range(n):
        if i==j:
            continue
        v = xy[i]
        u = xy[j]
        p = v[0]-u[0]
        q = v[1]-u[1]
        if (p,q) not in d:
            d[(p,q,)] = 0
        d[(p,q)] += 1 j range(n) range n if i==j:
            continue
         i==j i j continue v = xy[i] v xy[i] xy i u = xy[j] u xy[j] xy j p = v[0]-u[0] p v[0]-u[0] v[0] v 0 u[0] u 0 q = v[1]-u[1] q v[1]-u[1] v[1] v 1 u[1] u 1 if (p,q) not in d:
            d[(p,q,)] = 0
         (p,q) not in d (p,q) p q d d[(p,q,)] = 0 d[(p,q,)] d (p,q,) p q 0 d[(p,q)] += 1 d[(p,q)] d (p,q) p q 1 c = 0 c 0 for k in d:
    if d[k]>c:
        c = d[k]
        p,q = k k d if d[k]>c:
        c = d[k]
        p,q = k d[k]>c d[k] d k c c = d[k] c d[k] d k p,q = k p k q print(cost(p,q)) print cost(p,q) cost p q xy = [list(map(int, input().split())) for _ in range(n)] [list(map(int, input().split())) for _ in range(n)] xy d = {} {} d n = int(input()) int(input()) n def cost(p,q):
    e = 0
    for i in range(n):
        for j in range(n):
            v = xy[i]
            u = xy[j]
            if p==u[0]-v[0] and q==u[1]-v[1]:
                e += 1
                break
    return n-e def cost(p,q):
    e = 0
    for i in range(n):
        for j in range(n):
            v = xy[i]
            u = xy[j]
            if p==u[0]-v[0] and q==u[1]-v[1]:
                e += 1
                break
    return n-e cost u = xy[j] xy[j] u c = d[k] d[k] c p,q = k k p c = 0 0 c p = v[0]-u[0] v[0]-u[0] p v = xy[i] xy[i] v q = k k q q = v[1]-u[1] v[1]-u[1] q
# -*- coding: utf-8 -*-
n = int(input())
xy = [list(map(int, input().split())) for _ in range(n)]

if n==1:
    print(1)
    exit()

def cost(p,q):
    e = 0
    for i in range(n):
        for j in range(n):
            v = xy[i]
            u = xy[j]
            if p==u[0]-v[0] and q==u[1]-v[1]:
                e += 1
                break
    return n-e

d = {}
for i in range(n):
    for j in range(n):
        if i==j:
            continue
        v = xy[i]
        u = xy[j]
        p = v[0]-u[0]
        q = v[1]-u[1]
        if (p,q) not in d:
            d[(p,q,)] = 0
        d[(p,q)] += 1

c = 0
for k in d:
    if d[k]>c:
        c = d[k]
        p,q = k

print(cost(p,q))