#CF2038H. 银河议会

银河议会

H. 银河议会
每次测试的时间限制:3 秒
每次测试的内存限制:512 兆字节

MonocarpMonocarp 在玩一个电脑游戏。在这个游戏中,他管理一个太空帝国。帝国由 nn 个政党管理。最初,每个政党的政治权力为 00,并且没有执政党。

在接下来的 mm 个回合中,每个回合发生以下事件:

  • 首先,MonocarpMonocarp 必须选择他支持哪个政党。他可以支持任何政党,除了当前的执政党。当 MonocarpMonocarp 支持第 ii 个政党时,其政治权力增加 11。如果 Monocarp 在第 jj 回合支持第 ii 个政党,他的得分会增加 ai,ja_{i,j} 分;
  • 然后,进行选举,政治权力最大的政党被选为执政党(如果有多个政党权力最大,则选择其中索引最小的政党)。之前的执政党会被替换,除非它再次被选为执政党;
  • 最后,一个事件发生。在第 jj 回合结束时,政党 pjp_j 必须是执政党,才能避免事件的不良后果,否则 MonocarpMonocarp 会输掉游戏。

确定 MonocarpMonocarp 在每个回合应支持哪个政党,使得他不会因事件而输掉游戏,并且他获得的分数最大。初始时,MonocarpMonocarp 的得分为 00


输入
第一行包含两个整数 nnmm2n,m502 \le n, m \le 50)—— 政党数量和回合数。

第二行包含 mm 个整数 p1,p2,,pmp_1, p_2, \dots, p_m1pjn1 \le p_j \le n),其中 pjp_j 是在第 jj 回合结束时应该成为执政党的政党索引。

接下来 nn 行,第 ii 行包含 mm 个整数 ai,1,ai,2,,ai,ma_{i,1}, a_{i,2}, \dots, a_{i,m}1ai,j1051 \le a_{i,j} \le 10^5),其中 ai,ja_{i,j} 是如果 Monocarp 在第 jj 回合支持第 ii 个政党他获得的分数。


输出
如果无论 Monocarp 如何行动他都会输掉游戏,则输出一个整数 1-1

否则,输出 mm 个整数 c1,c2,,cmc_1, c_2, \dots, c_m1cjn1 \le c_j \le n),其中 cjc_j 是 Monocarp 在第 jj 回合应支持的政党的索引。如果有多个答案,输出任意一个。


示例

示例 1
输入

2 3
2 1 2
1 2 3
4 5 6

输出

2 1 2 

示例 2
输入

3 5
1 1 1 2 1
1 1 1 1 1
10 5 7 8 15
7 10 9 8 15

输出

1 3 2 2 1 

示例 3
输入

3 5
1 1 1 1 1
1 1 1 1 1
10 5 7 8 15
7 10 9 8 15

输出

-1