Problem: you are given an array of size N. You need to select K elements from the array such that the difference between the max number among selected and the min number among selected array elements should be minimum. Print the minimum difference.

INPUT:
First line N number i.e., length of array
Second line K number 
Next N lines contains a number for each line

OUTPUT:
Print the minimum possible difference

0<N<10^5
0<K<N
0<number<10^9

SAMPLE INPUT
5
3
1
2
3
4
5

SAMPLE OUTPUT
2

Solution (in PYTHON):

Solution:
N = input()
K = input()

assert 1 <= N <= 10**5
assert 1 <= K <= N

lis = []
for i in range(N):
    lis.append(input())

lis.sort()

for i in lis:
    assert 0 <= i <= 10**9

answer = 100000000000000000000

for index in range(N-K+1):
    diff = lis[index+K-1] - lis[index]

    if diff < answer:
        answer = diff

print answer