Fire and Big
题目描述
小 F 要和其他人玩游戏,但他不想输,所以来找你帮他研究策略。
有 $m$ 个石子,小 F 和小 B 轮流取石子,小 F 先开始取,不能取的人输。
给定正整数 $n$,每次取石子的个数 $k$($k$ 是正整数) 必须满足如下两个条件**之一**:
- $k$ 是 $n$ 的倍数。
- $k$ 是 $<n$ 的完全平方数。
他们要玩 $T$ 局游戏,不过每一局游戏的 $n$ 不变,只有石子个数 $m$ 会变。
对于每一局,假设两人足够聪明,问谁有必胜策略。
输入输出格式
输入格式
第一行,两个正整数 $T,n$。
第二行,$T$ 个正整数 $m$,表示每一局游戏的石子个数。
输出格式
输出一行一个长为 $T$ 的字符串,每个字符为 `F` 或者 `B`,分别表示这一局游戏先手必胜与后手必胜。
输入输出样例
输入样例 #1
5 2
1 2 3 4 5
输出样例 #1
FFBFF
说明
### 样例解释
以下将说明当 $n = 2, m = 3$ 时,后手必胜。对先手第一次取走的石子的数量进行讨论:
- 若先手取走 $1$ 个石子,则后手可以取完剩下 $2$ 个石子;
- 若先手取走 $2$ 个石子,则后手可以取完剩下 $1$ 个石子。
因此无论如何,后手总会赢得胜利。
### 数据范围
| 测试点编号 | $n$ | $T,m\le$ |
| :----------: | :----------: | :----------: |
| $1$ | $\le 5\times 10^5$ | $1$ |
| $2\sim 3$ | $\le 5$ | $5$ |
| $4\sim 6$ | $\le 10^5$ | $n$ |
| $7\sim 8$ | $=2$ | $10^9$ |
| $9\sim 11$ | $\le 5$ | $10^9$ |
| $12\sim 14$ | $\le 10^3$ | $10^9$ |
| $15\sim 17$ | $\le 10^5$ | $10^9$ |
| $18\sim 20$ | $\le 5\times 10^5$ | $10^9$ |
对于所有数据,保证 $1\le T,n\le 5\times 10^5$,$1\le m\le 10^9$。
**对于奇数编号测试点,内存限制为 $512\ \text{MB}$;对于偶数编号测试点,内存限制为 $64\ \text{MB}$。**