program ith; var pole : array [0..20000,0..20000] of boolean; var i, x, y, n, xk, yk : longint; var j, k, pocet : longint; function min(a,b : longint) : longint; begin if a >= b then min := b else min := a; end; begin while true do begin readln(x, y, n); for i:=0 to x-1 do begin for j:=0 to y-1 do begin pole[i][j] := false; end; end; if ((x = 0) and (y = 0) and (n = 0)) then break; for i:=0 to n-1 do begin readln(xk, yk); dec(xk); dec(yk); if false then begin end else begin for j:=0 to x-1 do pole[j][yk] := true; for j:=0 to y-1 do pole[xk][j] := true; for j:=1 to min(xk, yk) do pole[xk-j][yk-j] := true; for j:=1 to min(x-xk, yk) do pole[xk+j][yk-j] := true; for j:=1 to min(x-xk, y-yk) do pole[xk+j][yk+j] := true; for j:=1 to min(xk, y-yk) do pole[xk-j][yk+j] := true; pole[xk][yk] := true; end; end; pocet := 0; for i:=0 to x-1 do begin for j:=0 to y-1 do begin if not pole[j][i] then begin inc(pocet); // write(' '); end else begin // write('*'); end; end; // writeln; end; writeln(pocet); end; end.