#1055. 1-06H. nocriz与'Swappy Tree'

内存限制:512 MiB 时间限制:750 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: nocriz🦆

题目描述

nocriz是一个好学的同学。

nocriz同学了解到有一种叫Swappy Tree的神奇的树。

Swappy Tree 是一棵高度为 ,有着 个叶子的完全二叉树。叶子从左向右分别写着为 。 对于非叶子节点,在所有时刻,我们将从上往下第 层,从左往右第 个的点称为 。 这里,我们定义 swap(x) 为交换 号节点的左右子树(交换后第 个非叶子节点依然按上文中的方法定义)。 Swappy Tree上要进行以下两种操作:

  • 给定 ,求出从左往右第k个叶子上的值。

  • 给定 ,依次进行 swap(a) swap(a+1) swap(b)

你需要代替nocriz同学实现一棵Swappy Tree。 具体来说,给定 个询问,请对其处理并做出一棵Swappy Tree

输入格式

第一行包含两个整数

接下来 行,每行包括三个整数,表示一组操作。

即为询问中的,保证

即为修改中的

输出格式

对于每一个询问,在新的一行中输出答案。

样例

输入样例

3 10
2 5 5
1 1 0
1 2 0
1 3 0
1 4 0
2 1 3
1 2 0
1 3 0
1 5 0
1 6 0

输出样例

1
2
4
3
8
5
4
3

数据范围与提示