#include #include #include using namespace std; inline int iabs(int x) { return x > 0 ? x : -x; } struct Pair { Pair(int x, int y) { first = x; second = y; } int first; int second; }; int main() { int x = 42; int y = 42; int n = 42; bool rows[20000]; bool cols[20000]; cin >> x >> y >> n; while(x || y || n) { int kx; int ky; vector queens; int free = 0; for(int i = 0; i< 20000; i++) rows[i] = cols[i] = false; for(int i = 0; i < n; i++) { cin >> kx >> ky; queens.push_back(Pair(kx -1,ky -1)); rows[kx-1] = true; cols[ky-1] = true; } if(n > 0) { for(int i = 0; i < x; i++) { if(rows[i]) continue; for(int j = 0; j < y; j++) { if(cols[j]) continue; bool flag = false; for(int k = 0; k < n; k++) { if(iabs(i - queens[k].first) == iabs(j - queens[k].second)) { flag = true; break; } } if(!flag) free++; } } }else { free = x*y; } cout << free << endl; cin >> x >> y >> n; queens.clear(); } return 0; }