#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  vector<pair<int, string> > p(n);
  for (int i = 0; i < n; i++) cin >> p[i].second >> p[i].first;
  sort(p.rbegin(), p.rend());
  map<int, int> M;
  for (int i = 0; i < n; i++) {
    for (int j = p[i].first; j < n; j++) {
      if (!M.count(j)) {
        M[j] = i;
        break;
      }
    }
  }
  if (M.size() != n) {
    cout << -1 << endl;
    return 0;
  }
  vector<int> h, invH(n);
  for (int i = 0; i < n; i++) {
    h.insert(h.begin() + p[M[i]].first, i);
  }
  for (int i = 0; i < n; i++) {
    invH[h[i]] = n - i;
  }
  for (int i = 0; i < n; i++) {
    cout << p[M[i]].second << " " << invH[i] << endl;
  }
  return 0;
}
