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=int(raw_input())
lis=[]
k=int(raw_input())
for i in xrange(n):
    lis.append(int(raw_input()))
lis=sorted(lis)
num=1000000001
for i in range(k-1,n):
	if lis[i]-lis[i-k+1]<num:
		num=lis[i]-lis[i-k+1]
print num