J. 序列 / Sequence


提交程序

分数: 1
时间限制: 1.0s
内存限制: 512M

作者:
题目类型

时间限制: 1.0 秒 空间限制: 512 MiB

题目描述

你要回答 \(T\) 次询问,每次询问给定两个正整数 \(n, m\),问是否能构造一个正整数序列 \(a_1, a_2, \ldots, a_n\),使得存在 \(1 \le j \le n\),\(a_j = m\),且存在非负整数 \(t\) 满足

\(\prod_{i=1}^{n} (a_i + a_{i+1}) = 2^{2t+1}\)

其中 \(a_{n+1} = a_1\)。

如果可以构造,则输出 YES,否则输出 NO

输入格式

从标准输入读入数据。

第一行一个正整数 \(T\)(\(1 \le T \le 10^6\)),表示询问组数。

接下来 \(T\) 行,每行两个正整数 \(n, m\)(\(1 \le n \le 2 \times 10^6, 1 \le m \le 2^{62} - 1\)),表示你需要构造长度为 \(n\) 的正整数序列,且序列中存在 \(m\)。

输出格式

输出到标准输出。

对于每组询问依次输出一行一个字符串,其为 YESNO,表示对能否构造的判定。

样例

样例 1 输入
2
3 3
2 1
样例 1 输出
YES
NO

样例 1 解释

对于第一组询问,取 \(a_1 = 1, a_2 = 3, a_3 = 1\),则 \((1 + 3) \times (3 + 1) \times (1 + 1) = 32 = 2^5\),满足题设条件。

对于第二组询问,由 \((a_1 + a_2)^2 = 2^{2t+1}\) 无正整数解即知。


评论

目前没有评论。