[语言月赛202306] 棋

题目描述

zyl 和「她」在 $n\times m$ 的格子纸上下五子棋。**「她」总是先手**。 现在你会得知以下信息: - 格子纸的大小 $n, m$,代表棋盘共 $n$ 行 $m$ 列。 - $n$ 个仅由字符 `~`、`*`、`$` 构成的长度为 $m$ 的字符串(即 $n \times m$ 个字符)。对于第 $i$ 个字符串的第 $j$ 个字符,`~` 表示第 $i$ 行第 $j$ 列的格子是空的,`*` 表示「她」已经在这一格落下棋子,`$` 表示 zyl 已经在这一格落下棋子。 类似于五子棋的基本规则,一局棋局由「先手」开始,双方轮流落子。如果有同一行,同一列,或者同一 $45\degree$ 斜对角线有**同一方**的**连续五个**棋子,那这一方便是胜者。 现在,请你以以下方式判断当前的棋局:如果已有一方获胜,请你判断是哪一方获胜。否则,请你判断当前轮到哪一方落子。

输入输出格式

输入格式


输入共 $n + 1$ 行。 第一行两个整数 $n,m$,表示格子纸的大小。 接下来 $n$ 行,每行一个长度为 $m$ 的,仅由字符 `~`、 `*`、`$` 组成的字符串,代表棋局的情况。

输出格式


输出共一行一个字符串或一个字符,表示棋局的情况。 - 如果已有一方获胜,输出一个字符串 `Pleasing!` 或 `zylwins!`。`Pleasing!` 表示「她」获胜,`zylwins!` 表示 zyl 获胜。 - 否则,输出一个字符 `W` 或 `Z`。`W` 表示当前轮到「她」落子,`Z` 表示轮到 zyl 落子。

输入输出样例

输入样例 #1

5 5
~~*~$
***~~
~$*~~
~~*~$
$$*$~

输出样例 #1

Pleasing!

说明

### 样例 1 解释 在第三列有连续的五个 `*`,所以「她」获胜了。 ### 数据规模与约定 对于前 $40\%$ 的数据,保证没有任何一方获胜。 对于 $100\%$ 的数据, $5\leq n,m \leq 30$,字符串仅由 `~`、`*`、`#` 组成,而且不会出现任意同一行,同一列或是同一 $45\degree$ 斜对角线上有连续 6 个或以上连续且相同的 `*` 或 `#`,并且最多只有一条连续的 $5$ 个 `*` 或 `$`。 `*` 的总数不小于 `$` 的总数,且至多比 `$` 的总数大 $1$。保证输入的字符串至少存在一个字符 `~`。