T315529 『STA - R1』战争即和平
题目背景
欧亚国与大洋国爆发了战争(欧亚国在和大洋国打仗,欧亚国一直在和大洋国打仗),欧亚国青年 $\textsf{WintersRain}$ 身先士卒投入了战斗。
不幸的是,敌方火力过猛,他不是射手,而是靶子,怎么才能保住小命呢?
题目描述
这是一个 $n \times m$ 的战场(可以看做平面直角坐标系的第一象限)。其中的一些大洋国士兵拿着火箭筒,用 `H` 表示;一些拿着弓箭,用 `G` 表示。战场上还有一些掩体,用 `Z` 表示。空地用 `*` 表示。
火箭筒:从所在行向第一行发射火箭弹,遇到掩体就飞过。飞过的方式是:在掩体前一格飞起,在掩体后一格降落。也就是说掩体的前一格和后一格是不被此火箭弹打到的。
弓箭:先向右射出一个 $3 \times 3$ 的对角线,再向左射出一个 $4 \times 4$ 的对角线,然后以此类推,**继续行进**。若碰到**边界或掩体**就停下。
以下分别为火箭筒与弓箭的发射方式图示:

*(其中红色方格即为对应类型炮弹的**发射轨迹**)*
在初始时刻,每个士兵**同时开火**并持续发射,以及两次发射之间的间隙不存在(换句话说,每个士兵会立刻发射**无限发**子弹),且子弹速度无限。
但是士兵们可能会打到自己的队友,因此整张图的火力覆盖是在变化的,不过局势最终会稳定下来(也就是大洋国士兵不会攻击到自己的队友时)。
**如果您不理解死人子弹的射击规律:在一开始所有人同时发射子弹,然后被打死的人不再发射子弹,但它之前打出的子弹会继续打死别人。**
**最后被打死的人发射的子弹不计入危险位置。**
我们称一个安全位置为“不会被子弹射中,且不是局势稳定时某一个 `H` 或 `G` 所在的位置”。特别地,`Z` 也**不**是一个安全位置。
$\textsf{WintersRain}$ 需要找到当局势稳定时的安全位置的个数,这样他的朋友,序列 $1$ 的“星之匙” $\mathrm{Sakura\_Lu}$ 就可以传送过来带着他跑路。
在战场上的 $\textsf{WintersRain}$ 无暇计算,请你帮帮他吧。
输入格式
输入共 $n+1$ 行。
第一行,两个整数 $n, m$,表示表格行数,列数。
接下来 $n$ 行,每行 $m$ 个字符,为射击表格。
(保证字符 $c \in \{\texttt *, \texttt H, \texttt G, \texttt Z\}$,或者说字符集 $\Sigma=\{\texttt *, \texttt H, \texttt G, \texttt Z\}$)
输出格式
一行,安全区域的个数。
特别地,如果没有任何安全点,请输出 `War is Peace.`。
说明/提示
**【样例解释】**
对于样例 $4$,在局面稳定时是这样的:
```plain
1111111*1*
1H1111**1Z
**111HZ***
Z11H1*H*Z1
G*1***1*H1
1*1*Z*1*11
1*1***H1*1
H*H*H*G**H
```
(`1`、`H`、`G`、`Z` 指的是危险区域)
**【提示】**
对于如下的几种可能的疑惑进行解释。
(`1` 指的是危险区域)
**提示 #1**
```plain
* * 1 *
* * * *
* * Z *
* * H *
```
也就是说 `H` 不会被卡住而发射不出火箭弹。
**提示 #2**
```plain
* * G *
* * * *
* * H *
* G * *
```
对于如上的局面,在**局势稳定时**的局面如下:
```plain
* * * *
* * * 1
* * 1 *
* G * *
```
**提示 #3**
若存在连续的掩体,火箭弹应当持续飞行:
```plain
* * 1 * *
* * 1 * *
* * * * *
* * Z * *
* * Z * *
* * * * *
* * 1 * *
* * H * *
```
若存在如下间续的掩体,火箭弹也应持续飞行:
```plain
* * 1 * * 1 * *
* * 1 * * * * *
* * * * * Z * *
* * Z * * * * *
* * * * * * * *
* * Z * * Z * *
* * * * * * * *
* * 1 * * 1 * *
* * H * * H * *
```
**【数据范围】**
**本题不采用捆绑测试,Subtask 计算分数和。**
| Subtask| $n$ | $m$ | 特殊性质 | 分值 | 测试点个数 |
| :-: | :-: | :-: | :-: | :-: | :-: |
| $1$ | $\leqslant 2$ | $\leqslant 1000$ | 无 | $10$ | $2$ |
| $2$ | $\leqslant 10$ | $\leqslant 10$ | $3$ | $10$ | $2$ |
| $3$ | $\leqslant 100$ | $\leqslant 100$ | $1, 3$ | $10$ | $2$ |
| $4$ | $\leqslant 1000$ | $\leqslant 1000$ | $2$ | $20$ | $4$ |
| $5$ | $\leqslant 1000$ | $\leqslant 1000$ | $3$ | $20$ | $4$ |
| $6$ | $\leqslant 1000$ | $\leqslant 1000$ | 无 | $30$ | $6$ |
特殊性质 $1$:保证不存在弓箭手;
特殊性质 $2$:保证不存在障碍;
特殊性质 $3$:保证不会出现攻击队友的情况。但仍有可能存在打到障碍的情况。
对于 $100\%$ 的数据,满足 $1 \leqslant n, m \leqslant 1000$。
鲁迅先生曾经说过,不给大样例的出题人非蠢即坏,因此我们给出大样例,见题目附件。