#1476. [L3-2] 个性题目名称

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:Special Judge
上传者: 滴蜡熊

题目描述

Veritas 觉得【清华集训 2017】无限之环这题太难了,他对这题的一个简化魔改情况更感兴趣。

游戏在一个 的网格状棋盘上进行,其中有些小方格中会有水管,水管可能在格某些方向的边界的中点有接口,所有水管的粗细都相同,所以如果两个相邻方格的共边界的中点都有接头,那么可以看作这两个接头互相连接。水管有以下 种形状:

      

游戏开始时,棋盘中水管可能存在漏水的地方。

形式化地:如果存在某个接头,没有和其它接头相连接,那么它就是一个漏水的地方。

玩家可以进行一种操作:选定一个含有非奇数度数型水管的方格,将其中的水管绕方格中心顺时针或逆时针旋转 度。

奇数度数型水管是指接头数为 的水管。也就是说,玩家只能旋转接头数为 的水管。

现给出一个初始局面,请给出一个方案可以使棋盘上不存在漏水的地方,或判定不存在这样的方案。如果存在多种方案,你可以给出任意一个。

输入格式

第一行两个正整数 ,代表网格的大小。

接下来 行每行 个数,每个数是 中的一个,你可以将其看作一个 位的二进制数,从低到高每一位分别代表初始局面中这个格子上、右、下、左方向上是否有水管接头。

特别地,如果这个数是 ,则意味着这个位置没有水管。

比如 代表上和右有接头,也就是一个 型,而 代表下和左有接头,也就是将 型旋转 度。

输出格式

如果不存在一个方案可以使棋盘上不存在漏水的地方,输出一行一个整数

否则,输出使得棋盘上不存在漏水的最终局面,即 行每行 个数,每个数是 中的一个,你可以将其看作一个 位的二进制数,从低到高每一位分别代表初始局面中这个格子上、右、下、左方向上是否有水管接头。

特别地,如果这个数是 ,则意味着这个位置没有水管。

你需要保证这个最终局面可以通过题述操作由初始局面获得。

样例

样例输入 1

2 3
3 14 12
3 11 12

样例输出 1

6 14 12
3 11 9

样例解释 1

棋盘如下:

旋转方法很显然,先将左上角虚线方格内的水管顺时针转 度,

然后右下角虚线方格内的水管顺时针旋转 度,这样就使得水管封闭了。

样例输入 2

1 2
1 1

样例输出 2

-1

样例解释 2

因为玩家不能旋转接头数为 的水管,所以无法做出任何操作使其封闭。

数据范围与提示

所有数据保证