本题有 t 组数据。对于每组数据,你都会得到 n 个金币。
现在,你可以对这 n 个金币进行分堆。每次分堆只能分成两堆,并且需要使分堆后的一堆恰好是另一堆的两倍。同时,分成的两堆都必须有整数个金币。
请你判断:在经过多次或不经过分堆后能否有任意一堆的金币数为 m。如果可以,请输出 YES ;否则,请输出 NO。
样例解释
对于样例一中的第一组数据,我们可以采用如图的形式分堆:
对于第二组数据,它可以采用如下的分堆方式:
{9}→{6,3}→{4,2,3}
对于第三组数据,我们无法进行分堆操作。
对于第四组数据,我们不能把少的金币变成更多的一堆。