package main import ( "bufio" "fmt" "os" "strconv" ) var sc = bufio.NewScanner(os.Stdin) func Scanner() string { sc.Scan() return sc.Text() } func main() { buf := make([]byte, 0) sc.Buffer(buf, 100000007) sc.Split(bufio.ScanWords) w, _ := strconv.Atoi(Scanner()) h, _ := strconv.Atoi(Scanner()) n, _ := strconv.Atoi(Scanner()) s := make([]int, n) k := make([]int, n) for i := 0; i < n; i++ { s[i], _ = strconv.Atoi(Scanner()) k[i], _ = strconv.Atoi(Scanner()) } mark := make([]int, w+1) num := make([]int, h+1) count := 0 count2 := 0 for i := 0; i < n; i++ { if mark[s[i]] == 0 { count++ } if num[k[i]] == 0 { count2++ } mark[s[i]] = 114514 num[k[i]] = 114514 } fmt.Println(w*h - (h-count2)*(w-count) - n) }