#1226. 银行取号2

银行取号2

No submission language available for this problem.

Background

Special for beginners, ^_^

Description

在银行,顾客排队取号是一项常见的操作。为了提供更好的服务,银行对顾客分为两类:VIPVIP 顾客和非 VIPVIP 顾客。VIPVIP 顾客的编号是以 "V" 开头,总长度为 66 的字符串,例如:V10001。非 VIPVIP 顾客的编号是以 "N" 开头,总长度为 66 的字符串,例如:N10002

银行排队取号有以下规则:

1、非 VIPVIP 顾客取号时只能排在队列的末尾。 2、VIPVIP 顾客取号时可以排在队伍中最后一个 VIPVIP 顾客的后一位,如果队伍中没有 VIPVIP 顾客,则排在当前正在办理业务的人的后一位。

已知银行每个单位时间都会有一个人来取号,可能是 VIPVIP 顾客,也可能是非 VIPVIP 顾客。非 VIPVIP 顾客办理业务需要 44 个单位时间,VIPVIP 顾客办理业务需要 22 个单位时间。

现在给定一个整数 nnnn 位顾客的进入银行的顺序,请你模拟在 nn 个单位时间后,队伍中从队首到队尾有哪些人(队伍中包括当前正在办理业务的人)?

Format

Input

第一行包含一个整数 nn,表示 nn 个单位时间 (1<=n<=10001 <= n <= 1000)。 接下来 nn 行,每行包含一个字符串,表示一个顾客的编号。保证输入的编号符合上述规则。

Output

输出 nn 个单位时间结束后(未进入下一个单位时间),队伍中所有人的编号,两个人的编号之间空一格空格。如果队伍中没有人,则不需要输出。

Samples

6
N10001
N10002
V10003
N10004
V10005
N10006
V10003 V10005 N10002 N10004 N10006
7
N10001
N10002
N10003
N10004
N10005
V10006
V10007
N10002 V10006 V10007 N10003 N10004 N10005
7
N10001
N10002
N10003
N10004
V10005
V10006
V10007
N10002 V10005 V10006 V10007 N10003 N10004

Limitation

1s, 1024KiB for each test case.

0<n100000 < n \le 10000

注意,在一个时刻,如果柜台业务办理结束,下一个进行办理的人是队伍中的下一个人,而不会是这一时刻进队的人。 两个时刻之间算一个单位时间。

样例 1

从第一时刻开始,直到第七时刻,一共经过 6 个单位时间。

例如第一时刻到第二时刻算一个单位时间,第一时刻会有第一个顾客来取号。

列出每一时刻队列情况:

  • 第 1 时刻:N10001
  • 第 2 时刻:N10001 N10002
  • 第 3 时刻:N10001 V10003 N10002
  • 第 4 时刻:N10001 V10003 N10002 N10004
  • 第 5 时刻:V10003 V10005 N10002 N10004
  • 第 6 时刻:V10003 V10005 N10002 N10004 N10006

样例 3

从第一时刻开始,直到第八时刻,一共经过 7 个单位时间。 列出每一时刻队列情况:

  • 第 1 时刻:N10001
  • 第 2 时刻:N10001 N10002
  • 第 3 时刻:N10001 N10002 N10003
  • 第 4 时刻:N10001 N10002 N10003 N10004
  • 第 5 时刻,N10001 结束,N10002 开始办理业务,V10005 进入队伍:N10002 V10005 N10003 N10004
  • 第 6 时刻:N10002 V10005 V10006 N10003 N10004
  • 第 7 时刻:N10002 V10005 V10006 V100007 N10003 N10004