时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
众所周知,小苯是

的粉丝。

给小苯出了一道难题,他想要小苯在数组

上维护一个数据结构,支持添加和查询两种操作。
具体的:

修改,给出两个数字

,表示向

中加入一个满足:当前

中没有的,且大于等于

的 最小奇数或偶数(如果

为

就是偶数,反之为奇数)。

查询,给出一个数字

,查询数组中的

或

(如果

为

则是

,反之是

)。
(其中,

代表当前数组

中没有出现的最小非负偶数,

代表当前数组

中没有出现的最小非负奇数。)
输入描述:
输入第一行包含两个正整数
,分别代表数组
的初始长度,操作次数
。
第二行包含
个正整数,代表初始时的
数组。
接下来
行,每行先输入一个正整数
表示操作类型。
代表修改操作,接下来会输入两个非负整数表示题目所述的
。
代表查询操作,接下来会输入一个非负整数表示题目所述的
。
输出描述:
输出包含若干行,对于每个“查询”操作,输出对应查询的答案。