有一个密码锁,密码锁是由一个的矩阵构成,该密码锁只有在每一列上,每个数均不同的情况下,才能被打开,此外,还可以对矩阵的任意一行上的数字进行翻转操作(每行最多只能翻转一次);若此时仍然无法满打开密码锁的条件,则该密码锁将无法被打开。 现在给出密码锁上的密码矩阵,请你编写一个程序判断是否可以打开该密码锁。
输入描述:
第一行输出矩阵的大小随后行列输入密码矩阵上的数字,第行第列的数字为。


输出描述:
若无法打开密码锁输出;若可以打开密码锁第一行输出,第二行输出需要翻转的行数,第三行,输出个正整数,代表需要翻转的行号(行号从开始计)。若有多种方案,输出任意一种即可。
示例1

输入

2 5
1 2 3 4 5
5 4 3 2 1

输出

No

说明

将第{2}行翻转后,变为
{1 \ 2 \ 3 \ 4 \ 5}
{1 \ 2 \ 3 \ 4 \ 5}
因此无法打开。
示例2

输入

3 4
1 2 3 4
5 2 3 8
1 7 4 2

输出

Yes
2
2 3

说明

将第{2}行翻转后,变为
{1 \ 2 \ 3 \ 4 }
{8 \ 3 \ 2 \ 5}
{1 \ 7 \ 4 \ 2}
将第{3}行翻转后,变为
{1 \ 2 \ 3 \ 4 }
{8 \ 3 \ 2 \ 5}
{2 \ 4 \ 7 \ 1}
加载中...