#57579. 参考答案

参考答案

暂无测试数据。

蒜头君最近在学习异或运算,现在他学习异或运算遇到了瓶颈,所以他去找花椰妹一块儿探讨异或问题。

花椰妹对异或运算理解的非常透彻,花椰妹为了加深蒜头君对异或运算的理解,决定提出 $Q$ 个问题让蒜头君解决。

问题是这样的:花椰妹给出两个正整数 $x,n$,问蒜头君能不能在 $0\sim n$ 内找到两个数,使他们的异或值为 $x$。

花椰妹虽然提出了 $Q$ 个问题,但是她并没有答案,请你帮花椰妹计算出每个问题的答案。

异或($xor$)是在两个整数的二进制对应位上进行运算,运算规则如下:

  • $0 \ xor \ 0 = 0$
  • $0 \ xor \ 1 = 1$
  • $1 \ xor \ 0 = 1$
  • $1 \ xor \ 1 = 0$

C++ 语言中,异或是由 ^ 符号表示,例如:ans = 3 ^ 8;ans = 11

输入格式

第一行一个整数 $Q$,表示花椰妹共提出了 $Q$ 个问题。

下面 $Q$ 行,第 $i$ 行有两个正整数 $x,n$ 表示花椰妹的第 $i$ 个问题。

输出格式

输出 $Q$ 行,第 $i$ 行有一个字符,Y 表示第 $i$ 个问题可以找到两个合法的数,N表示第 $i$ 个问题不能找到两个合法的数。

数据范围

  • 对于 $20\%$ 的数据,有 $1\leq Q,x,n\leq 2\times 10^3$。
  • 对于 $40\%$ 的数据,有 $1\leq Q\leq 10$。
  • 对于 $100\%$ 的数据,有 $1\leq Q\leq 10^5,1\leq x,n\leq 10^9$。
2
1 3
3 1
Y
N
3
2 4
5 4
6 3
Y
Y
N