#include #define int long long #define matsuri pair //const int iris = 1e9+7; const int iris = 998244353; using namespace std; void solve() { auto qwq=[&](int a,int b=iris-2) { int res=1; while(b) { if(b&1) res=res*a%iris; a=a*a%iris; b/=2; } return res; }; int n,m,q; cin>>n>>m>>q; vector pr(n+1); for(int i=1;i<=n;i++) { int a; cin>>a; pr[i]=(pr[i-1]+(a-1)*qwq(m,n-i))%iris; } while(q--) { int l,r; cin>>l>>r; int ans=(pr[r]-pr[l-1]+iris)%iris; cout<<(ans*qwq(qwq(m, n-r))+1)%iris<<'\n'; } } signed main() { ios::sync_with_stdio(0); cin.tie(0); int T=1; //cin>>T; while(T--) solve(); return 0; }