U145753 Idea

题目背景

小明看老师讲位运算太无聊了,于是就找起了异或的题目做,他~~请你~~切掉了 $U145408$ 和 $T160344$ ,然后又想出了一个 $Idea$ ~~请你~~来做

题目描述

给出 $n,m$ 和 $a_{1,2...n}$。 $Idea$ 需要对序列 $a$ 进行 $4$ 种查询: - `1 k` 查询序列中任选任意个数能异或出来的第 $k$ 大值 - `2 k` 查询序列中任选任意个数能异或出来的第 $k$ 小值 - `3 x` 查询序列中任选任意个数能否异或出来 $x$ - `4 x` 查询序列中任选任意个数能异或出来的数中 $x$ 的排名 $Idea$ 需要查询 $m$ 次。 注意, - “任意个数”可以 指 $0$ 个。 - “排名”指比它小的数的个数 $+1$

输入格式

第 $1$ 行输入 $2$ 个数 $n,m$\ 第 $2$ 行输入 $n$ 个数表示序列 $a$\ 接下来 $m$ 行,每行 $2$ 个正整数,格式见上题目描述

输出格式

对于每个询问,如果是操作 - `1` 或 `2`,输出 $1$ 个非负整数表示答案,如果能异或出来的数没有 $k$ 个,输出 $-1$ - `3`,如果能,输出 $1$,否则输出 $-1$ - `4`,如果这个数能被异或出来,输出 $1$ 个正整数表示它的排名,否则输出 $-1$

说明/提示

$1\leqslant n,m\leqslant 10^5,0\leqslant a_i,x\leqslant2^{50}$