#A1458. 分石子

分石子

题目描述

Timi有nn个石子构成的一个石堆。在一次操作中,他可以进行以下操作:

  • 选择任意一个石堆,将其分成两个石堆,其中一个石堆的石子数量必须是另一个石堆石子数量的22倍(所有石堆的石子数量都必须是整数)。

请你帮Timi判断,他能否通过00次或者多次操作,得到一个恰好有mm个石子的石堆。

输入格式

第一行包含一个正整数tt。表示接下来有tt个测试用例。

每个测试用例的第一行包含一个正整数nn和一个正整数mm,分别代表初始石堆的石子数量和目标石堆的石子数量。

输出格式

对于每个测试用例,如果能得到恰好有mm个石子的石堆,输出"YES",否则输出"NO"。

4
6 4
9 4
4 2
2 4
YES
YES
NO
NO

提示

【样例解释】

在第一个测试用例中,可以进行以下操作:{6}→{4,2},从而得到石子数量为44的石堆。

在第二个测试用例中,可以进行以下操作:{9}→{6,3}→{4,2},从而得到石子数量为44的石堆。

在第三个测试用例中,无法进行任何操作。

在第四个测试用例中,无法得到比初始石堆更大的石堆。

【数据范围】

对于所有数据,保证1t1000,1n,m1071\leq t\leq1000,1\leq n,m\leq 10^7