#723. 按位反转

按位反转

题目描述

给定三个非负整数 x,y,zx,y,z。判断是否存在三个非负整数 a,b,ca,b,c 满足:

a&b=x,b&c=y,a&c=za\&b = x,\qquad b\&c = y,\qquad a\&c = z

其中 &\& 表示按位与(AND)运算。

输入格式

第一行包含一个整数 tt1t1041\le t\le 10^4),表示测试用例个数。接下来 tt 行,每行一个测试用例,格式如下:

  • 每个测试用例为一行,包含三个整数 x,y,zx,y,z,满足 0x,y,z1090\le x,y,z\le 10^9

输出格式

对于每个测试用例,输出一行:

  • 若存在满足条件的非负整数 a,b,ca,b,c,则输出 YES
  • 否则输出 NO

样例输入

5
1 1 1
3 2 6
4 8 12
9 10 12
12730 3088 28130

样例输出

YES
YES
NO
YES
NO

说明

样例解释

  • 样例 11:可以取 a=3, b=5, c=9a=3,\ b=5,\ c=9,则 3&5=1, 5&9=1, 3&9=13\&5=1,\ 5\&9=1,\ 3\&9=1
  • 样例 22:可以取 a=7, b=3, c=22a=7,\ b=3,\ c=22,则 7&3=3, 3&22=2, 7&22=67\&3=3,\ 3\&22=2,\ 7\&22=6
  • 样例 33:可以证明不存在满足 a&b=4, b&c=8, a&c=12a\&b=4,\ b\&c=8,\ a\&c=12 的非负整数 a,b,ca,b,c