#P2051. Argus

Argus

描述

数据流是实时的、连续的、有序的项目序列。一些例子包括传感器数据、互联网流量、金融行情、在线拍卖和交易日志,如Web使用日志和电话呼叫记录。同样,对数据流的查询在一段时间内连续运行,并随着新数据的到达逐步返回新结果。例如,工厂仓库的温度检测系统可能运行以下查询:

查询1:“每五分钟,检索过去五分钟内的最高温度。” 查询2:“返回过去10分钟内每个楼层测量的平均温度。”

我们已经开发了一个数据流管理系统Argus,它处理对数据流的查询。用户可以向Argus注册查询。Argus将保持查询在变化的数据上运行,并以所需的频率将结果返回给相应的用户。

对于Argus,我们使用以下指令注册查询:

Register QnumQ_{num} Period

QnumQ_{num}0<Qnum<=3000(0 < Q_{num} <= 3000)是查询ID号,Period0<Period<=3000(0 < Period <= 3000)是连续返回结果的间隔。在注册后Period秒,将首次返回结果,之后,每Period秒返回一次结果。

这里我们同时在Argus中注册了几个不同的查询。已确认所有查询都有不同的Q_num。你的任务是告诉首先返回结果的前K个查询。如果两个或多个查询同时返回结果,它们将按Q_num的升序逐一返回结果。

输入

输入的第一部分是向Argus注册的指令,每行一个指令。你可以假设指令的数量不会超过1000,所有这些指令同时执行。这一部分以“#”行结束。

第二部分是你的任务。这一部分只包含一行,是一个正整数K(<= 10000)。

输出

你应该输出首先返回结果的前K个查询的Q_num,每行一个数字。

输入数据 1

Register 2004 200  
Register 2005 300  
#  
5

输出数据 1

2004  
2005  
2004  
2004  
2005

来源

北京2004