qq820186690的电话簿

qq820186690的电话簿

背景

qq820186690有许多女朋友,比如Achen、LXX2019、ZKX2019、xinyue......
他会将他所有的女朋友的电话号码记录下来。

描述

qq820186690共有2*N个女朋友,每一个女朋友的电话号码为一个长度为N的01串。
qq820186690发现他的女朋友的电话号码有一些奇怪的特性,使得它们可以组成一个N*N的矩形。
qq820186690对每行从左到右读取号码,同样对每列从上到下读取号码,这样就可以读取到所有2*N个女朋友的电话号码。
不幸的是,2*N个电话号码的顺序被打乱了,有些数字也模糊不清。
现在qq820186690请你恢复原来的电话簿。

格式

输入格式

第一行:一个整数N。
接下来的2N行内,每行有N个数字,包含0、1、2三种数字,其中2表示模糊不清。

输出格式

第一行包含两个空格,然后每两个数字间包含一个空格,代表每一列的编号。
接下来的N行,第一个数字代表当前行的编号,然后是这一行所对应的数字。
如果没有答案请输出NO
如果有多个答案请以行编号为第一关键词,列编号为第二关键词输出字典序最小的那一个

样例1

样例输入1

5
01210
21120
21001
12110
12101
12101
00011
22222
11001
10010

样例输出1

  8 10 9 6 2
1 0 1 1 1 0
5 1 0 1 0 1
7 0 0 0 1 1
3 0 1 0 0 1
4 1 0 1 1 0

样例2

样例输入2

2
00
11
11
01

样例输出2

NO

限制

每个测试点1s

提示

N<=10。
数据保证随机且无误。

后记

qq820186690:“什么?!我的女朋友才20个???出题人你在逗我,数据范围应该是N<=10^6!”

Source

Bill_Yang搬运自ZOJ