#include <bits/stdc++.h>
using namespace std;
struct data {
  int a;
  int index;
};
bool compare(data x, data y) { return x.a < y.a; }
int main() {
  int n, k, i, b, sum = 0;
  data d;
  cin >> n >> k;
  data ara[n];
  for (i = 0; i < n; i++) {
    cin >> b;
    ara[i].a = b;
    ara[i].index = i + 1;
  }
  vector<data> v;
  while (k != 0) {
    sort(ara, ara + n, compare);
    if ((ara[n - 1].a - ara[0].a) >= 2) {
      sum++;
      d.a = ara[n - 1].index;
      d.index = ara[0].index;
      ara[n - 1].a--;
      ara[0].a++;
      v.push_back(d);
      k--;
    } else {
      break;
    }
  }
  sort(ara, ara + n, compare);
  cout << ara[n - 1].a - ara[0].a << " " << sum;
  if (sum != 0) {
    cout << endl;
    for (i = 0; i < v.size() - 1; i++) {
      cout << v[i].a << " " << v[i].index << endl;
    }
    cout << v[v.size() - 1].a << " " << v[v.size() - 1].index;
  }
  return 0;
}
