#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define F first
#define S second
#define mod 1000000007
void solve(){
ll n,q,i,j; cin>>n>>q;
for(i=1;i<n;i++){
cout<<i<<" "<<i+1<<"\n";
}
ll cur=n-1;
ll p=n-1;
while(q--){
ll d; cin>>d;
if(d==cur){
cout<<"-1 -1 -1\n";
}
else{
cout<<n<<" "<<p<<" "<<d<<"\n";
p=d;
cur=d;
}
}
cout<<"\n";
}
int main() {
//ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
ll t=1;
cin>>t;
for(ll it=1;it<=t;it++){
//cout<<"Case "<<it<<": "; //cout<<'\n';
solve();
}
return 0;
}
1702D - Not a Cheap String | 1714F - Build a Tree and That Is It |
1703F - Yet Another Problem About Pairs Satisfying an Inequality | 610A - Pasha and Stick |
1200A - Hotelier | 1091A - New Year and the Christmas Ornament |
1352B - Same Parity Summands | 1102A - Integer Sequence Dividing |
630B - Moore's Law | 1004A - Sonya and Hotels |
1680B - Robots | 1690A - Print a Pedestal (Codeforces logo) |
1295A - Display The Number | 1077A - Frog Jumping |
1714G - Path Prefixes | 1369C - RationalLee |
289B - Polo the Penguin and Matrix | 1716A - 2-3 Moves |
1670B - Dorms War | 1716B - Permutation Chain |
987A - Infinity Gauntlet | 1676G - White-Black Balanced Subtrees |
1716D - Chip Move | 1352F - Binary String Reconstruction |
1487B - Cat Cycle | 1679C - Rooks Defenders |
56A - Bar | 1694B - Paranoid String |
35A - Shell Game | 1684A - Digit Minimization |