#include <bits/stdc++.h>
#include <stdio.h>
using namespace std;
#define F(i,a,b) for(ll i = a; i <= b; i++)
#define RF(i,a,b) for(ll i = a; i >= b; i--)
#define pii pair<ll,ll>
#define PI 3.14159265358979323846264338327950288
#define ll long long
#define ff first
#define ss second
#define pb(x) push_back(x)
#define mp(x,y) make_pair(x,y)
#define debug(x) cout << #x << " = " << x << endl
#define INF 1000000009
#define mod 1000000007
#define S(x) scanf("%lld",&x)
#define S2(x,y) scanf("%lld%lld",&x,&y)
#define P(x) printf("%lld",x)
#define all(v) v.begin(),v.end()


void driver(){
	int n,k;
	cin>>n>>k;
	int a[n];
	queue<int> q, q2;
	for (int i = 0; i < n; ++i){
		int x;
		cin>>x;
		q.push(x);
	}
	if(k>n){
		cout<<"-1"<<endl;
		return;
	}
	for (int i = 0; i < n-k; ++i){
		int w = q.front();
		q.pop();
		q2.push(w);
	}
	stack<int> s;
	for (int i = 0; i < k; ++i)
	{
		int w = q.front();
		q.pop();
		s.push(w);
	}
	for (int i = 0; i < k; ++i)
	{
		int w = s.top();
		s.pop();
		q2.push(w);
	}
	//display final queue
	for (int i = 0; i < n; ++i)
	{
		cout<<q2.front()<<" ";
		q2.pop();
	}
}

int main(){

	int t;
	cin>>t;
	while(t--){
		driver();
	}	
	return 0;
}