小红下象棋
题号:NC306133
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红正在一个无限大的棋盘上下国际象棋,基本规则如下:
\hspace{23pt} \bullet 国王在一步内可以走到自身周围八个格子中的任意一个上,如果其中已经有对方棋子则可以吃掉。
\hspace{23pt} \bullet 马走日字,没有蹩马腿的规则。
\hspace{23pt} \bullet 逼和:国王目前安全,但能走的所有位置都被马控制(即能一步走到)。
\hspace{23pt} \bullet 将死:国王目前被将军,且能走的所有位置都被马控制(即能一步走到)。
\hspace{15pt}现在棋盘上只剩下了对方的 n 个马和小红的一个位于第 x 行第 y 列的国王,轮到小红移动。小红想知道,自己目前是被逼和,被将死,还是其他情况,请你帮帮他。
\hspace{15pt}具体的,马能移动到的位置如下图所示:

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\ (1\leqq T\leqq 100) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行输入三个整数x,y,n\left(-10^9\leqq x, y\leqq 10^9,1 \leqq n \leqq 2\times 10^5\right)
\hspace{15pt}之后的 n 行,每行输入两个整数 x_i, y_i \left(-10^9\leqq x_i, y_i \leqq 10^9 \right),代表在第 x_i 行第 y_i 列有一个对方的马。

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 2 \times 10^5

输出描述:

\hspace{15pt}对于每组测试数据,新起一行。
\hspace{15pt}如果目前小红被逼和,请输出 \texttt{A};如果目前小红被将死,请输出 \texttt{B};剩余情况请输出 \texttt{C}
示例1

输入

复制
3
1 1 1
2 2
5 5 4
5 4
5 6
7 7
3 3
5 5 5
5 4
5 6
7 7
3 3
6 7

输出

复制
C
A
B