#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  pair<int, int> msg[n + 1];
  int sum = 0;
  for (int i = 0; i < n; i++) {
    cin >> msg[i].first;
    msg[i].second = i + 1;
    sum += msg[i].first;
  }
  sort(msg + 1, msg + n);
  msg[n] = msg[0];
  if (sum >= n - 1 && msg[n].first) {
    int num = n - 1;
    cout << n - 1 << endl;
    for (int i = n; i > 0 && num; i--) {
      for (; msg[i].first > 0 && num; msg[i].first--)
        cout << msg[i].second << " " << msg[num--].second << endl;
    }
  } else {
    cout << -1 << endl;
  }
}
