给定一个 $n \times m$ 的表格,每个单元格包含一个 $+$ 或 $-$。你可以翻转表格的任意行、列或对角线:
示例网格、列、行、对角线、另一种对角线
当你翻转一组单元格时,所有的 $+$ 都会变为 $-$,反之亦然。注意,在一个 $n \times m$ 的网格中,共有 $n$ 行、$m$ 列以及 $2(n + m - 1)$ 条对角线。有些对角线仅包含一个单元格。
你能否将给定的表格变为一个全为 $+$ 的表格?
输入格式
输入文件的第一行包含两个整数 $n$ 和 $m$ —— 表格的维度 ($1 \le n, m \le 1000$)。接下来的 $n$ 行每行包含 $m$ 个字符,描述了该表格。每个字符要么是 $+$,要么是 $-$。
输出格式
如果可以将给定的表格变为仅包含 $+$ 的表格,请在输出文件的第一行打印 Ja,否则打印 Nein。如果打印了 Ja,则在第二行打印你将要使用的翻转次数 $k$。在接下来的 $k$ 行中,每行打印一次翻转的描述。每次翻转由它所涉及的任意两个不同单元格的坐标给出。如果被翻转的行、列或对角线中只有一个单元格,则在这种情况下,将同一个单元格坐标重复两次。每个单元格的第一个坐标在 $1$ 到 $n$ 之间,第二个坐标在 $1$ 到 $m$ 之间。坐标为 $1\ 1$ 的单元格对应输入表格第一行的第一个字符。
注意,你不需要最小化移动次数 $k$。唯一的约束是 $k$ 不能超过 $10000$。
样例
样例输入 1
5 6 ------ ------ ------ ------ ------
样例输出 1
Ja 6 1 1 5 1 1 2 5 2 1 3 5 3 1 4 5 4 1 5 5 5 1 6 5 6
样例输入 2
3 3 +++ +-+ +++
样例输出 2
Ja 3 1 2 3 2 2 3 3 2 1 2 2 3