T125847 【模板】动态开点线段树

题目背景

**注意:请注意时间限制是800ms 请使用较快的输入输出** **注意:空间限制是128MB 请不要开long long** **时限在std的2.5倍以上**

题目描述

有一个有$1000000000$个数的初始值全为$0$的区间,你要进行两种操作: 将某区间每一个数加上 $x$ 求出某区间每一个数的和

输入格式

第一行包含一个正整数$x,p$,表示操作个数和模数 接下来$m$行,每行包含3或4个整数,`1 x y z`表示将$[x,y]$内每个数加$z$,`2 x y`表示求$[x,y]$内每个数的和对$p$取模的结果

输出格式

输出包含若干行,为操作$2$的结果

说明/提示

$1≤m≤100000$ $1≤x≤y≤1000000000$,$1≤z≤10^{8}$,$1≤p≤10^{8}$