import sys
from collections import Counter
from math import ceil
def input():
    return sys.stdin.readline()[:-1]
def gcd(a,b):
    if b == 0:
        return a
    return gcd(b,a%b)
def main():
    N = int(input())
    P = []
    for _ in range(N):
        P.append(list(map(int,input().split())))
    P = sorted(P)
    K = []
    if N == 1:
        print(1)
        exit(0)
    for k in range(N-1):
        for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            K.append((e,f))
    C = Counter(K).most_common()
    S = set([])
    temp = 0
    for k in range(N-1):
        for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            if e == C[0][0][0] and f == C[0][0][1]:
                if k not in S or l not in S:
                    S.add(k)
                    S.add(l)
                    temp += 1
    print(N-temp)
if __name__ == '__main__':
    main() import sys sys from collections import Counter from math import ceil def input():
    return sys.stdin.readline()[:-1] input return sys.stdin.readline()[:-1] sys.stdin.readline()[:-1] sys.stdin.readline() sys.stdin.readline sys.stdin sys stdin readline :-1 -1 def gcd(a,b):
    if b == 0:
        return a
    return gcd(b,a%b) gcd if b == 0:
        return a
     b == 0 b 0 return a a return gcd(b,a%b) gcd(b,a%b) gcd b a%b a b a a b b def main():
    N = int(input())
    P = []
    for _ in range(N):
        P.append(list(map(int,input().split())))
    P = sorted(P)
    K = []
    if N == 1:
        print(1)
        exit(0)
    for k in range(N-1):
        for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            K.append((e,f))
    C = Counter(K).most_common()
    S = set([])
    temp = 0
    for k in range(N-1):
        for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            if e == C[0][0][0] and f == C[0][0][1]:
                if k not in S or l not in S:
                    S.add(k)
                    S.add(l)
                    temp += 1
    print(N-temp) main N = int(input()) N int(input()) int input() input P = [] P [] for _ in range(N):
        P.append(list(map(int,input().split())))
     _ range(N) range N P.append(list(map(int,input().split()))) P.append P append list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split P = sorted(P) P sorted(P) sorted P K = [] K [] if N == 1:
        print(1)
        exit(0)
     N == 1 N 1 print(1) print 1 exit(0) exit 0 for k in range(N-1):
        for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            K.append((e,f))
     k range(N-1) range N-1 N 1 for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            K.append((e,f))
     l range(k+1,N) range k+1 k 1 N a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1] a P[k][0] [k] P k 0 b P[k][1] [k] P k 1 c P[l][0] [l] P l 0 d P[l][1] [l] P l 1 e = c-a e c-a c a f = d-b f d-b d b K.append((e,f)) K.append K append (e,f) e f C = Counter(K).most_common() C Counter(K).most_common() (K).most_common (K) Counter K most_common S = set([]) S set([]) set [] temp = 0 temp 0 for k in range(N-1):
        for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            if e == C[0][0][0] and f == C[0][0][1]:
                if k not in S or l not in S:
                    S.add(k)
                    S.add(l)
                    temp += 1
     k range(N-1) range N-1 N 1 for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            if e == C[0][0][0] and f == C[0][0][1]:
                if k not in S or l not in S:
                    S.add(k)
                    S.add(l)
                    temp += 1
     l range(k+1,N) range k+1 k 1 N a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1] a P[k][0] [k] P k 0 b P[k][1] [k] P k 1 c P[l][0] [l] P l 0 d P[l][1] [l] P l 1 e = c-a e c-a c a f = d-b f d-b d b if e == C[0][0][0] and f == C[0][0][1]:
                if k not in S or l not in S:
                    S.add(k)
                    S.add(l)
                    temp += 1
     e == C[0][0][0] and f == C[0][0][1] e == C[0][0][0] e C[0][0][0] [0] [0] C 0 0 0 f == C[0][0][1] f C[0][0][1] [0] [0] C 0 0 1 if k not in S or l not in S:
                    S.add(k)
                    S.add(l)
                    temp += 1
     k not in S or l not in S k not in S k S l not in S l S S.add(k) S.add S add k S.add(l) S.add S add l temp += 1 temp 1 print(N-temp) print N-temp N temp if __name__ == '__main__':
    main() __name__ == '__main__' __name__ '__main__' main() main def gcd(a,b):
    if b == 0:
        return a
    return gcd(b,a%b) def gcd(a,b):
    if b == 0:
        return a
    return gcd(b,a%b) gcd def input():
    return sys.stdin.readline()[:-1] def input():
    return sys.stdin.readline()[:-1] input def main():
    N = int(input())
    P = []
    for _ in range(N):
        P.append(list(map(int,input().split())))
    P = sorted(P)
    K = []
    if N == 1:
        print(1)
        exit(0)
    for k in range(N-1):
        for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            K.append((e,f))
    C = Counter(K).most_common()
    S = set([])
    temp = 0
    for k in range(N-1):
        for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            if e == C[0][0][0] and f == C[0][0][1]:
                if k not in S or l not in S:
                    S.add(k)
                    S.add(l)
                    temp += 1
    print(N-temp) def main():
    N = int(input())
    P = []
    for _ in range(N):
        P.append(list(map(int,input().split())))
    P = sorted(P)
    K = []
    if N == 1:
        print(1)
        exit(0)
    for k in range(N-1):
        for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            K.append((e,f))
    C = Counter(K).most_common()
    S = set([])
    temp = 0
    for k in range(N-1):
        for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            if e == C[0][0][0] and f == C[0][0][1]:
                if k not in S or l not in S:
                    S.add(k)
                    S.add(l)
                    temp += 1
    print(N-temp) main
import sys
from collections import Counter
from math import ceil
def input():
    return sys.stdin.readline()[:-1]
def gcd(a,b):
    if b == 0:
        return a
    return gcd(b,a%b)
def main():
    N = int(input())
    P = []
    for _ in range(N):
        P.append(list(map(int,input().split())))
    P = sorted(P)
    K = []
    if N == 1:
        print(1)
        exit(0)
    for k in range(N-1):
        for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            K.append((e,f))
    C = Counter(K).most_common()
    S = set([])
    temp = 0
    for k in range(N-1):
        for l in range(k+1,N):
            a, b, c, d = P[k][0], P[k][1], P[l][0], P[l][1]
            e = c-a
            f = d-b
            if e == C[0][0][0] and f == C[0][0][1]:
                if k not in S or l not in S:
                    S.add(k)
                    S.add(l)
                    temp += 1
    print(N-temp)
if __name__ == '__main__':
    main()
