2314. Day13 Ex - Not Handwritten Balanced Tree

给定集合 S = { a_1,\dots,a_n } ,依次给出 q 个以下形式的指令:

  • 0 x :若 x \notin S,将 x 加入 S 中。
  • 1 x :若 x \in S,将 xS 中删除。
  • 2 x :输出 S 的第 x 小元素,若 |S| < x 则输出 -1
  • 3 x :输出 S 中小于等于 x 的元素个数。
  • 4 x :输出 S 中小于等于 x 的最大元素,若不存在则输出 -1
  • 5 x :输出 S 中大于等于 x 的最小元素,若不存在则输出 -1

输入

第一行两个正整数 n,q (1 \leq n,q \leq 2 \times 10^5),表示 S 的初始元素个数和指令个数。

第二行 n 个单调递增的正整数 a_i (1 \leq a_i \leq 10^9),表示 S 的初始元素。

随后 q 行每行一条指令 (1 \leq x \leq 10^9),具体格式见上。

输出

对每个形如 2 x 3 x 4 x 5 x 的指令,输出一行一个整数,表示对应询问的内容。

样例

标准输入 复制文本
9 10
1 3 5 6 8 9 17 18 32
0 16
0 1
2 10
0 2
1 18
2 24
4 15
4 1
2 26
0 3
标准输出 复制文本
32
-1
9
1
-1
登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 51
通过 24