你正在参加一个编程竞赛杯。该杯赛由一系列编程竞赛组成,并在赛季末为杯赛中排名前 15 名的选手举办一场决赛。在决赛前只剩最后一场比赛时,你开始怀疑自己在之前比赛中的表现是否足以确保你获得决赛席位。如果是这样,你就可以放纵自己的懒惰,跳过最后一场比赛。
杯赛的排名规则如下:在每场比赛中,选手可以获得 0 到 101 之间的分数(具体细节见下文)。选手的总分定义为所获得分数中最高的四场比赛得分之和。例如,如果一名选手在 6 场比赛中分别获得了 45、15、32、0、30 和 20 分,那么他们的总分为 $45 + 32 + 30 + 20 = 127$。选手 $X$ 在杯赛中的排名定义为 1 加上总分严格大于 $X$ 的选手人数。
选手在单场比赛中获得的分数取决于他们在该场比赛中的名次,具体如下表所示:
| 名次 | 分数 | 名次 | 分数 | 名次 | 分数 |
|---|---|---|---|---|---|
| 1 | 100 | 11 | 24 | 21 | 10 |
| 2 | 75 | 12 | 22 | 22 | 9 |
| 3 | 60 | 13 | 20 | 23 | 8 |
| 4 | 50 | 14 | 18 | 24 | 7 |
| 5 | 45 | 15 | 16 | 25 | 6 |
| 6 | 40 | 16 | 15 | 26 | 5 |
| 7 | 36 | 17 | 14 | 27 | 4 |
| 8 | 32 | 18 | 13 | 28 | 3 |
| 9 | 29 | 19 | 12 | 29 | 2 |
| 10 | 26 | 20 | 11 | 30 | 1 |
如果选手的名次低于 30 名,他们将获得 0 分。如果有两名或多名选手在比赛中获得相同的名次,他们将平分这些名次对应的分数之和。该平均值总是向上取整到最接近的整数。例如,如果有三名选手并列第二名,他们每人获得 $\lceil \frac{75+60+50}{3} \rceil = 62$ 分,下一位选手的名次将是 5,并获得 45 分(如果第 5 名也有并列,分数会更低)。这也适用于第 30 名,例如,如果有 4711 名选手并列第 30 名,他们每人获得 1 分。
选手可以选择以现场或在线方式参加每场比赛。如果他们现场参赛,无论其原始分数如何,都会额外获得 1 分。如果选手不参加比赛,他们将获得 0 分。
输入格式
输入的第一行包含两个整数 $n$ 和 $m$ ($2 \le n \le 10, 1 \le m \le 10^5$),其中 $n$ 是杯赛中的比赛场次(不含决赛),$m$ 是参加了前 $n-1$ 场比赛中任意一场的人数。
接下来有 $m$ 行,每行描述一名选手。每行包含 $n-1$ 个整数 $0 \le s_1, \dots, s_{n-1} \le 101$,其中 $s_i$ 是该选手在第 $i$ 场比赛中获得的分数。
列出的第一名选手是你。输入中的分数值可能与比赛的实际得分不对应。
输出格式
输出一个整数 $r$,表示假设你不参加最后一场比赛,你最终可能获得的最差排名。
样例
样例输入 1
4 2 50 50 75 25 25 25
样例输出 1
2
样例输入 2
5 2 50 50 50 50 25 25 25 25
样例输出 2
1
样例输入 3
2 4 90 1 3 2
样例输出 3
3