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