#include <bits/stdc++.h>
using namespace std;
struct per {
  char name[15];
  int v;
  int id;
} p[3050];
int hi[3050] = {};
int rak[3050];
bool mycmp(per a, per b) { return a.v < b.v; }
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%s", p[i].name);
    scanf("%d", &p[i].v);
    p[i].id = i;
  }
  sort(p + 1, p + n + 1, mycmp);
  for (int i = 1; i <= n; i++) {
    if (p[i].v > i - 1) {
      printf("-1");
      return 0;
    }
  }
  vector<int> ans;
  int rkk = n;
  for (int i = 1; i <= n; i++) {
    ans.insert(ans.begin() + p[i].v, i);
    rak[i] = rkk--;
  }
  for (int i = 0; i < n; i++) {
    printf("%s %d\n", p[ans[i]].name, rak[ans[i]]);
  }
  return 0;
}
