#include<bits/stdc++.h> using namespace std; #define INF 1234567890 #define ll long long #define MOD 998244353 ll res = 0; int N, M, K; int main() { ios::sync_with_stdio(0); cin.tie(0); cin.exceptions(ios::badbit | ios::failbit); cin >> N >> M >> K; vector<array<int, 3> > v; vector<pair<int, int> > q; for(int i=0; i<K; i++) { int y, x, val; cin >> y >> x >> val; ll cnt = y-1, L = x, R = x; ll sum = 1; // case 1 if (cnt > 0) { ll k = min({cnt, L-1, M-R}); sum += ((k+1)*(k+1) - 1), sum %= MOD; cnt -= k; L -= k; R += k; } // case 2 if (cnt > 0 && (L-1 > 0 || M-R > 0)) { ll k = min({cnt, (L-1 > 0 ? L-1 : INF), (M-R > 0 ? M-R : INF)}); sum += ((R-L+1)*k + k*(k+1)/2), sum %= MOD; cnt -= k; } // case 3 if (cnt > 0) { sum += cnt*M, sum %= MOD; } res += sum * val, res %= MOD; } res %= MOD; res += MOD; res %= MOD; cout << res << "\n"; return 0; }