/* * To change this template, choose Tools | Templates * and open the template in the editor. */ import java.util.*; import java.io.*; /** * * @author cteam39 */ public class ith { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; int rows, cols, n, r, s, rx, sx, freecount; boolean[][] obsazeno; while(true) { st = new StringTokenizer(br.readLine()); rows = Integer.parseInt(st.nextToken()); cols = Integer.parseInt(st.nextToken()); n = Integer.parseInt(st.nextToken()); if(rows==0 && cols==0 && n==0) break; obsazeno = new boolean[rows][cols]; for (int i = 0; i < n; i++) { st = new StringTokenizer(br.readLine()); rx = Integer.parseInt(st.nextToken()) - 1; sx = Integer.parseInt(st.nextToken()) - 1; for (r = 0; r < rows; r++) { obsazeno[r][sx] = true; } for (s = 0; s < cols; s++) { obsazeno[rx][s] = true; } // doleva nahoru r = rx - 1; s = sx - 1; while(r > -1 && s > -1){ obsazeno[r][s] = true; r--; s--; } // doprava nahoru r = rx - 1; s = sx + 1; while(r > -1 && s < cols){ obsazeno[r][s] = true; r--; s++; } // doleva dolu r = rx + 1; s = sx - 1; while(r < rows && s > -1){ obsazeno[r][s] = true; r++; s--; } // doprava dolu r = rx + 1; s = sx + 1; while(r < rows && s < cols){ obsazeno[r][s] = true; r++; s++; } } freecount = 0; for (r = 0; r < rows; r++) { for (s = 0; s < cols; s++) { if(obsazeno[r][s] == false) { freecount += 1; //System.out.print("0"); } /*else{ System.out.print("+"); }*/ } //System.out.println(""); } System.out.println(freecount); } } }