#include using namespace std; using ll=long long; #include #include using mint=atcoder::modint; mint op(mint x,mint y){ return x+y; } mint e(){ return 0; } int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); int n,b,q; cin>>n>>b>>q; mint::set_mod(b); vector> segs(101,atcoder::lazy_segtree(n)); vector> binom(101,vector(101)); binom[0][0]=1; for(int i=1;i<=100;i++){ binom[i][0]=1; binom[i][i]=1; for(int j=1;j>l>>m>>r>>c>>d; l--;m--; for(int i=0;i<=d;i++)segs[i].apply(l,r,binom[d][i]*((mint)c).pow(d-i)); mint ans=0; for(int i=0;i<=100;i++){ ans+=segs[i].get(m)*(((mint)m+1).pow(i)); //cout<