#include #include #include #include #include #include using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) const int INF = 1e9; int p, q, n; int x[100001], y[100001]; int main(void){ cin >> p >> q >> n; int lx = INF, rx = -INF, uy = -INF, sy = INF; rep(i, n){ cin >> x[i] >> y[i]; lx = min(lx, x[i]);//左端 rx = max(rx, x[i]);//右端 uy = max(uy, y[i]);//上 sy = min(sy, y[i]);//下 } int dx[] = {p, p, -p, -p, q, q, -q, -q}; int dy[] = {q, -q, q, -q, p, -p, p, -p}; set > s; queue > q; q.push(make_pair(0, 0)); while(!q.empty()){ auto now = q.front(); q.pop(); // printf("k %d %d\n", now.first, now.second); rep(i, 8){ int ny = now.first + dy[i], nx = now.second + dx[i]; if(!(lx <= nx && nx <= rx && sy <= ny && ny <= uy)) continue; if(s.count(make_pair(ny, nx)) != 0) continue; // printf("%d %d\n", nx, ny); s.insert(make_pair(ny, nx)); q.push(make_pair(ny, nx)); } } int ret = 0; rep(i, n){ if(s.count(make_pair(y[i], x[i])) != 0){ ret++; } } printf("%d\n", ret); }