小 Q 与彼岸花
题号:NC219166
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小 Q 的院子里种了  朵彼岸花,其中第  朵的彼岸花的美丽值为 ,彼岸花按照编号从小到大从左向右排成了一排。

现在小 Q 有  个问题,他每次会给出一个区间 ,他想在编号属于区间  的彼岸花中选出两朵花,使得  ( 表示按位异或操作) 的值最大(如果只能选出一朵花请直接输出 )。

由于他太菜了,只能来问你了。

输入描述:

第一行两个整数 。            
第二行  个整数,分别表示 。       
接下来  行,每行两个整数分别表示一个问题所给出的区间

输出描述:

输出  行,表示每个问题的答案。
示例1

输入

复制
10 10
1 2 3 4 5 6 7 8 9 10
1 2
1 3
1 5
2 6
2 8
2 10
3 7
8 10
6 9
1 7

输出

复制
3
3
7
7
15
15
7
3
15
7