#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<deque>
#include<queue>
#include<sstream>
#include<stack>
#include<bitset>
#include<numeric>
#include<utility>
#include<iomanip>
#include<list>
#include<cmath>
#include<cstdlib>
#include<ctime>
#include<string.h>

using namespace std;

#define eps 1e-11
#define INF 1000000009
#define PI 3.14159265358979323
#define sz(a) ((int)a.size())
#define pb push_back
#define mset(a,h) memset(a,h,sizeof(a))
#define wh(a) (a).begin(),(a).end()
#define all(a) (a).begin(),(a).end()
#define REP(i,n) for(__typeof(n) i=0;i<(n);++i)
#define REPS(i,n) for(int(i)=0;i<sz(n);++i)
#define FOR(i,a,b) for(__typeof(b) i=(a);i<=(b);++i)
#define FORD(i,a,b) for(__typeof(a) i=(a);i>=(b);--i)
#define FORE(it,c) for(__typeof((c).begin()) it=(c).begin();it!=(c).end();++it)
#define SQR(a) ((a)*(a))
#define pii pair<int,int>
#define mp make_pair
#define fi first
#define se second
typedef long long LL;
int R,C;
int ROW[20005+100];
int COL[20005+100];
int D1[40005+100];
int D2[40005+100];
		int K;
int main()
{
	while(scanf("%d %d %d",&R,&C,&K),R+C+K)
	{
		mset(ROW,0);
		mset(COL,0);
		mset(D1,0);
		mset(D2,0);
		REP(i,K)
		{
			int r,c;
			scanf("%d %d",&r,&c);r--,c--;
			ROW[r]=1;
			COL[c]=1;
			D1[r+c]=1;
			D2[r-c+20005]=1;
		}
		int cnt=0;
		REP(i,R)
			REP(j,C)
			  cnt+=!(ROW[i]||COL[j]||D1[i+j]||D2[i-j+20005]);
	  printf("%d\n",cnt);			

	}
	return 0;
}

