#include <stdio.h>
#include <stdlib.h>
struct node
{
int *h, len, size;
}list;
void creat()
{
list.h = (int *)malloc(2000005 * sizeof(int));
}
void get(int n)
{
for(int i = 1; i <= n; i++)scanf("%d", &list.h[i]);
}
void change(int n, int m)
{
for(int i = 1; i <= m; i++)
{
int t = list.h[1], j;
for(j = 1; j < n; j++)
{
list.h[j] = list.h[j + 1];
}
list.h[j] = t;
}
}
void print(int n)
{
for(int i = 1; i <= n; i++)
{
if(i != 1)printf(" ");
printf("%d", list.h[i]);
}
printf("\n");
}
int main()
{
int t, n, m;
scanf("%d", &t);
while(t--)
{
scanf("%d %d", &n, &m);
creat();
get(n);
change(n, m);
print(n);
}
return 0;
}