import java.util.*;


public class ith {
   static Scanner sc = new Scanner(System.in);
   static boolean[] rows;
   static boolean[] sloupce;
   static boolean[] dxkladne;
   static boolean[] dxzaporne;
   static boolean[] dykladne;
   static boolean[] dyzaporne;   
   static int y;
    static int x;   
    public static void main(String[] args) {
        boolean pokracuj = true;
        while (pokracuj){
        pokracuj = nacti();
        }
    }

    static boolean nacti() {
           x = sc.nextInt();
           if (x == 0){
           return false;
           }
           y = sc.nextInt();
           rows = new boolean[y];
           sloupce = new boolean[x];
           dxzaporne = new boolean[y];
           dxkladne = new boolean[x];
           dyzaporne = new boolean[y];
           dykladne= new boolean[x];
           int n = sc.nextInt();
           for (int i=0;i< n;i++){
                int xk = sc.nextInt();
                int yk = sc.nextInt();
                skrtni(xk, yk);
                    
           }
           int counter = 0;
           for (int i = 0; i < ith.y; i++){
                if (rows[i] == false){
                    for (int j = 0; j < ith.x; j++){
                    if (sloupce[j] == false){
                        int diagx = (j + 1) - (i + 1);
                        int diagy = (j + 1) - (ith.y - (i+1) + 1);
                        boolean bx = false;
                        boolean by = false;
                        if (diagx < 0 && dxzaporne[Math.abs(diagx)] == false){
                            bx = true;
                        }else if (diagx >= 0 && dxkladne[Math.abs(diagx)] == false){
                            bx = true;
                        }
                        if (diagy < 0 && dyzaporne[Math.abs(diagy)] == false){
                            by = true;
                        } else if (diagy >= 0 && dykladne[Math.abs(diagy)] == false){
                            by = true;
                        }
                        if (bx && by){
                            counter++;
                        }
                        
                    }
                    }
                
                
                }
           
           }
           System.out.println(counter);
           return true;
           

           
    }
      static void skrtni(int x, int y) {
        rows[y-1] = true;
        sloupce[x-1] = true;
        
        if(x - y == 0){
            dxkladne[0] = true;
            dxzaporne[ith.y-1] = true;
        } else if (x-y > 0) {
            dxkladne[x-y] = true;
          
        } else {
            dxzaporne[Math.abs(x-y)] = true;
           
        }
        if(x - (ith.y - y + 1) == 0){
            dykladne[0] = true;
            dyzaporne[ith.y-1] = true;
            
            
        } else if (x - (ith.y - y + 1) > 0) {
           
            dykladne[Math.abs(x - (ith.y - y + 1))] = true;
        } else {
           
            dyzaporne[Math.abs(x - (ith.y - y + 1))] = true;
        }
        

        
        
      
      } 
    

}
