#include <bits/stdc++.h>
using namespace std;
template <typename T>
void debug(T v, string delimiter = "\n") {
  for (__typeof(v.begin()) it = v.begin(), it_end = v.end(); it != it_end; it++)
    cout << *it << delimiter;
  cout << flush;
}
int dx[] = {0, 1, 0, -1};
int dy[] = {1, 0, -1, 0};
string ds = "SENW";
int main(int argc, char** argv) {
  int n;
  cin >> n;
  vector<pair<int, string> > dat(n);
  for (int i = 0, i_end = (int(n)); i < i_end; i++)
    cin >> dat[i].second >> dat[i].first;
  sort((dat).begin(), (dat).end());
  vector<int> ans;
  vector<int> h;
  for (int i = 0, i_end = (int(n)); i < i_end; i++) {
    if (dat[i].first >= i + 1) {
      cout << -1 << endl;
      return 0;
    }
    ans.insert(ans.begin() + dat[i].first, i);
  }
  reverse((ans).begin(), (ans).end());
  for (int i = 0, i_end = (int((int)(ans.size()))); i < i_end; i++)
    dat[ans[i]].first = 100 + i;
  for (int i = 0, i_end = (int(n)); i < i_end; i++) {
    printf("%s %d\n", dat[i].second.c_str(), dat[i].first);
  }
  return 0;
}
