#include using namespace std; using ll = long long; using ld = long double; using vll = vector; using vvll = vector>; using vs = vector; using vb = vector; using vvb = vector>; #define lln \ ll n; \ cin >> n; #define REP(i, n) for (long long i = 0; i < n; i++) #define REPIN(v, n) \ for (long long i = 0; i < n; i++) cin >> v[i]; ll gcd(ll x, ll y) { return (x % y) ? gcd(y, x % y) : y; } ll lcm(ll x, ll y) { return x / gcd(x, y) * y; } int main() { ll H, W, K; cin >> H >> W >> K; vvll xyv(K, {0, 0, 0}); REP(i, K) { cin >> xyv[i][0] >> xyv[i][1] >> xyv[i][2]; } ll mod = 998244353, cnt = 0; REP(i, H) { REP(j, W) { REP(k, K) { if ((i + 1) + (j + 1) <= xyv[k][0] + xyv[k][1] && (i + 1) - (j + 1) <= xyv[k][0] - xyv[k][1]) { cnt += xyv[k][2]; cnt %= mod; } } } } cout << cnt % mod << endl; }