#P7281. 「2023牛客OI模拟赛(六)普及组」B. 牛牛吃草

「2023牛客OI模拟赛(六)普及组」B. 牛牛吃草

题目描述

nn 头牛牛正在吃草,这些牛牛被编号为 11 nn

ii 头牛牛在第 ii 个圈里面吃草,由于每头牛牛都在自己的圈里吃草,所以这些牛牛之间互不干扰。第 ii 个圈的是由 kik_i 块草地围成的圆形草地,牛牛从第一块草地出发开始吃草,每分钟牛牛都会移动到下一块草地,然后吃光这一块草地上的草。假设草地总共有 kik_i 块,那么牛牛就会按照 12...ki12...ki12...ki1、2、...、k_i、1、2、...、k_i、1、2、...、k_i 这样的顺序绕圈吃草。

vi,jv_{i,j} 表示在第 ii 个圈的第 jj 块草地上吃一分钟草能够吃到的草量,假设 kik_i 块草地的草量分别是 vi,1v_{i,1}vi,2v_{i,2}、...、vi,kiv_{i,k_i},那么牛牛绕着这样的圈吃草,每分钟能够吃到的草量就是 vi,1v_{i,1}vi,2v_{i,2}、...、vi,kiv_{i,k_i}vi,1v_{i,1}vi,2v_{i,2}、...、vi,kiv_{i,k_i} 这样循环。

你需要输出 mm 个数字,表示第 11mm 分钟的时候哪一头牛牛在当前时刻吃草吃的最多。如果有多头牛牛的吃草数量相同,输出牛牛编号较小的那一头牛。

输入格式

第一行输入一个正整数 n,mn, m,表示牛牛的数量和你需要输出的数字个数。

接下来包含 nn 行,依次描述每头牛牛的草圈,先输入一个正整数 ki(2ki10)k_i(2 ≤ k_i ≤ 10) 表示草圈的草地数量,然后输入 kik_i 个数字 vi,jv_{i,j} 表示每块草地上的草量。

输出格式

输出一行共 mm 个整数,由空格隔开,表示每分钟吃草最多的牛牛编号。

样例输入1

2 5
3 7 8 1
2 4 9

样例输出1

1 2 2 2 1

说明

55 分钟里,第一头牛牛在五分钟里的吃草情况是 [7,8,1,7,8][7,8,1,7,8],第二头牛牛在五分钟里的吃草情况是 [4,9,4,9,4][4,9,4,9,4]。所以在第 2342、3、4 分钟时,第二头牛牛吃草多,第 151、5 分钟时,第一头牛牛吃草多。

样例输入2

3 10
3 4 7 2
2 5 3
4 1 6 3 8

样例输出2

2 1 2 3 1 3 2 3 2 3

说明

第一头牛牛的吃草情况:[4,7,2,4,7,2,4,7,2,4][4,7,2,4,7,2,4,7,2,4]

第二头牛牛的吃草情况:[5,3,5,3,5,3,5,3,8,5,3][5,3,5,3,5,3,5,3,8,5,3]

第三头牛牛的吃草情况:[1,6,3,8,1,6,3,8,1,6][1,6,3,8,1,6,3,8,1,6]

备注

  • 对于测试点 1 - 3,有 ki300\sum{k_i} \leq 300, 1n,m1001 \leq n, m \leq 100.
  • 对于测试点 4 - 5,有"所有 kik_i 均相同"的性质。
  • 对于测试点 6 - 7,有 ki3000\sum{k_i} \leq 3000, 1n,m10001 \leq n, m \leq 1000.
  • 对于测试点 8,有"kik_i 要么为 2,要么为 3"的性质。
  • 对于测试点 9 - 10,有 ki200000\sum_{k_i} \leq 200000, 1n,m1000001 \leq n, m \leq 100000.
  • 对于所有的数据,有 2ki102 \leq k_i \leq 10, 1vi,j1091 \leq v_{i,j} \leq 10^9.