#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n, k; cin >> n >> k;
set<pair<int, int>> x;
for(int i = 0; i < n; i++){
int b; cin >> b;
x.insert({b, i});
}
vector<pair<int, vector<int>>> op;
while(x.size() >= k){
vector<pair<int, int>> j;
for(int y = 0; y < k; y++){
j.push_back(*x.rbegin());
x.erase(prev(x.end()));
}
int v = j.back().first;
vector<int> id;
for(int i = 0; i < j.size(); i++){
j[i].first -= v;
if(j[i].first != 0){
x.insert(j[i]);
}
id.push_back(j[i].second);
}
op.push_back({v, id});
}
if(op.size() > 3e6 || x.size() != 0){
cout << -1 << "\n";
return 0;
}
cout << op.size() << "\n";
for(auto [a, b] : op){
cout << a << " ";
for(auto i : b){
cout << i+1 << " ";
}cout << "\n";
}
return 0;
}