n = int(input())

vect = []
for i in range(n):
    a, b = input().split(' ')
    vect.append([int(a), int(b)])

res = []
times = []
makes = []

for i in range(n-1):
    for j in range(i+1, n):
        vector = [vect[j][0]-vect[i][0],vect[j][1]-vect[i][1]]
        if vector in res:
            times[res.index(vector)] += 1
            makes[res.index(vector)].append(j)
        else:
            res.append(vector)
            times.append(1)
            makes.append([j])


res2 = []
makes2 = []

for i, time in enumerate(times):
    if time > 1:
        res2.append(res[i])
        makes2.append(makes[i])

if(len(res2) == 0):
    print(0)
    exit(0)

sums = [1 for i in range(len(res2))]

for i in range(len(makes2)):
    for j in range(i+1, len(makes2)):
        if makes2[i] == makes2[j]:
            sums[i] += 1
            sums[j] += 1
 
maximal = max(sums)
count = 0
for sum in sums:
    if sum == maximal:
        count += 1
print(count)
