#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
// your code goes here
int t;cin>>t;
while(t--){
int n,m;cin>>n>>m;
int count=0;
vector <pair<int,int>> arr(n);
for(int i=0;i<n;i++) {cin>>arr[i].first;
arr[i].second=i+1;
}
sort(arr.begin(),arr.end());
if(m<n) cout<<"-1"<<endl;
else{
int tep=m;
for(int i=0;i<n-1;i++){
count=count+(arr[i].first+arr[i+1].first);
// cout<<i+1<<" "<<i+2<<endl;
m--;
}
count=count+(arr[0].first+arr[n-1].first);
//cout<<1<<" "<<n-1<<endl;
m--;
//cout<<count<<endl;
if(m>0){
count=count+(m*(arr[0].first+arr[1].first));
// cout<<1<<" "<<2<<endl;
}
cout<<count<<endl;
for(int i=0;i<n-1;i++){
// count=count+(arr[i].first+arr[i+1].first);
cout<<arr[i].second<<" "<<arr[i+1].second<<endl;
tep--;
}
//count=count+(arr[0].first+arr[n-1].first);
cout<<arr[0].second<<" "<<arr[n-1].second<<endl;
tep--;
//cout<<count<<endl;
while(tep>0){
// count=count+(m*(arr[0].first+arr[1].first));
tep--;
cout<<arr[0].second<<" "<<arr[1].second<<endl;
}
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IHQ7Y2luPj50OwoJd2hpbGUodC0tKXsKCWludCBuLG07Y2luPj5uPj5tOwoJaW50IGNvdW50PTA7Cgl2ZWN0b3IgPHBhaXI8aW50LGludD4+IGFycihuKTsKCWZvcihpbnQgaT0wO2k8bjtpKyspIHtjaW4+PmFycltpXS5maXJzdDsKCQlhcnJbaV0uc2Vjb25kPWkrMTsKCX0KCXNvcnQoYXJyLmJlZ2luKCksYXJyLmVuZCgpKTsKCWlmKG08bikgY291dDw8Ii0xIjw8ZW5kbDsKCWVsc2V7CgkJaW50IHRlcD1tOwoJCWZvcihpbnQgaT0wO2k8bi0xO2krKyl7CgkJCWNvdW50PWNvdW50KyhhcnJbaV0uZmlyc3QrYXJyW2krMV0uZmlyc3QpOwoJCS8vCWNvdXQ8PGkrMTw8IiAiPDxpKzI8PGVuZGw7CgkJCW0tLTsKCQl9CgkJY291bnQ9Y291bnQrKGFyclswXS5maXJzdCthcnJbbi0xXS5maXJzdCk7CgkJLy9jb3V0PDwxPDwiICI8PG4tMTw8ZW5kbDsKCQltLS07CgkJLy9jb3V0PDxjb3VudDw8ZW5kbDsKCQlpZihtPjApewoJCQljb3VudD1jb3VudCsobSooYXJyWzBdLmZpcnN0K2FyclsxXS5maXJzdCkpOwoJCS8vCWNvdXQ8PDE8PCIgIjw8Mjw8ZW5kbDsKCQl9CgkJY291dDw8Y291bnQ8PGVuZGw7CgkJZm9yKGludCBpPTA7aTxuLTE7aSsrKXsKCQkvLwljb3VudD1jb3VudCsoYXJyW2ldLmZpcnN0K2FycltpKzFdLmZpcnN0KTsKCQkJY291dDw8YXJyW2ldLnNlY29uZDw8IiAiPDxhcnJbaSsxXS5zZWNvbmQ8PGVuZGw7CgkJCXRlcC0tOwoJCX0KCQkvL2NvdW50PWNvdW50KyhhcnJbMF0uZmlyc3QrYXJyW24tMV0uZmlyc3QpOwoJCWNvdXQ8PGFyclswXS5zZWNvbmQ8PCIgIjw8YXJyW24tMV0uc2Vjb25kPDxlbmRsOwoJCXRlcC0tOwoJCS8vY291dDw8Y291bnQ8PGVuZGw7CgkJd2hpbGUodGVwPjApewoJCS8vCWNvdW50PWNvdW50KyhtKihhcnJbMF0uZmlyc3QrYXJyWzFdLmZpcnN0KSk7CgkJCXRlcC0tOwoJCQljb3V0PDxhcnJbMF0uc2Vjb25kPDwiICI8PGFyclsxXS5zZWNvbmQ8PGVuZGw7CgkJfQoJfQoJfQoJcmV0dXJuIDA7Cn0=