#include #include #include using namespace std; using mint=atcoder::modint998244353; int N,M,Q; pairop(paira, pairb) { mint val=a.first*mint(M).pow(b.second)+b.first; int size=a.second+b.second; return make_pair(val,size); } paire(){return make_pair(mint(),0);} int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin>>N>>M>>Q; vector>V(N); for(int i=0;i>A; V[i]=make_pair(A-1,1); } atcoder::segtree,op,e>seg(V); while(Q--) { int L,R; cin>>L>>R; L--; mint ans=seg.prod(L,R).first+1; cout<