#include<bits/stdc++.h>
using namespace std;
#define data_type int
class segment_tree
{
public:
data_type tree[4*10000][2];
vector<data_type>arr,lazy;
pair<data_type,data_type> ans;
void build(int p,int begin,int end)
{
if(begin==end)
{
tree[p][0]=tree[p][1]=arr[begin];
return;
}
int left=p<<1;
int right=(p<<1)+1;
int mid=(begin+end)>>1;
build(left,begin,mid);
build(right,mid+1,end);
tree[p][0]=max(tree[left][0],tree[right][0]);
tree[p][1]=min(tree[left][1],tree[right][1]);
}
void print(int p, int begin, int end)
{
cout<<"--->"<<p<<" "<<begin<<" "<<end<<" {"<<tree[p][0]<<","<<tree[p][1]<<"}"<<endl;
if (begin==end)
return;
int mid = (begin+end)>>1;
print(p<<1, begin, mid);
print((p<<1)+1, mid+1, end);
}
void query(int p,int begin,int end,int l,int r)
{
if(l>end || r<begin)
return ;
if (begin >= l && end <= r)
{
ans= make_pair(tree[p][0],tree[p][1]);
return ;
}
int left=p<<1;
int right=(p<<1)+1;
int mid=(begin+end)>>1;
query(left, begin,mid,l,r);
query(right, mid+1,end,l,r);
}
segment_tree(vector<data_type> temp)
{
arr=temp;
memset(tree,0,sizeof(tree));
build(1,1,arr.size());
print(1,1,arr.size());
// lazy.assign(4*arr.size(),0LL);
}
pair<data_type,data_type> rmq(int i,int j)
{
query(1,1,arr.size(),i,j);
return ans;
}
};
int main()
{
int n,q,t,a,te=0;
scanf("%d",&t);
while(t--)
{
scanf("%d %d",&n,&q);
vector<data_type> vc;
for(int i=0; i<n; i++)
scanf("%d",&a),vc.emplace_back(a);
segment_tree st(vc);
if(q==1)
{
printf("0\n");
continue;
}
q--;
data_type m=INT_MIN;
for(int i=0; i<n-q; i++)
{
pair<data_type,data_type> p=st.rmq(i+1,i+q);
cout<<"("<<i<<","<<i+q<<") = "<<p.first<<" "<<p.second<<endl;
m=max(abs(p.first-p.second),m);
}
cout<<m<<endl;
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBkYXRhX3R5cGUgaW50CmNsYXNzIHNlZ21lbnRfdHJlZQp7CnB1YmxpYzoKICAgIGRhdGFfdHlwZSB0cmVlWzQqMTAwMDBdWzJdOwogICAgdmVjdG9yPGRhdGFfdHlwZT5hcnIsbGF6eTsKICAgIHBhaXI8ZGF0YV90eXBlLGRhdGFfdHlwZT4gYW5zOwoKICAgIHZvaWQgYnVpbGQoaW50IHAsaW50IGJlZ2luLGludCBlbmQpCiAgICB7CiAgICAgICAgaWYoYmVnaW49PWVuZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHJlZVtwXVswXT10cmVlW3BdWzFdPWFycltiZWdpbl07CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICBpbnQgbGVmdD1wPDwxOwogICAgICAgIGludCByaWdodD0ocDw8MSkrMTsKICAgICAgICBpbnQgbWlkPShiZWdpbitlbmQpPj4xOwogICAgICAgIGJ1aWxkKGxlZnQsYmVnaW4sbWlkKTsKICAgICAgICBidWlsZChyaWdodCxtaWQrMSxlbmQpOwogICAgICAgIHRyZWVbcF1bMF09bWF4KHRyZWVbbGVmdF1bMF0sdHJlZVtyaWdodF1bMF0pOwogICAgICAgIHRyZWVbcF1bMV09bWluKHRyZWVbbGVmdF1bMV0sdHJlZVtyaWdodF1bMV0pOwoKICAgIH0KCiAgICB2b2lkIHByaW50KGludCBwLCBpbnQgYmVnaW4sIGludCBlbmQpCiAgICB7CiAgICAgICAgY291dDw8Ii0tLT4iPDxwPDwiICI8PGJlZ2luPDwiICI8PGVuZDw8IiB7Ijw8dHJlZVtwXVswXTw8IiwiPDx0cmVlW3BdWzFdPDwifSI8PGVuZGw7CiAgICAgICAgaWYgKGJlZ2luPT1lbmQpCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICBpbnQgbWlkID0gKGJlZ2luK2VuZCk+PjE7CiAgICAgICAgcHJpbnQocDw8MSwgYmVnaW4sIG1pZCk7CiAgICAgICAgcHJpbnQoKHA8PDEpKzEsIG1pZCsxLCBlbmQpOwogICAgfQoKICAgIHZvaWQgcXVlcnkoaW50IHAsaW50IGJlZ2luLGludCBlbmQsaW50IGwsaW50IHIpCiAgICB7CiAgICAgICAgaWYobD5lbmQgfHwgcjxiZWdpbikKICAgICAgICAgICAgcmV0dXJuIDsKICAgICAgICBpZiAoYmVnaW4gPj0gbCAmJiBlbmQgPD0gcikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgYW5zPSBtYWtlX3BhaXIodHJlZVtwXVswXSx0cmVlW3BdWzFdKTsKICAgICAgICAgICAgICAgIHJldHVybiA7CiAgICAgICAgICAgIH0KCiAgICAgICAgaW50IGxlZnQ9cDw8MTsKICAgICAgICBpbnQgcmlnaHQ9KHA8PDEpKzE7CiAgICAgICAgaW50IG1pZD0oYmVnaW4rZW5kKT4+MTsKICAgICAgICBxdWVyeShsZWZ0LCBiZWdpbixtaWQsbCxyKTsKICAgICAgICBxdWVyeShyaWdodCwgbWlkKzEsZW5kLGwscik7CiAgICB9CgogICAgc2VnbWVudF90cmVlKHZlY3RvcjxkYXRhX3R5cGU+IHRlbXApCiAgICB7CiAgICAgICAgYXJyPXRlbXA7CiAgICAgICAgbWVtc2V0KHRyZWUsMCxzaXplb2YodHJlZSkpOwogICAgICAgIGJ1aWxkKDEsMSxhcnIuc2l6ZSgpKTsKICAgICAgICBwcmludCgxLDEsYXJyLnNpemUoKSk7CiAgICAgICAgLy8gbGF6eS5hc3NpZ24oNCphcnIuc2l6ZSgpLDBMTCk7CiAgICB9CiAgICBwYWlyPGRhdGFfdHlwZSxkYXRhX3R5cGU+IHJtcShpbnQgaSxpbnQgaikKICAgIHsKICAgICAgICBxdWVyeSgxLDEsYXJyLnNpemUoKSxpLGopOwogICAgICAgIHJldHVybiBhbnM7CiAgICB9Cgp9OwppbnQgIG1haW4oKQp7CgoKICAgIGludCBuLHEsdCxhLHRlPTA7CiAgICBzY2FuZigiJWQiLCZ0KTsKICAgIHdoaWxlKHQtLSkKICAgICAgICB7CiAgICAgICAgICAgIHNjYW5mKCIlZCAlZCIsJm4sJnEpOwoKICAgICAgICAgICAgdmVjdG9yPGRhdGFfdHlwZT4gdmM7CiAgICAgICAgICAgIGZvcihpbnQgaT0wOyBpPG47IGkrKykKICAgICAgICAgICAgICAgIHNjYW5mKCIlZCIsJmEpLHZjLmVtcGxhY2VfYmFjayhhKTsKICAgICAgICAgICAgc2VnbWVudF90cmVlIHN0KHZjKTsKICAgICAgICAgICAgaWYocT09MSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIjBcbiIpOwogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBxLS07CiAgICAgICAgICAgIGRhdGFfdHlwZSAgbT1JTlRfTUlOOwoKICAgICAgICAgICAgZm9yKGludCBpPTA7IGk8bi1xOyBpKyspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcGFpcjxkYXRhX3R5cGUsZGF0YV90eXBlPiBwPXN0LnJtcShpKzEsaStxKTsKICAgICAgICAgICAgICAgICAgICBjb3V0PDwiKCI8PGk8PCIsIjw8aStxPDwiKSA9ICI8PHAuZmlyc3Q8PCIgIjw8cC5zZWNvbmQ8PGVuZGw7CiAgICAgICAgICAgICAgICAgICAgbT1tYXgoYWJzKHAuZmlyc3QtcC5zZWNvbmQpLG0pOwoKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgY291dDw8bTw8ZW5kbDsKICAgICAgICB9CgogICAgcmV0dXJuIDA7Cgp9Cg==
--->1 1 6 {49,0}
--->2 1 3 {8,0}
--->4 1 2 {8,0}
--->8 1 1 {0,0}
--->9 2 2 {8,8}
--->5 3 3 {8,8}
--->3 4 6 {49,4}
--->6 4 5 {8,4}
--->12 4 4 {8,8}
--->13 5 5 {4,4}
--->7 6 6 {49,49}
(0,1) = 0 0
(1,2) = 8 8
(2,3) = 8 8
(3,4) = 8 8
(4,5) = 4 4
0
--->1 1 8 {13,0}
--->2 1 4 {13,4}
--->4 1 2 {8,4}
--->8 1 1 {8,8}
--->9 2 2 {4,4}
--->5 3 4 {13,12}
--->10 3 3 {13,13}
--->11 4 4 {12,12}
--->3 5 8 {13,0}
--->6 5 6 {1,0}
--->12 5 5 {1,1}
--->13 6 6 {0,0}
--->7 7 8 {13,0}
--->14 7 7 {13,13}
--->15 8 8 {0,0}
(0,2) = 8 4
(1,3) = 13 13
(2,4) = 13 12
(3,5) = 1 1
(4,6) = 1 0
(5,7) = 13 13
4
--->1 1 2 {1,0}
--->2 1 1 {1,1}
--->3 2 2 {0,0}
(0,1) = 1 1
0