//比较简单
//很明显的优先队列
//
#include <iostream>
#include<stdio.h>
#include<queue>
using namespace std;
struct timenode
{
int num;
int time;
int period;
bool operator<(const timenode &a)const
{
return time>a.time||(time==a.time&&num>a.num);
}
};
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
char s[20];
priority_queue<timenode>p;
while(scanf("%s",s)&&s[0]!='#')
{
timenode itm;
scanf("%d%d",&itm.num,&itm.period);
itm.time=itm.period;
p.push(itm);
}
int k;
scanf("%d",&k);
while(k--)
{
timenode r=p.top();
p.pop();
printf("%d\n",r.num);
r.time+=r.period;
p.push(r);
}
//fclose(stdin);
//fclose(stdout);
return 0;
}