#include <bits/stdc++.h>
using namespace std;
int father[18000010], nRow, nCol;
bool col[3010][3010 * 2];
int movex[] = {1, 1, 1, 0, 0, -1, -1, -1};
int movey[] = {-1, 0, 1, 1, -1, -1, 0, 1};
int Find(int p, int *father) {
  if (father[p] != p) father[p] = Find(father[p], father);
  return father[p];
}
void read() {
  scanf("%d %d", &nRow, &nCol);
  nCol *= 2;
  for (int i = 1; i <= nRow * nCol; ++i) father[i] = i;
}
bool check(int x1, int y1, int x2, int y2) {
  static int fa[18000010], e[3010][2];
  col[x1][y1] = col[x2][y2] = 1;
  int tot = 0;
  int pa = Find((x1 - 1) * nCol + y1, father),
      pb = Find((x2 - 1) * nCol + y2, father);
  fa[Find(pa, father)] = father[pa], fa[Find(pb, father)] = father[pb];
  for (int j = 0, x, y; j < 8; ++j) {
    x = x1 + movex[j], y = y1 + movey[j];
    if (y == 0) y = nCol;
    if (y == nCol + 1) y = 1;
    if (x >= 1 && x <= nRow && y >= 1 && y <= nCol && col[x][y]) {
      int p = Find((x - 1) * nCol + y, father);
      fa[p] = p, ++tot, e[tot][0] = p, e[tot][1] = pa;
    }
    x = x2 + movex[j], y = y2 + movey[j];
    if (y == 0) y = nCol;
    if (y == nCol + 1) y = 1;
    if (x >= 1 && x <= nRow && y >= 1 && y <= nCol && col[x][y]) {
      int p = Find((x - 1) * nCol + y, father);
      fa[p] = p, ++tot, e[tot][0] = p, e[tot][1] = pb;
    }
  }
  for (int i = 1; i <= tot; ++i) fa[Find(e[i][0], fa)] = Find(e[i][1], fa);
  col[x1][y1] = col[x2][y2] = 0;
  return Find(pa, fa) != Find(pb, fa);
}
void print() {
  for (int i = 1; i <= nRow; ++i, printf("\n"))
    for (int j = 1; j <= nCol / 2; ++j) printf("%d ", col[i][j]);
  printf("\n");
}
void work(int a, int b) {
  int pa = Find((a - 1) * nCol + b, father);
  for (int j = 0; j < 8; ++j) {
    int x = a + movex[j], y = b + movey[j];
    if (x < 1 || x > nRow) continue;
    if (y == 0) y = nCol;
    if (y == nCol + 1) y = 1;
    if (x >= 1 && x <= nRow && y >= 1 && y <= nCol && col[x][y])
      father[Find((x - 1) * nCol + y, father)] = Find(pa, father);
  }
}
void Query() {
  int cnt = 0, m;
  scanf("%d", &m);
  for (int i = 1, a, b; i <= m; ++i) {
    scanf("%d %d", &a, &b);
    if (check(a, b, a, b + nCol / 2))
      col[a][b] = 1, col[a][b + nCol / 2] = 1, ++cnt, work(a, b),
      work(a, b + nCol / 2);
  }
  printf("%d\n", cnt);
}
int main() {
  read();
  Query();
  return 0;
}
