#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
struct data
{
int index;
int solved;
string time;
};
data d[100];
int v[101];
int c[6]; // 即解决了 i道题目的 有c[i]个人;
int cc[10]; //得s[i]分的 有cc[i]个人;
int s[10] = {50, 60, 65, 70, 75, 80, 85, 90, 95, 100}; //分数
bool cmp(const data &a, const data &b) //先比较解题数量,若解决题目数量相同的 比较时间,
{
if(a.solved != b.solved) return a.solved > b.solved;
else return a.time < b.time;
}
int main()
{
int n, i, j, k;
while(cin >> n && n >= 0)
{
memset(c, 0, sizeof(c));
memset(cc, 0, sizeof(cc));
for(i = 0; i < n; ++i)
{
d[i].index = i + 1;
cin >> d[i].solved >> d[i].time;
c[d[i].solved]++;
}
sort(d, d + n, cmp); //对数据排序,
cc[9] = c[5];
for(i = 9; i >= 3; i -= 2) //确定得s[i]分的 有cc[i]个人
{
cc[i-1] = c[i / 2] / 2;
cc[i-2] = c[i / 2] - cc[i-1];
}
k = 0;
for(i = 9; i >= 1; --i)
{
j = cc[i];
while(j--)
{
v[d[k].index] = s[i];
k++;
}
}
for(; k <= n; ++k) v[d[k].index] = 50;
for(i = 1; i <= n; ++i) cout << v[i] << endl;
cout << endl;
}
return 0;
}