#include <iostream>
using namespace std;
const int N = 2e3 + 3;
int a[N][N];
int hang[N], lie[N];
int f[N], xie1, xie2;
int main() {
int n, t;
cin >> n >> t;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++)
a[i][j] = (i - 1) * n + j;
}
for (int i = 1; i <= t; i++) {
cin >> f[i];
int h = (f[i] - 1) / n + 1, l = f[i] % n;
hang[h]++;
lie[l]++;
if (l + h == n) {
xie1++;
}
if (h - l + n == n) {
xie2++;
}
if (xie1 == n || xie2 == n || hang[h] == n || lie[l] == n) {
cout << i;
return 0;
}
}
puts("-1");
return 0;
}