#include <bits/stdc++.h>
bool p[1200][1200];
int n, m, x, y, i, j;
bool solve(int x, int y) {
  if (x <= 0 || y <= 0 || x > n || y > n) return false;
  int i, j;
  for (i = 0; i < 3; i++)
    for (j = 0; j < 3; j++)
      if (!p[x + i][y + j]) return false;
  return true;
}
bool work(int x, int y) {
  int i, j;
  for (i = 0; i < 3; i++)
    for (j = 0; j < 3; j++)
      if (solve(x - i, y - j)) return true;
  return false;
}
int main() {
  scanf("%d%d", &n, &m);
  memset(p, 0, sizeof(p));
  for (i = 1; i <= m; i++) {
    scanf("%d%d", &x, &y);
    p[x][y] = 1;
    if (work(x, y)) {
      printf("%d\n", i);
      return 0;
    }
  }
  printf("-1\n");
  return 0;
}
