两位国际象棋大师 Vito 和 Patrik 今年将在 Jane 街的标志性剧院前进行一场国际象棋比赛,最终证明谁才是史上最伟大的棋手。然而,由于标准国际象棋对他们来说已经变得索然无味,他们决定修改游戏规则以增加趣味性。我们仅提及与本题相关的规则。
棋盘是一个 $N$ 行 $N$ 列的方阵。仅使用骑士(knight)、车(rook)和后(queen)这几种棋子。棋子的行为方式与标准国际象棋相同。车攻击与其处于同一行或同一列的方格。后除了攻击与其处于同一行或同一列的所有方格之外,还会攻击沿同一对角线的所有方格。骑士攻击距离其两个行单位和一个列单位(或反之)的方格。这些移动的示例可以在样例说明中看到。
注意:每个棋子也会攻击其自身所在的方格。此外,棋子会穿过其他棋子进行攻击,即无论棋子与被攻击方格之间是否有其他棋子,棋子都会根据上述规则攻击相应的方格。
Vito 正在为期待已久的对决做准备,他需要你的帮助。他决定练习快速观察能力。他将在棋盘上放置 $M$ 个棋子,然后确定所有被攻击的方格。你的任务是计算给定棋盘上被攻击方格的总数。
输入格式
第一行包含正整数 $N$ 和 $M$ ($1 \le N \le 200, 1 \le M \le N^2$)。
接下来的 $M$ 行,每行包含一个大写英文字母,表示棋子类型,可以是 'N'、'R' 和 'Q',分别对应骑士、车和后,以及整数 $r_i$ 和 $c_i$ ($1 \le r_i, c_i \le N$),表示该棋子所在的行和列。
棋盘上的任意方格最多只能放置一个棋子。
输出格式
在唯一的一行中,输出棋盘上被攻击方格的数量。
子任务
| 子任务 | 分值 | 数据范围 |
|---|---|---|
| 1 | 13 | 棋盘上的所有棋子均为车。 |
| 2 | 19 | 棋盘上的每个棋子均为车或后。 |
| 3 | 18 | 无附加限制。 |
样例
输入 1
7 1 Q 4 4
输出 1
25
输入 2
5 1 N 3 3
输出 2
9
输入 3
6 3 R 1 4 Q 2 1 N 5 2
输出 3
25
说明
第一和第二个样例的说明:图中展示了样例。所有被攻击的方格都用点标记,棋子所在的方格除外。
(a) 第一个样例 (b) 第二个样例