use std::collections::HashMap;
use std::io::*;

fn main() {
    let mut s: String = String::new();
    std::io::stdin().read_to_string(&mut s).ok();
    let mut itr = s.trim().split_whitespace();
    let h: usize = itr.next().unwrap().parse().unwrap();
    let w: usize = itr.next().unwrap().parse().unwrap();
    let q: usize = itr.next().unwrap().parse().unwrap();

    let mut ans = h * w;
    let mut mp = HashMap::new();
    for _ in 0..q {
        let y = itr.next().unwrap().parse::<usize>().unwrap() - 1;
        let x = itr.next().unwrap().parse::<usize>().unwrap() - 1;
        if let Some(cur_y) = mp.get_mut(&x) {
            if *cur_y > y {
                ans -= *cur_y - y;
                *cur_y = y;
            }
        } else {
            mp.insert(x, y);
            ans -= h - y;
        }
        println!("{}", ans);
    }
}