[ZJOI2013]K大数查询
题号:NC20507
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

有N个位置,M个操作。操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c 如果是2 a b c形式,表示询问从第a个位置到第b个位置,第C大的数是多少。

输入描述:

第一行N,M 接下来M行,每行形如1 a b c或2 a b c

输出描述:

输出每个询问的结果
示例1

输入

复制
2 5
1 1 2 1
1 1 2 2
2 1 1 2
2 1 1 1
2 1 2 3

输出

复制
1
2
1

说明

第1次操作在1,2号集合中分别加入了一个1。
第2次操作在1,2号集合中分别加入了一个2。
第3次操作查询1号集合中第2大的数,答案为1。
第4次操作查询1号集合中第1大的数,答案为 2。
第5次操作查询1,2号集合的并集{1,2,1,2}中第3大的数,答案为1。

备注:

数据范围


1操作中
2操作中