#include <bits/stdc++.h>
using namespace std;
char s[10];
int k,id,tim;
struct node
{
int id,tim,sum;
}h;
bool operator < (const node &a1,const node &a2)//给结构体排序:如果同一时间发送多个新闻,以Q_num的升序排列
{
if(a1.sum!=a2.sum) return a1.sum>a2.sum;//先以时间排 升序
return a1.id>a2.id;//时间相同按id 升序
}
priority_queue<node,vector<node> >q;//来个优先队列
int main()
{
ios::sync_with_stdio(0);//加速
while(cin>>s&&s[0]!='#'){
cin>>id>>tim;
//cout << id <<","<< tim <<endl;
q.push({id,tim,tim});
}
cin>>k;
while(k--){
h=q.top();
q.pop();
printf("%d\n",h.id);
//printf("id%d s%d t%d\n",h.id,h.sum,h.tim);tset
q.push({h.id,h.tim,h.sum+h.tim});//因新闻重复播放,在sum里加上个间隔时间再到p后面排队
}
return 0;
}