#include <bits/stdc++.h>
using namespace std;
int main() {
  pair<int, string> q1[3005];
  pair<int, int> q3[3005];
  int q2[3005], n, h = 500000000, index = 0;
  bool flag = false;
  cin >> n;
  for (int i = 0; i < n; i++) cin >> q1[i].second >> q1[i].first;
  sort(q1, q1 + n);
  if (q1[0].first > 0) {
    cout << -1;
    return 0;
  } else {
    q3[0].first = 500000000;
    q3[0].second = 0;
  }
  for (int i = 1; i < n; i++) {
    if (q1[i].first > i) {
      flag = true;
      break;
    }
    if (q1[i].first == 0)
      h = q3[0].first + n - i;
    else
      h = q3[q1[i].first - 1].first - n + i;
    index = q1[i].first;
    for (int j = i - 1; j >= index; j--) {
      q3[j + 1] = q3[j];
      q3[j + 1].first -= (n - i);
    }
    q3[index].first = h;
    q3[index].second = i;
  }
  if (flag) {
    cout << -1;
    return 0;
  }
  for (int i = 0; i < n; i++) q2[q3[i].second] = q3[i].first;
  for (int i = 0; i < n; i++) cout << q1[i].second << ' ' << q2[i] << endl;
  return 0;
}
