fn main() { let (h, w, k) = { let mut line = String::new(); std::io::stdin().read_line(&mut line).unwrap(); let mut iter = line.split_whitespace(); ( iter.next().unwrap().parse::().unwrap(), iter.next().unwrap().parse::().unwrap(), iter.next().unwrap().parse::().unwrap(), ) }; let mut xyv = Vec::new(); for _ in 0..k { xyv.push({ let mut line = String::new(); std::io::stdin().read_line(&mut line).unwrap(); let mut iter = line.split_whitespace(); ( iter.next().unwrap().parse::().unwrap() - 1, iter.next().unwrap().parse::().unwrap() - 1, iter.next().unwrap().parse::().unwrap(), ) }); } let mut ans = 0; for i in 0..h { for j in 0..w { for &(x, y, v) in &xyv { if x + y >= i + j && x + j >= i + y { ans = (ans + v) % 998244353; } } } } println!("{}", ans); }