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:
import sys

n = int(sys.stdin.readline())
inp = str(sys.stdin.readline()).split()
#inp = [10**9 for x in range(2*(10**5))]
prog = [int(x) for x in inp]
prog.sort()
ans = 1

mn = prog[0]
mx = mn+5
i = 1
for j in range(1,len(prog)):
    i = j
    tmpMax = 1
    mx = prog[j-1]+5    
    try:
            if prog[i+ans-1]<=mx:
                i = i+ans-1
                #print(i)
                tmpMax = ans
                while i <len(prog):
                    #print(i,len(prog))
                    #print(mx)
                    if prog[i]<=mx:
                        tmpMax+=1
                    else:
                        if tmpMax>ans:
                            ans = tmpMax
                        break
                        #tmpMax = 1
                    i += 1
                if tmpMax > ans:
                    ans = tmpMax
    except:
            False
            
    


print(ans)
















'''
t1 = sys.stdin.readline()[:-1].split(':')
t2 = sys.stdin.readline()[:-1].split(':')
t1Tmp = t1
t1 = int(t1[0])*60+int(t1[1])
t2 = int(t2[0])*60+int(t2[1])

d = t2-t1
if d<0:    
    d = 24*60+d
    #print(d)
d = d//2
hh = d//60
mm = d%60

print(str((int(t1Tmp[0])+hh)%24).rjust(2,'0')+':'+str(int(t1Tmp[1])+mm).rjust(2,'0'))
'''