友情提示:380元/半年,儿童学编程,就上码丁实验室。
【题目描述】
Alice和Bob是好朋友,这天他们正在玩一个找最大值的游戏。
Alice给出一个含有$n$个正整数的序列$A$(下标从$1$开始编号),以及一个位运算操作符$op$,她想要Bob回答所有$A_i;op;A_j(1≤i<j≤n)$的结果中的最大值。
运算符$op$可能为与运算($and$)、或运算($or$)、异或运算($xor$)。
Bob并不会解答这个问题,你能帮帮他吗?
【输入】
第一行包含一个整数$T$,表示数据组数。
按下来$T$组数据,每组数据第一行包含两个整数$n$,$c$。其中$n$表示序列长度,$c$表示操作符。
当$c=1$时,操作符$op$为与运算($and$)。
当$c=2$时,操作符$op$为异或运算($xor$)。
当$c=3$时,操作符$op$为或运算($or$)。
每组数据第二行包含$n$个整数,第$i$个整数表示序列中的数$A_i$。
【输出】
每组数据输出一行一个整数表示$A_i;op;A_j(1≤i<j≤n)$的最大值
【输入样例】
3 5 1 1 4 5 7 9 5 2 2 3 4 5 7 5 3 9 5 4 2 1
【输出样例】
5 7 13
【提示】
【数据规模】
对于15%的数据:$n≤1000$。
对于另外15%的数据:$A≤1024$。
对于另外20%的数据:$c$均为$1$。
对于另外25%的数据:$c$均为$2$。
对于另外20%的数据:$c$均为$3$。
对于100%的数据:$1≤T≤6,2≤n≤10^5,1≤A_i<220,c∈{1,2,3}$。