优先队列
#include<bits/stdc++.h>
using namespace std;
struct Register{
int QNum,Period,Time;
bool operator<(const Register& a)const{
return Time>a.Time||(Time==a.Time&&QNum>a.QNum);
}
}r;
priority_queue<Register>q;
char s[20];
int K;
int main()
{
while(scanf("%s",s)!=EOF&&s[0]!='#')
{
scanf("%d%d",&r.QNum,&r.Period);
r.Time=r.Period;
q.push(r);
}
scanf("%d",&K);
for(int i=1;i<=K;i++)
{
Register t=q.top();
q.pop();
printf("%d\n",t.QNum);
t.Time+=t.Period;
q.push(t);
}
return 0;
}