#P0530. 收集纪念币

收集纪念币

题目描述

纪念币商店提供 MM 种不同系列的纪念币出售,系列编号为 11 到 MM。

小蓝希望集齐所有系列的纪念币。但商店仅以套装形式出售,每套包含 KK 枚纪念币。

每套纪念币的包装上都会标明其中包含的纪念币所属系列,因此小蓝在购买前可以知道每套的具体内容。

现在有 NN 套纪念币可供选择,请计算小蓝最少需要购买多少套,才能集齐所有 MM 个系列的纪念币。如果无论如何都无法集齐所有系列,则输出 −1-1。

输入格式

第一行输入三个整数 NN、MM 和 KK,分别表示套装数量、系列总数和每套纪念币的数量。

接下来 NN 行,每行包含 KK 个整数 S1,S2,…,SKS_1, S_2, \dots, S_K,表示该套纪念币中各枚纪念币所属的系列编号。

输出格式

输出一个整数,表示最少需要购买的套数。如果无法集齐所有系列,输出 −1-1。

样例

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

数据范围

对于 30%30\% 的数据,1≤N≤201 \le N \le 20。

对于所有数据,1≤N≤1001 \le N \le 100,1≤M≤201 \le M \le 20,1≤K≤201 \le K \le 20,1≤Si≤M1 \le S_i \le M。