Jellyfish 有 $n$ 个青苹果。每个青苹果重 $1\text{ kg}$。Jellyfish 想要将这些青苹果平均分给 $m$ 个人。
Jellyfish 有一把魔法刀。每次 Jellyfish 可以选择一个青苹果,将其切成两半,每半的重量是原重量的一半。
Jellyfish 想知道,为了让每个人分到的苹果总重量相同,她最少需要进行多少次操作。
输入格式
每个测试点包含多个测试用例。第一行包含测试用例的数量 $t$ ($1 \le t \le 2 \cdot 10^4$)。
接下来是各测试用例的描述。
每个测试用例仅包含一行,包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 10^9$),分别表示初始时青苹果的数量和人数。
输出格式
对于每个测试用例,输出一个整数,表示将所有青苹果平均分给 $m$ 个人所需的最少操作次数。如果无法通过有限次操作实现,则输出 $-1$。
样例
输入 1
4 10 5 1 5 10 4 3 4
输出 1
0 -1 2 5
说明
在第一个测试用例中,我们不需要分割苹果。每个人将收到 $2$ 个 $1\text{ kg}$ 的苹果,每个人收到的苹果总重量为 $2\text{ kg}$。
在第二个测试用例中,无法通过有限次操作将苹果平均分配。
在第三个测试用例中,我们可以将两个 $1\text{ kg}$ 的苹果切开,得到 $4$ 个 $0.5\text{ kg}$ 的苹果。每个人将收到 $1$ 个 $0.5\text{ kg}$ 的苹果和 $2$ 个 $1\text{ kg}$ 的苹果。每个人收到的苹果总重量为 $2.5\text{ kg}$。
在第四个测试用例中,我们首先将全部 $3$ 个 $1\text{ kg}$ 的苹果切开,得到 $6$ 个 $0.5\text{ kg}$ 的苹果。然后,我们进一步将其中两个 $0.5\text{ kg}$ 的苹果切开,得到 $4$ 个 $0.25\text{ kg}$ 的苹果。每个人将收到 $1$ 个 $0.5\text{ kg}$ 的苹果和 $1$ 个 $0.25\text{ kg}$ 的苹果。每个人收到的苹果总重量为 $0.75\text{ kg}$。