3241 - 雨林探险

题目描述

某探险队来到雨林探险。雨季来临,让探险队的探险行程格外艰难。

当探险队来到一条湍急的河流旁,才发现河水水位上涨远超预期,已经无法按照预定的方案涉水过河了。队长带领大家制作了一条木筏,为了安全起见,队长决定每次只能安排 M 个人乘坐木筏过河。再安排 1 个人把木筏划回来接其他人。

已知探险队共有 N 人,木筏从河的一边划到另外一边需要 1 分钟,往返一次需要 2 分钟。假设开始运送队员过河之后,木筏不会停下来,上下木筏的时间忽略不计,请编程计算出,当所有人都被运送到河对岸,需要几分钟?如果无论如何都无法将所有人运送到对岸,请输出 -1

输入

1 行输入一个整数 T ,表示测试数据组数。

接下来 T 行,每行输入 2 个整数 M,N,两个数字之间用空格隔开。

输出

输出 T 行,每行输出一个整数,代表对于每组测试数据计算的结果。

样例

输入

5
3 28
12 80
11 81
1 4
31 91

输出

27
15
15
-1
5

输入

8
88 89
5 15
1 58
44 72
93 93
4 79
62 82
12 22

输出

3
7
-1
3
1
51
3
3

输入

12
8 79
20 40
46 84
2 32
22 22
1 7
13 33
12 30
3 17
72 76
10 30
51 63

输出

23
5
3
61
1
-1
5
5
15
3
7
3
说明

数据范围

对于 10\% 的数据 1 \le T \le 101 \le M = N \le 100

对于 30\% 的数据,1 \le T \le 1001 \le M \le N \le 100

对于 70\% 的数据,1 \le T \le 10^41 \le M \le N \le 10^5

对于 100\% 的数据,1 \le T \le 10^51 \le M \le N \le 10^9

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 301
通过人数 99
金币数量 2 枚
难度 基础


上一题 下一题