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

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

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

 修改,给出两个数字 

 ,表示向 

 中加入一个满足:当前 

 中没有的,且大于等于 

 的 最小奇数或偶数(如果 

 为 

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

 查询,给出一个数字 

 ,查询数组中的 

 或 

(如果 

 为 

 则是 

,反之是 

)。
(其中,

 代表当前数组 

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

 代表当前数组 

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