Problem: You are a coach at your local university. There are n students under your supervision, the programming skill of the i-th student is a_i.

You have to create a team for a new programming competition. As you know, the more students some team has the more probable its victory is! So you have to create a team with the maximum number of students. But you also know that a team should be balanced. It means that the programming skill of each pair of students in a created team should differ by no more than 5.

Your task is to report the maximum possible number of students in a balanced team.

Input

The first line of the input contains one integer n (1 ≤ n ≤ 2 ⋅ 10^5) — the number of students.

The second line of the input contains n integers a_1, a_2, ..., a_n (1 ≤ a_i ≤ 10^9), where a_i is a programming skill of the i-th student.

Output

Print one integer — the maximum possible number of students in a balanced team.

Examples

Input


6
1 10 17 12 15 2


Output


3


Input


10
1337 1337 1337 1337 1337 1337 1337 1337 1337 1337


Output


10


Input


6
1 1000 10000 10 100 1000000000


Output


1

Note

In the first example you can create a team with skills [12, 17, 15].

In the second example you can take all students in a team because their programming skills are equal.

In the third example you can create a team consisting of a single student (and you cannot create a team consisting of at least two students).

Solution (in PYTHON3):

Solution:
'''Задача разложить число на простые множители'''
'''
N = int(input())
sum = N
for j in range(2,N+1):
    while N % j == 0:
        N //= j
        sum += N
print(sum)

# Задача найти максимальное число книг

n,t = map(int,input().split())
A = list(map(int,input().split()))

k = 0
for i in range(len(A)):
    if A[i] < t:
        k = i
        break
c = 0
for j in range(k, len(A)):
    S = 0
    if A[j] > t:
        continue
    m = j
    lenght = 0
    while S <= t and m < len(A):
        S += A[m]
        m += 1
        lenght = m-j
    if m == len(A) and lenght > c and S <= t:
        c = lenght
    elif lenght-1 > c :
        c = lenght-1
print(c)
# еще одно решение

l = 0
r = 0

lenght = 0
c = 0
S = 0
while r < len(A):
    if A[r] > t:
        r += 1
        l += 1
        continue
    while S <= t and r < len(A):
        S += A[r]
        r += 1
    if r == len(A) and S <= t:
        r += 1
    S = S - A[l]
    lenght = r-1-l
    if lenght > c:
        c = lenght
    l += 1

print(c)

'''

# Задача Сбалансированная команда

N = int(input())
A = list(map(int,input().split()))
A.sort()
l = r = 0
numb = 1
t = 0
i = 0
while i <len(A)-1:
    while r < len(A) and A[i] + 5 >= A[r]:
        r += 1
        t += 1
    if t > numb:
        numb = t
    if t > 0:
        t -= 1
    i += 1

print(numb)