#include <bits/stdc++.h>
using namespace std;
int data[1010];
map<string, int> tmap;
int main() {
  char str[120];
  int n;
  scanf(" %d", &n);
  int i;
  int cc = 0;
  for (i = 0; i < n; i++) {
    scanf(" %s %d", str, &cc);
    if (tmap.count(str)) {
      if (tmap[str] < cc) tmap[str] = cc;
    } else
      tmap[str] = cc;
  }
  if (tmap.size() == 1) {
    printf("1\n%s %s\n", str, "pro");
  } else {
    map<string, int>::iterator it;
    memset(data, 0, sizeof(data));
    for (it = tmap.begin(); it != tmap.end(); it++) {
      data[it->second]++;
    }
    for (i = 1; i < 1010; i++) {
      data[i] += data[i - 1];
    }
    n = tmap.size();
    printf("%d\n", n);
    for (it = tmap.begin(); it != tmap.end(); it++) {
      printf("%s ", (it->first).c_str());
      if (n - data[it->second] > data[it->second])
        puts("noob");
      else if (5 * (n - data[it->second]) > n)
        puts("random");
      else if (10 * (n - data[it->second]) > n)
        puts("average");
      else if (100 * (n - data[it->second]) > n)
        puts("hardcore");
      else
        puts("pro");
    }
  }
  return 0;
}
