#include #include using namespace std; #define UL(rr,ss) ( (rr) + (ps-(ss)) ) bool r[20042], s[20042], ur[40042], ul[40042]; int main() { while (true) { int pr, ps, n; scanf("%d %d %d", &ps, &pr, &n); if (ps == 0) break; if (n == 0) { long long res = pr; res *= ps; printf("%lld\n", res); } else { memset(r, 0, pr*sizeof(bool)); memset(s, 0, ps*sizeof(bool)); memset(ur, 0, (pr+ps)*sizeof(bool)); memset(ul, 0, (pr+ps)*sizeof(bool)); while (n--) { int ar, as; scanf("%d %d", &as, &ar); --ar; --as; r[ar] = true; s[as] = true; ur[ar+as] = true; ul[UL(ar,as)] = true; } long long free = 0; if (r < s) { for (int as = 0; as < ps; ++as) { if (s[as]) continue; for (int ar = 0; ar < pr; ++ar) { if (!r[ar] && !ur[ar+as] && !ul[UL(ar,as)]) { ++free; } } } } else { for (int ar = 0; ar < pr; ++ar) { if (r[ar]) continue; for (int as = 0; as < ps; ++as) { if (!s[as] && !ur[ar+as] && !ul[UL(ar,as)]) { ++free; } } } } printf("%lld\n", free); } } return 0; }