#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, p, i, k, x, y;
  cin >> n >> p;
  int paper[n + 15][n + 15];
  memset(paper, 0, sizeof(paper));
  for (i = 1; i <= p; i++) {
    cin >> x >> y;
    x += 5;
    y += 5;
    paper[x][y] = 1;
    if ((paper[x + 1][y] && paper[x + 2][y] && paper[x][y + 1] &&
         paper[x + 1][y + 1] && paper[x + 2][y + 1] && paper[x][y + 2] &&
         paper[x + 1][y + 2] && paper[x + 2][y + 2]) or
        (paper[x - 1][y] && paper[x + 1][y] && paper[x - 1][y + 1] &&
         paper[x + 1][y + 1] && paper[x][y + 1] && paper[x + 1][y + 2] &&
         paper[x - 1][y + 2] && paper[x][y + 2]) or
        (paper[x - 2][y] && paper[x - 1][y] && paper[x - 2][y + 1] &&
         paper[x - 1][y + 1] && paper[x][y + 1] && paper[x - 2][y + 2] &&
         paper[x - 1][y + 2] && paper[x][y + 2]) or
        (paper[x][y - 1] && paper[x + 1][y - 1] && paper[x + 2][y - 1] &&
         paper[x + 1][y] && paper[x + 2][y] && paper[x][y + 1] &&
         paper[x + 1][y + 1] && paper[x + 2][y + 1]) or
        (paper[x - 1][y - 1] && paper[x][y - 1] && paper[x + 1][y - 1] &&
         paper[x - 1][y] && paper[x + 1][y] && paper[x - 1][y + 1] &&
         paper[x][y + 1] && paper[x + 1][y + 1]) or
        (paper[x - 2][y - 1] && paper[x - 1][y - 1] && paper[x][y - 1] &&
         paper[x - 2][y] && paper[x - 1][y] && paper[x - 2][y + 1] &&
         paper[x - 1][y + 1] && paper[x][y + 1]) or
        (paper[x][y - 2] && paper[x + 1][y - 2] && paper[x + 2][y - 2] &&
         paper[x][y - 1] && paper[x + 1][y - 1] && paper[x + 2][y - 1] &&
         paper[x + 1][y] && paper[x + 2][y]) or
        (paper[x - 1][y - 2] && paper[x][y - 2] && paper[x + 1][y - 2] &&
         paper[x - 1][y - 1] && paper[x][y - 1] && paper[x + 1][y - 1] &&
         paper[x - 1][y] && paper[x + 1][y]) or
        (paper[x - 2][y - 2] && paper[x - 1][y - 2] && paper[x][y - 2] &&
         paper[x - 2][y - 1] && paper[x - 1][y - 1] && paper[x][y - 1] &&
         paper[x - 2][y] && paper[x - 1][y])) {
      cout << i << endl;
      return 0;
    }
  }
  cout << -1 << endl;
  return 0;
}
