#include <bits/stdc++.h>
#define pc(x) putchar_unlocked(x);
using namespace std;
void writeint (int n);
int scanint(void);
int scanint(void)
{
int x;
char c = getchar_unlocked();//this will read the first character.
while(c<'0')
{
c = getchar_unlocked();//if the first character not between 0 & 9 this while loop will work
//untill it get the valid integer between 0 & 9
}
x=0;
while(c>='0' && c<='9')
{
x = (x<<3) + (x<<1) + c - 48;
c = getchar_unlocked();//rest of the characters goes here.
}
return x;
}
void writeint (int n)
{
if(n<10)
{
pc(n + '0');
pc('\n')
return;
}
int N = n, rev, count = 0;
rev = N;
while ((rev % 10) == 0) { //obtain the count of the number of 0s
count++; rev /= 10;
}
rev = 0;
while (N != 0) { //store reverse of N in rev
rev = (rev<<3) + (rev<<1) + N % 10;
N /= 10;
}
while (rev != 0) {
pc(rev % 10 + '0');
rev /= 10;
}
while (count--)
{
pc('0');
}
pc('\n');
return;
}
int main() {
//std::ios_base::sync_with_stdio(false);
//std::cin.tie(NULL);
int t,n,k;
//scanf("%d",&t);
t = scanint();
while(t--)
{
//scanf("%d%d",&n,&k);
n = scanint();
k = scanint();
// printf("%d %d" , n , k );
int arr[n];
for(int i=n;i--;)
//scanf("%d",&arr[i]);
arr[i] = scanint();
if(k==1)
{
putchar_unlocked('0');
putchar_unlocked('\n');
continue;
}
sort(arr,arr+n);
int diff=INT_MAX;
for(int i=0 ; i<=n-k ;++i)
if(diff>arr[i+k-1]-arr[i])
diff=arr[i+k-1]-arr[i];
writeint(diff);
//writeint(12300023);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgcGMoeCkgcHV0Y2hhcl91bmxvY2tlZCh4KTsKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHdyaXRlaW50IChpbnQgbik7CmludCBzY2FuaW50KHZvaWQpOwoKaW50IHNjYW5pbnQodm9pZCkKewoJaW50IHg7CiAgY2hhciBjID0gZ2V0Y2hhcl91bmxvY2tlZCgpOy8vdGhpcyB3aWxsIHJlYWQgdGhlIGZpcnN0IGNoYXJhY3Rlci4KICB3aGlsZShjPCcwJykKICAgewogICAJYyA9IGdldGNoYXJfdW5sb2NrZWQoKTsvL2lmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgbm90IGJldHdlZW4gMCAmIDkgdGhpcyB3aGlsZSBsb29wIHdpbGwgd29yawogICAJLy91bnRpbGwgaXQgZ2V0IHRoZSB2YWxpZCBpbnRlZ2VyIGJldHdlZW4gMCAmIDkKICAgfQogIHg9MDsKICB3aGlsZShjPj0nMCcgJiYgYzw9JzknKQogIHsKICAgeCA9ICh4PDwzKSArICh4PDwxKSArIGMgLSA0ODsKICAgYyA9IGdldGNoYXJfdW5sb2NrZWQoKTsvL3Jlc3Qgb2YgdGhlIGNoYXJhY3RlcnMgZ29lcyBoZXJlLgogIH0KICAKICByZXR1cm4geDsKfQoKCiAgICB2b2lkIHdyaXRlaW50IChpbnQgbikKICAgIAogICAKICAgIAogICAgCiAgICB7CiAgICAJCiAgICAJIAogICAgaWYobjwxMCkKICAgICAgIHsKICAgICAgIAlwYyhuICsgJzAnKTsKICAgICAgIAlwYygnXG4nKQogICAgICAgCXJldHVybjsKICAgICAgIAkKICAgICAgIH0KICAgIAkKICAgICAgICBpbnQgTiA9IG4sIHJldiwgY291bnQgPSAwOwogICAgICAgIHJldiA9IE47CgogICAgICAgCgogICAgICAgIHdoaWxlICgocmV2ICUgMTApID09IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL29idGFpbiB0aGUgY291bnQgb2YgdGhlIG51bWJlciBvZiAwcwogICAgICAgICAgICAgICAgY291bnQrKzsgcmV2IC89IDEwOwogICAgICAgIH0KCiAgICAgICAgcmV2ID0gMDsKCiAgICAgICAgd2hpbGUgKE4gIT0gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3N0b3JlIHJldmVyc2Ugb2YgTiBpbiByZXYKICAgICAgICAgICAgICAgIHJldiA9IChyZXY8PDMpICsgKHJldjw8MSkgKyBOICUgMTA7CiAgICAgICAgICAgICAgICBOIC89IDEwOwogICAgICAgIH0KCiAgICAgICAgd2hpbGUgKHJldiAhPSAwKSB7CgogICAgICAgICAgICAgICAgcGMocmV2ICUgMTAgKyAnMCcpOwogICAgICAgICAgICAgICAgcmV2IC89IDEwOwoKICAgICAgICB9CgogICAgICAgd2hpbGUgKGNvdW50LS0pCiAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICBwYygnMCcpOwoKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIHBjKCdcbicpOwoKICAgICAgICAgICAgICAgcmV0dXJuOwogICAgfQoKCgppbnQgbWFpbigpIHsKCi8vc3RkOjppb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKLy9zdGQ6OmNpbi50aWUoTlVMTCk7CgogICBpbnQgdCxuLGs7CiAgIC8vc2NhbmYoIiVkIiwmdCk7CiAgIHQgPSBzY2FuaW50KCk7CiAgIHdoaWxlKHQtLSkKICAgewogICAgICAvL3NjYW5mKCIlZCVkIiwmbiwmayk7CiAgICAgIG4gPSBzY2FuaW50KCk7CiAgICAgayA9ICBzY2FuaW50KCk7CgogICAgLy8gIHByaW50ZigiJWQgJWQiICwgbiAsIGsgKTsKCgogICAgICBpbnQgYXJyW25dOyAgICAgICAgICAgCiAgICAKICAgCiAgICAgIGZvcihpbnQgaT1uO2ktLTspCiAgICAgICAgIC8vc2NhbmYoIiVkIiwmYXJyW2ldKTsKICAgICAgICAgYXJyW2ldID0gc2NhbmludCgpOwogICAgICAgICAgIGlmKGs9PTEpCiAgICB7CiAgICAgICAgIHB1dGNoYXJfdW5sb2NrZWQoJzAnKTsKICAgICAgICAgICAgICAgICBwdXRjaGFyX3VubG9ja2VkKCdcbicpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICB9CiAgICAgICAgIAogICAgICBzb3J0KGFycixhcnIrbik7CgogICAgICBpbnQgZGlmZj1JTlRfTUFYOwogICAgICBmb3IoaW50IGk9MCA7IGk8PW4tayA7KytpKQogICAgICAgICBpZihkaWZmPmFycltpK2stMV0tYXJyW2ldKQogICAgICAgICAgICBkaWZmPWFycltpK2stMV0tYXJyW2ldOwoKICAgIHdyaXRlaW50KGRpZmYpOwoKICAgICAvL3dyaXRlaW50KDEyMzAwMDIzKTsKICAgfQogICByZXR1cm4gMDsKfQo=