寒假过后,小 I 回到学校,发现自己忘记了自行车锁的密码,于是请你帮忙。
小 I 自行车上的密码锁有

一个锁的例子,其中
你可以对每个拨圈拨若干次(也可以不拨),每拨一次拨圈,它的格子就会进行一次轮换。形式化地,拨第

一个拨动拨圈的例子,对左侧的锁拨一次第二个拨圈得到右侧的锁。
为了方便记忆,小 I 设定密码时要求同一行上的数字尽可能靠近。
形式化地,对于
同时定义整个密码锁的松散度为
因为能开锁的状态满足
输入格式
本题有多组测试数据,题目保证一个测试点中所有测试数据的
第一行包含两个正整数
接下来一共
第一行包含一个正整数
接下来
注意输入的矩阵中每一列对应一个拨圈,而非每一行对应一个拨圈。
输出格式
对于每组数据,输出一行包含一个整数,表示所有方案中
样例一
input
2 3
3
1 2 1
2 3 2
3 1 3
2
1 2
2 1
1 2
output
0
1
explanation
第一组样例对应题目描述中的例子。
在拨第二个拨圈一次后,每个拨圈都是
容易证明无论如何松散度都不可能小于
样例二
见下发文件。
本样例中
样例三
见下发文件。
本样例中
样例四
见下发文件。
本样例中
样例五
见下发文件。
本样例中
子任务
设
对于所有数据,保证
本题分为两类测试点。
第一类测试点共有十二个,保证
测试点编号 | |||
---|---|---|---|
第二类测试点共有八个,保证
测试点编号 | |||
---|---|---|---|
时间限制:
空间限制:
后记
你花了九牛二虎之力算出