#include <iostream>
#include <utility>
#include <cstring>
#include <queue>
using namespace std;
priority_queue<pair<int, string>>q;
int main()
{
int n;
int chazhi = 99999; //相同等级的客户对于同一服务时间段的不同时间优先级也不一样 这里用chazhi(差值)来进行区分
int grade, time, realtime = 0;
string name;
cin >> n;
while (n--)
{
cin >> time >> grade >> name;
cur:
if (time <= realtime)
{
q.push(make_pair(grade * 100000 + chazhi, name)); //入队 自动排序
--chazhi;
continue; //放入一个客户就返回到while那里
}
//当前客户处于等待状态 需先将队列中第一个客户出队(即服务完成)
if(!q.empty())
{
cout << q.top().second << endl;
q.pop();
}
realtime += 5; //无论是窗口空闲还是正在服务 下一次服务时间都得+5
//当前客户还未入队,需进行入队操作,若不限制则n会多减一次
goto cur;
}
//将队列客户清空(已排好序)
while(!q.empty())
{
cout << q.top().second << endl;
q.pop();
}
return 0;
}