#include <bits/stdc++.h>
using namespace std;
const int MaxN = 1000;
int n, m;
int cnt[MaxN + 5][MaxN + 5];
bool Check(int x, int y) {
  if (x < 0) return false;
  if (y < 0) return false;
  if (x > n) return false;
  if (y > n) return false;
  return true;
}
int main() {
  while (~scanf("%d%d", &n, &m)) {
    memset(cnt, 0, sizeof(cnt));
    for (int i = 1; i <= m; i++) {
      int x, y;
      scanf("%d%d", &x, &y);
      for (int nx = x - 2; nx <= x; nx++)
        for (int ny = y - 2; ny <= y; ny++)
          if (Check(nx, ny)) {
            cnt[nx][ny]++;
            if (cnt[nx][ny] == 9) {
              printf("%d\n", i);
              return 0;
            }
          }
    }
    printf("-1\n");
  }
  return 0;
}
