问题描述
有 N 行和 N 列的格子,从上往下第 i 行,从左往右第 j 列的格子上写着整数 N×(i−1)+j 。
接下来,将在T个回合中宣布不同的整数。
在第i回合,宣布 Ai ,并在写有 Ai 的格子上做标记。请找出首次达到宾果的回合数。但是,如果在 T 个回合中没有达到宾果,则输出−1。
在这里,达到宾果意味着至少满足以下条件之一:
- 存在一个格子的横行,其中包含的 N 个格子上都有标记。
- 存在一个格子的纵列,其中包含的 N 个格子上都有标记。
- 存在一个格子的对角线,其中包含的N个格子上都有标记。
约束条件:
- 2≤N≤2×103
- 1≤T≤min(N2,2×105)
- 1≤Ai≤N2
- 如果i=j,那么Ai=Aj
所有输入都是整数。
输入
输入以下列形式通过标准输入给出。
N T
A1 A2 ... AT
输出
如果在 T 个回合中达到宾果,则输出首次达到宾果的回合数;如果没有,则输出 −1。