Bina.

题目描述

小 J 家门前有两棵树,一棵是二叉树,一棵是三叉树。 你被小 J 叫来修剪他的二叉树,使得他的二叉树的“美丽值”最大,所谓一棵树的美丽值 $=$ 这棵树的点的编号之和 $\div$ 这棵树的深度(结果向下取整)。 这棵二叉树有一个构建参数 $n$,构建方式如下: ```cpp void build(int s,int t,int p){ if(s==t) return ; build(s,(s+t)/2,2*p); build((s+t)/2+1,t,2*p+1); add_edge(p,2*p),add_edge(p,2*p+1); } int main(){ build(1,n,1); return 0; } ``` 其中 `build(s,t,p)` 函数参数中的 $p$ 是当前点的编号,`add_edge(x,y)` 函数是指将编号为 $x$ 的点向编号为 $y$ 的点连接一条有向边。 容易发现这棵树的根节点是 $1$,并且我们规定节点的深度为节点到根节点路径上经过的点的个数(包括自己和根节点),这棵树的深度即为所有节点深度的最大值。 对于 $n=3$ 的情况,最后构建出来的结果如下,这棵树的深度为 $3$,你需要选择一个深度 $k$ 把深度大于 $k$ 的点都剪掉,但是 $k$ 必须**大于等于** $1$ 且**小于等于**这棵树的深度。 ![](https://cdn.luogu.com.cn/upload/image_hosting/ueggbyn8.png) 小 J 还给了你一个要求,你剪去的节点个数一定得大于等于 $m$ 他才会高兴,你需要保证让他高兴的同时树的“美丽值”最大。 现在小 J 给了你构建树的参数 $n$ 和至少剪的节点个数 $m$,要你求出来他的树在你修剪后最大的美丽值是多少,如果无论如何你也不可能让小 J 高兴,输出 $-1$。

输入输出格式

输入格式


本题有多组数据。 第一行一个正整数 $T$,表示数据组数。 对于每组数据: 输入共一行两个整数 $n,m$,表示构建二叉树的参数和你至少剪掉的节点个数。

输出格式


对于每组数据:输出一行一个整数,表示能够获得的最大的“美丽值”,如果无法让小 J 高兴,输出 $-1$。

输入输出样例

输入样例 #1

6
3 0
3 1
3 2
3 3
3 4
3 5

输出样例 #1

5
3
3
1
1
-1

输入样例 #2

10
5 5
10 0
999 155
135 92
1000232 234255
10293845 1239485
123948 1239454
12394 2131094
1000000000 98765432
1000000000 999999999

输出样例 #2

3
40
52377
1161
27487764480
5864061665280
-1
-1
19215358392218419
4969489234738635

说明

#### 【样例解释 #1】 对于第一组样例,$n$ 都等于 $3$,构建出来的树同题面所示。 如果我们选择把深度大于 $1$ 的节点全部剪掉,那么我们剪掉了 $2,3,4,5$ 共 $4$ 个节点,美丽值为 $1$。 如果我们选择把深度大于 $2$ 的节点全部剪掉,那么我们剪掉了 $4,5$ 共 $2$ 个节点,美丽值为 $\lfloor \dfrac{1+2+3}{2}\rfloor = 3$。 如果我们选择把深度大于 $3$ 的节点全部剪掉,那么我们没有剪掉任何节点,美丽值为 $\lfloor \dfrac{1+2+3+4+5}{3}\rfloor = 5$。 所以对于 $m=0$ 的情况,答案为 $5$;对于 $1 \le m \le 2$ 的情况,答案为 $3$;对于 $3 \le m \le 4$ 的情况,答案为 $1$;其它情况,无解输出 $-1$。 #### 【数据范围】 对于所有测试数据,满足 $1 \le T \le 10^5$,$1 \le n \le 10^9$,$0 \le m \le 2 \times 10^9$。 **本题开启捆绑测试,所有数据范围均相同的测试点捆绑为一个 $\text{Subtask}$。** 各测试点的附加限制如下表所示。 | 测试点 | $n \le$ | $m \le$ | $T \le$ | 特殊限制 | | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | | $1 \sim 2$ | $10^3$ | $10^5$ | $10^3$ | 无 | | $3 \sim 4$ | $10^6$ | $2 \times 10^6$ | $10^5$ | 无 | | $5$ | $10^9$ | $1$ | $10^5$ | 无 | | $6$ | $10^9$ | $2$ | $10^5$ | 无 | | $7 \sim 8$ | $10^9$ | $3$ | $10^5$ | 无 | | $9 \sim 10$ | $10^9$ | $2 \times 10^9$ | $10^5$ | $m \ge 1$ | | $11 \sim 12$ | $10^9$ | $10^3$ | $10^5$ | 无 | | $13 \sim 16$ | $10^9$ | $2 \times 10^9$ | $10$ | 无 | | $17 \sim 20$ | $10^9$ | $2 \times 10^9$ | $10^5$ | 所有 $n$ 均相同 | | $21 \sim 25$ | $10^9$ | $2 \times 10^9$ | $10^5$ | 无 |