最近学校又双叒叕停水了,所以 FS 打算去蓄水。
FS 在超市买了 个瓶子,每个瓶子的容量无限大。而且买来的瓶子刚开始都有 升水。后来 FS 发现瓶子实在太多了,于是他决定保留不超过 个瓶子。每次他会选择两个当前含水量相同的瓶子,把一个瓶子的水全部倒进另一个里,然后把空瓶丢弃。(因为 FS 是个勤俭持家的好男人,所以不能丢弃有水的瓶子)
显然在某些情况下 FS 无法达到目标,比如 。此时 FS 需要重新买一些新的瓶子(新瓶子同样容量无限,开始时有 升水),以到达目标。
FS 的数学实在是太差了,上个月才考了 分(满分 ),所以想让聪明的你来计算最少需要买多少新瓶子才能达到目标呢?
输入
第一行整数 ,代表有 组数据。
接下来的 行有两个数字 ,代表 FS 刚开始买了 瓶水,最后要留下不超过 个瓶子。
输出
对于每一组数据:输出一行,一行里包括一个非负整数,表示最少需要买多少新瓶子。
样例
标准输入 复制文本 |
2 3 1 4 2 |
标准输出 复制文本 |
1 0 |
来源
2018 软件学院蓝桥杯热身赛 (For 18SEer only)