#2926. 狗叫2

狗叫2

题目描述

有一排最多64个房间的狗舍,每个房间是否居住狗狗用二进制数表示:从低位到高位的第(x)(x)位((x)1(x) \geq 1)为1表示第(x)(x)号房间有狗,0表示无狗。给定一个十进制数(n)(n)表示狗舍的居住情况,判断是否存在相邻房间都有狗的情况(即二进制中存在至少两个相邻的1)。如果存在,输出YES(表示会打架),否则输出NO

输入格式

  • 第一行包含一个整数(T)(T)1(T)1001 \leq (T) \leq 100),表示测试数据组数。
  • 接下来(T)(T)行,每行包含一个十进制整数(n)(n)0(n)26410 \leq (n) \leq 2^{64} - 1),表示狗舍的居住情况。

输出格式

对每组测试数据,输出YESNO,表示是否存在相邻房间的狗打架。

样例

样例输入

3  
10  
3  
5  

样例输出

NO  
YES  
NO  

数据范围与提示

  • 二进制相邻位定义为:第(x)(x)位与第(x+1)(x+1)位(例如二进制数11的第1位和第2位相邻)。
  • 样例解析:
    • (10)10=10102(10)_{10} = 1010_2,二进制中无相邻1,输出NO
    • (3)10=00112(3)_{10} = 0011_2,二进制中第1位和第2位为相邻1,输出YES
    • (5)10=01012(5)_{10} = 0101_2,二进制中无相邻1,输出NO
  • 对于(n)=0(n)=0,表示无狗居住,输出NO