#include <bits/stdc++.h>
using namespace std;
const int maxint = -1u >> 1;
const double pi = 3.14159265358979323;
const double eps = 1e-8;
int n, m;
bool b[1010][1010];
bool check(int x, int y) {
  bool f = false;
  if (x - 2 >= 1 && y - 2 >= 1) {
    f = true;
    for (int i = (0); i < (3); i++)
      for (int j = (0); j < (3); j++) {
        if (!b[x - i][y - j]) f = false;
      }
  }
  if (f) return true;
  if (x + 2 <= n && y + 2 <= n) {
    f = true;
    for (int i = (0); i < (3); i++)
      for (int j = (0); j < (3); j++) {
        if (!b[x + i][y + j]) f = false;
      }
  }
  if (f) return true;
  if (x + 2 <= n && y - 2 >= 1) {
    f = true;
    for (int i = (0); i < (3); i++)
      for (int j = (0); j < (3); j++) {
        if (!b[x + i][y - j]) f = false;
      }
  }
  if (f) return true;
  if (x - 2 >= 1 && y + 2 <= n) {
    f = true;
    for (int i = (0); i < (3); i++)
      for (int j = (0); j < (3); j++) {
        if (!b[x - i][y + j]) f = false;
      }
  }
  if (f) return true;
  if (x - 1 >= 1 && x + 1 <= n && y + 2 <= n) {
    f = true;
    for (int i = -1; i <= 1; i++)
      for (int j = (0); j < (3); j++) {
        if (!b[x + i][y + j]) f = false;
      }
  }
  if (f) return true;
  if (x - 1 >= 1 && x + 1 <= n && y - 2 >= 1) {
    f = true;
    for (int i = -1; i <= 1; i++)
      for (int j = (0); j < (3); j++) {
        if (!b[x + i][y - j]) f = false;
      }
  }
  if (f) return true;
  if (y - 1 >= 1 && y + 1 <= n && x + 2 <= n) {
    f = true;
    for (int i = (0); i < (3); i++)
      for (int j = -1; j <= 1; j++) {
        if (!b[x + i][y + j]) f = false;
      }
  }
  if (f) return true;
  if (y - 1 >= 1 && y + 1 <= n && x - 2 >= 1) {
    f = true;
    for (int i = (0); i < (3); i++)
      for (int j = -1; j <= 1; j++) {
        if (!b[x - i][y + j]) f = false;
      }
  }
  if (f) return true;
  if (x + 1 <= n && x - 1 >= 1 && y + 1 <= n && y - 1 >= 1) {
    f = true;
    for (int i = (-1); i < (2); i++)
      for (int j = (-1); j < (2); j++)
        if (!b[x + i][y + j]) f = false;
  }
  return f;
}
int main() {
  scanf("%d%d", &n, &m);
  memset(b, false, sizeof(b));
  int ans = -1;
  int x, y;
  for (int i = (1); i < (m + 1); i++) {
    scanf("%d%d", &x, &y);
    b[x][y] = true;
    if (check(x, y) && ans == -1) ans = i;
  }
  printf("%d\n", ans);
  return 0;
}
