import java.util.*;


public class ith {
   static Scanner sc = new Scanner(System.in);
   static boolean[][] sachovnice;
   static int y;
   static int x;   
    
    public static void main(String[] args) {
       
        while (true) {
            try{
            x = sc.nextInt();
            if (x == 0) break;
            
            y = sc.nextInt();
            int n = sc.nextInt(); // pocet kraloven
            sachovnice = new boolean[x][y];
            
            
            for (int i = 0; i < n; i++) {
                int xk = sc.nextInt();
                int yk = sc.nextInt();
                try{
                vlozKralovnu(xk-1, yk-1);
                }catch(Exception e){
                }
                //vlozKralovnu(yk-1, xk-1);
            }
            }catch(Exception e){
            }
            System.out.println(projdiPole());
            
            // volna pozice: false
       }
    }

    static public int projdiPole() {
        int volne = 0;
        
        for (int i = 0; i < ith.x; i++) {
            for (int j = 0; j < ith.y; j++) {
                //System.out.print(sachovnice[i][j] + " ");
                if (sachovnice[i][j] == false) {
                    volne++;
                }
            }
            //System.out.println("");
        }
        return volne;
    
    }

    static public void vlozKralovnu(int x, int y){
        // vyrad radky
        for (int i = 0; i < ith.y; i++) {
            sachovnice[x][i] = true;
        }
        
        // vyrad sloupce
        for (int i = 0; i < ith.x; i++) {
            sachovnice[i][y] = true;
        }
        
        
        // vyrad diagonalu \
        // odecitame x, y
        int x1 = x;
        int y1 = y;
        while (y1 >= 0 && x1 >= 0) {
            sachovnice[x1][y1] = true;
            y1--;
            x1--;
        }
        
        // vyrad diagonalu /
        // odecitame x, pricitame y
        x1 = x;
        y1 = y;
        while (y1 < ith.y  && x1 >= 0) {
            sachovnice[x1][y1] = true;
            y1++;
            x1--;
        }
        
        // vyrad diagonalu \ (spodni)
        // pricitame x,y
        x1 = x;
        y1 = y;
        while (y1 < ith.y && x1 < ith.x) {
            sachovnice[x1][y1] = true;
            y1++;
            x1++;
        }
        
        // vyrad diagonalu / (spodni)
        // pricitame x, odecitame y
        x1 = x;
        y1 = y;
        while (y1 >= 0 && x1 < ith.x) {
            sachovnice[x1][y1] = true;
            y1--;
            x1++;
        }
    }
    

}
