#include <cstdio>
#include <algorithm>
#include<iostream>
int partition(int *arr, const int left, const int right);
void quicksort(int *arr, const int left, const int right, const int sz);
int main(){
int T,N,K,h[20000];
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
//scanf("%d",&T);
std::cin >> T;
while(T--){
//scanf("%d %d",&N,&K);
std::cin >> N ;
std::cin >>K;
//cout <<N<<K;
//cout<<K;
for(int i = 0;i < N;++i) scanf("%d",&h[i]);
quicksort(h,0,N-1,N);
int ans = h[K - 1] - h[0];
for(int i = 1;i + K - 1 < N;++i)
ans = std::min(ans,h[i + K - 1] - h[i]);
//printf("%d\n",ans);
std::cout<<ans;
}
return 0;
}
int partition(int *arr, const int left, const int right) {
const int mid = left + (right - left) / 2;
const int pivot = arr[mid];
// move the mid point value to the front.
std::swap(arr[mid],arr[left]);
int i = left + 1;
int j = right;
while (i <= j) {
while(i <= j && arr[i] <= pivot) {
i++;
}
while(i <= j && arr[j] > pivot) {
j--;
}
if (i < j) {
std::swap(arr[i], arr[j]);
}
}
std::swap(arr[i - 1],arr[left]);
return i - 1;
}
void quicksort(int *arr, const int left, const int right, const int sz)
{
if (left >= right) {
return;
}
int part = partition(arr, left, right);
//printf (arr, sz);
quicksort(arr, left, part - 1, sz);
quicksort(arr, part + 1, right, sz);
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGU8aW9zdHJlYW0+CgppbnQgcGFydGl0aW9uKGludCAqYXJyLCBjb25zdCBpbnQgbGVmdCwgY29uc3QgaW50IHJpZ2h0KTsKdm9pZCBxdWlja3NvcnQoaW50ICphcnIsIGNvbnN0IGludCBsZWZ0LCBjb25zdCBpbnQgcmlnaHQsIGNvbnN0IGludCBzeik7CgoKCgoKCgppbnQgbWFpbigpewppbnQgVCxOLEssaFsyMDAwMF07CgpzdGQ6Omlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwpzdGQ6OmNpbi50aWUoTlVMTCk7CgovL3NjYW5mKCIlZCIsJlQpOwoKICAgICAgICBzdGQ6OmNpbiA+PiBUOwoKCndoaWxlKFQtLSl7CiAgICAvL3NjYW5mKCIlZCAlZCIsJk4sJkspOwoKICAgICAgICBzdGQ6OmNpbiA+PiBOIDsKICAgICAgICBzdGQ6OmNpbiA+Pks7CiAgICAgICAgLy9jb3V0IDw8Tjw8SzsKICAgICAgICAvL2NvdXQ8PEs7CiAgICBmb3IoaW50IGkgPSAwO2kgPCBOOysraSkgc2NhbmYoIiVkIiwmaFtpXSk7CiAgICBxdWlja3NvcnQoaCwwLE4tMSxOKTsKCiAgICBpbnQgYW5zID0gaFtLIC0gMV0gLSBoWzBdOwoKICAgIGZvcihpbnQgaSA9IDE7aSArIEsgLSAxIDwgTjsrK2kpCiAgICAgICAgYW5zID0gc3RkOjptaW4oYW5zLGhbaSArIEsgLSAxXSAtIGhbaV0pOwoKLy9wcmludGYoIiVkXG4iLGFucyk7CgogIHN0ZDo6Y291dDw8YW5zOwp9CgpyZXR1cm4gMDsKfQoKCmludCBwYXJ0aXRpb24oaW50ICphcnIsIGNvbnN0IGludCBsZWZ0LCBjb25zdCBpbnQgcmlnaHQpIHsKY29uc3QgaW50IG1pZCA9IGxlZnQgKyAocmlnaHQgLSBsZWZ0KSAvIDI7CmNvbnN0IGludCBwaXZvdCA9IGFyclttaWRdOwovLyBtb3ZlIHRoZSBtaWQgcG9pbnQgdmFsdWUgdG8gdGhlIGZyb250LgpzdGQ6OnN3YXAoYXJyW21pZF0sYXJyW2xlZnRdKTsKaW50IGkgPSBsZWZ0ICsgMTsKaW50IGogPSByaWdodDsKd2hpbGUgKGkgPD0gaikgewogICAgd2hpbGUoaSA8PSBqICYmIGFycltpXSA8PSBwaXZvdCkgewogICAgICAgIGkrKzsKICAgIH0KCiAgICB3aGlsZShpIDw9IGogJiYgYXJyW2pdID4gcGl2b3QpIHsKICAgICAgICBqLS07CiAgICB9CgogICAgaWYgKGkgPCBqKSB7CiAgICAgICAgc3RkOjpzd2FwKGFycltpXSwgYXJyW2pdKTsKICAgIH0KfQpzdGQ6OnN3YXAoYXJyW2kgLSAxXSxhcnJbbGVmdF0pOwpyZXR1cm4gaSAtIDE7Cn0KCnZvaWQgcXVpY2tzb3J0KGludCAqYXJyLCBjb25zdCBpbnQgbGVmdCwgY29uc3QgaW50IHJpZ2h0LCBjb25zdCBpbnQgc3opCnsKCmlmIChsZWZ0ID49IHJpZ2h0KSB7CiAgICByZXR1cm47Cn0KCmludCBwYXJ0ID0gcGFydGl0aW9uKGFyciwgbGVmdCwgcmlnaHQpOwogLy9wcmludGYgKGFyciwgc3opOwoKcXVpY2tzb3J0KGFyciwgbGVmdCwgcGFydCAtIDEsIHN6KTsKcXVpY2tzb3J0KGFyciwgcGFydCArIDEsIHJpZ2h0LCBzeik7Cn0K