#LX0046. 选三个数【小测验】

选三个数【小测验】

题目描述 1s 512MB

小明有从llrr之间的所有整数。

小明想从中选择三个不同的数字a,b,ca,b,c,使得(ab)+(ac)+(bc)(a\bigoplus b)+(a\bigoplus c)+(b\bigoplus c)最大。

此处\bigoplus是二进制下异或运算的符号。

输入格式

第一行输入TT

接下来TT行,每行输入l,rl,r,表示一次询问。

输出格式

对于每组询问,你只需要输出a,b,ca,b,c即可,如果有多解,输出任意一组即可。

样例输入 #1

8
0 2
0 8
1 3
6 22
128 137
69 98
115 127
0 1073741823

样例输出 #1

1 2 0
8 7 1
2 1 3
7 16 11
134 132 137
98 85 76
123 121 118
965321865 375544086 12551794

数据范围

对于15%的数据:1T10,0l<r<251\leq T\leq 10,0\leq l<r<2^{5}

对于30%的数据:1T10,0l<r<2101\leq T\leq 10,0\leq l<r<2^{10}

对于60%的数据:1T10,0l<r<2201\leq T\leq 10,0\leq l<r<2^{20}

对于另20%的数据:1T101\leq T\leq 10,保证l,rl,r二进制下的位数不同。

对于100%的数据:1T104,0l<r<230,rl>11\leq T\leq 10^4,0\leq l<r<2^{30},r-l>1