#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> vec(1001, vector<int>(1001));
int n, m, k;
bool ok(int x, int y) { return x >= 1 && y >= 1 && x <= n && y <= m; }
bool rect(int x, int y) {
  return ok(x, y) && ok(x + 1, y + 1) && vec[x][y] && vec[x][y + 1] &&
         vec[x + 1][y] && vec[x + 1][y + 1];
}
int main() {
  cin >> n >> m >> k;
  int a, b;
  for (int i = 0; i < k; ++i) {
    scanf("%d%d", &a, &b);
    vec[a][b] = 1;
    if (rect(a, b)) {
      cout << i + 1;
      return 0;
    }
    if (rect(a - 1, b)) {
      cout << i + 1;
      return 0;
    }
    if (rect(a, b - 1)) {
      cout << i + 1;
      return 0;
    }
    if (rect(a - 1, b - 1)) {
      cout << i + 1;
      return 0;
    }
  }
  cout << 0;
  return 0;
}
