#2153. 排队

排队

题目描述

在很多场合,我们都需要排队,比如超市付款,医院看病,就餐等等。“尊老爱幼”是中华名族的传统美德,所以在排队的过程中,遇到老人、幼儿我们应该主动让他们排在前面。请按以下 44 条规则编写一个排队的程序。

  1. 老人(年龄 ≥ 6060 岁)和幼儿(年龄 ≤ 66 岁)比其他人(66 岁 < 年龄 < 6060 岁)优先排在队伍的前面,且所有幼儿排在所有老人的前面
  2. 老人按年龄从大到小的顺序排队,年龄大的优先,年龄相同时,先到的人排在前面。
  3. 幼儿按年龄从小到大的顺序排队,年龄小的优先,年龄相同时,先到的人排在前面。
  4. 其他人只按到达的先后顺序排队​**。**

输入格式

输入共 n+1n+1 行。

11 行一个整数 nn,表示排队的总人数。

22 行到第 n+1n+1 行,按照到达的先后顺序给出了每个人的基本信息。每行两个整数,第一个整数表示这个人的编号(编号保证不会重复,但不保证连续),第二个整数表示这个人的年龄。

输出格式

输出共 nn 行。

每行一个人的编号,表示从前往后的排队结果。

8
1 14
3 6
4 5
5 62
11 48
17 25
21 60
13 62
4
3
5
13
21
1
11
17

样例解释

共有 88 个人参加排队。编号为 3344 的两个人为幼儿,年龄分别为 66 岁和 55 岁。编号为 5521211313 的三个人为老人,年龄分别为 6262 岁、6060 岁和 6262 岁。

根据排队规则,老人和幼儿排在其他人的前面,而幼儿又排在老人的前面,所以先排编号 3344 的幼儿。幼儿按年龄从小到大的顺序排队,所以第一个人是 44 号,然后是 33 号。接下来排老人,老人年龄大的先排,所以先排 55 号和 1313 号,但 55 号比 1313 号先到,所以先排 55 号,然后 1313 号,接下来 2121 号。剩下的人不论年龄大小,全部按到达的顺序排队,依次为 11 号、1111 号和 1717 号。

数据范围

40%40\% 的测试点输入数据保证 1n991≤n≤99,且每个人的年龄都不相同。

60%60\% 的测试点输入数据保证 1n10001≤n≤1000

100%100\% 的测试点输入数据保证 1n300001≤n≤3000011≤人的编号≤320003200022≤人的年龄≤100100