#ZF1110. Azusa 的回家路
Azusa 的回家路
Description
Azusa 想回到阿里乌斯,在路上她发现道路被虚空截断了,被虚空隔开的两个区域距离为 。Azusa 发现附近的仓库中有 个 的方形地块,Azusa 只能从中带走两个,拼成 的长方形地块,用它来连接虚空两端的区域通过虚空。
每个方形地块可以表示成一个 行 列的 矩阵,Azusa 在矩阵中只能上下左右进行移动,她不能移动至虚空中和矩阵中值为 的位置。
Azusa 可以对选择的两个正方形地块分别进行任意次 旋转,上下翻转和左右翻转操作。下图为 的方形地块的操作示例,其中矩阵中值为 的位置为红色方格,值为 的位置为蓝色方格。
请你帮 Azusa 选出两个方形地块,使得两个正方形在分别经过上述操作后拼接成的长方形地块能够通过虚空。拼接好的长方形地块可以表示成一个 行 列 的 矩阵,只有存在至少一条从第一列的某个位置出发,能到达最后一列的某个位置的合法路径(路径上所有位置的值都为 )时,该长方形地块可以通过虚空。
Format
Input
第一行两个正整数 ,分别表示正方形地块的数量和每个方形地块的边长。
接下来按顺序给出 个方形地块,对于每个方形地块:
第一行为空行,接下来 行,每行一个长度为 的只包含 和 的字符串,描述方形地块可通行状况。
Output
如果存在可行解,输出一行两个正整数 ,分别表示输入中按顺序给出的第 个和第 个方形地块,当有多个满足条件的答案时输出任意一个均可通过。如果不存在可行解则输出 。
Samples
2 3
010
011
000
010
011
000
-1
2 3
000
111
000
010
010
010
1 2
Limitation
1s, 1024KiB for each test case.