3637. 解密信件

单测试点时限: 1.0 秒

内存限制: 512 MB

oxx 总是喜欢给 ultmaster 写信,由于某些原因,这些信的内容又不能被人看见。但传信的过程中,信中信息的泄露又不可避免,于是 oxx 发明了一种信内容信息的加密方式。ultmaster 拿到了 oxx 的加密程序:

char letter[];

void encrypt(l, r) {
    if (l < r) {
        reverse letter[l..r];
        k = (r - l + 1) / 2;
        encrypt(l, l + k - 1);
        encrypt(l + k, r);
    }
}

其中 reverse letter[l..r] 是将 letter(闭区间)的子串倒置。

对于某个长度为 ,下标从 1 开始的字符串要进行加密,只要调用 encrypt(1, n) 即可。

由于 ultmaster 有超强的理解能力,所以 ultmaster 只需要知道信里面某些位置的信息,就能得知整封信的内容。而 oxx 写了太多的信给 ultmaster 。所以 ultmaster 会有 次询问,每一次询问其中一封信的一个位置 ,表示加密后的信里的位置,他想知道这个位置在加密前的信里是在什么位置。

众所周知,oxx 有很多话想说,所以信会很长很长。

输入

第一行一个整数 (),表示询问的个数。

接下来的 行,每行两个整数 (),表示信的长度和询问的位置。

输出

包含 行,每行一个整数,表示对于每一个询问的答案。

样例

Input
4
4 1
4 2
4 3
4 4
Output
3
4
1
2

提示

样例解释: | |||.

144 人解决,199 已尝试。

160 份提交通过,共有 567 份提交。

6.6 EMB 奖励。

创建: 3 月,1 周前.

修改: 2 月,4 周前.

最后提交: 2 天,20 小时前.

来源: EOJ Monthly 2018.9