#CF2075A. 归零

归零

A. 归零
每次测试的时间限制:2 秒
每次测试的内存限制:512 兆字节


题目描述

给你两个整数 nnkk,其中 kk 是大于等于 33 的奇数。你的目标是通过若干次操作将 nn 变为 00

每次操作,你可以选择一个数 xx,其中 1xk1 \le x \le k,然后从当前的 nn 中减去 xx
但是,如果当前的 nn 是偶数(能被 22 整除),那么你选择的 xx 必须是偶数;
如果当前的 nn 是奇数(不能被 22 整除),那么你选择的 xx 必须是奇数。

不同的操作中你可以选择相同的 xx 值(没有限制)。

请计算将 nn 变为 00 所需的最少操作次数。


输入格式

第一行包含一个整数 tt1t100001 \le t \le 10000)—— 测试用例的数量。

每个测试用例由一行包含两个整数 nnkk3kn1093 \le k \le n \le 10^9kk 是奇数)。


输出格式

对于每个测试用例,输出一个整数 —— 所需的最小操作次数。


示例

输入

8
39 7
9 3
6 3
999967802 3
5 5
6 5
999999999 3
1000000000 3

输出

7
4
3
499983901
1
2
499999999
500000000

示例解释

  • 第一个例子:
    3939 开始,先减去 55 得到 3434,再减去 66 五次得到 44,最后减去 44 得到 00
    1+5+1=71 + 5 + 1 = 7 次操作。

  • 第二个例子:
    减去 33 一次,再减去 22 三次。
    1+3=41 + 3 = 4 次操作。

  • 第三个例子:
    减去 22 三次。
    33 次操作。