#CC14X02. 谁是老大?

谁是老大?

题目描述

小田正在参加一个比赛,他得到了一个空的序列,然后在比赛过程中会发生 qq 个事件,事件有以下几种类型,参数如下:

  • 1    x:1\;\;x:,这是第一种事件,会在序列末尾添加一个数字 xx
  • 2    k2\;\;k,这是第二种事件,让序列中的第 kk 个数的值除以 22(向下取整)。
  • 33,这是第三种事件,此时小田需要回答此时序列中的最大值是几。

小田不太喜欢动脑子,所以需要你帮他做一个程序,来完成这个比赛。

输入格式

第一行输入一个正整数 qq,表示事件次数。

接下来 qq 行,每行首先会输入一个数字 opop,表示事件类型:

如果 op=1op = 1,说明是事件 11,那么会再输入一个数字 xx,表示要添加的数字。

如果 op=2op = 2,说明是事件 22,那么会再输入一个数字 kk,表示第几个数字要被除以 22

如果 op=3op = 3,说明是事件 33

输出格式

对于所有的事件 33,你都需要输出当时序列中的最大值是谁,分行输出。

5
1 10
3
1 6
2 1
3
10
6

提示

【样例解释】

第一个事件往序列末尾添加数字 1010,序列变成 [10][10]

第二个事件查询,输出 1010

第三个事件添加数字 66,序列变成 [10,6][10, 6]

第四个事件把第一个数字除以 22,序列变成 [5,6][5,6]

第五个事件查询,输出 66

【数据范围与规约】

1q1000,1x1041 \le q \le 1000, 1 \le x \le 10^4,保证所有事件都是有效的,且至少有一次事件 33