{"trustable":true,"sections":[{"title":"题目描述","value":{"format":"MD","content":"这是一道模板题。\r\n\r\n给定数列 $a[1], a[2], \\dots, a[n]$,你需要依次进行 $q$ 个操作,操作有两类:\r\n\r\n* `1 l r x`:给定 $l,r,x$,对于所有 $i\\in[l,r]$,将 $a[i]$ 加上 $x$(换言之,将 $a[l], a[l+1], \\dots, a[r]$ 分别加上 $x$);\r\n* `2 l r`:给定 $l,r$,求 $\\sum_{i\u003dl}^ra[i]$ 的值(换言之,求 $a[l]+a[l+1]+\\dots+a[r]$ 的值)。"}},{"title":"输入格式","value":{"format":"MD","content":"第一行包含 $2$ 个正整数 $n,q$,表示数列长度和询问个数。保证 $1\\le n,q\\le 10^6$。 \r\n第二行 $n$ 个整数 $a[1],a[2],\\dots,a[n]$,表示初始数列。保证 $|a[i]|\\le 10^6$。 \r\n接下来 $q$ 行,每行一个操作,为以下两种之一:\r\n\r\n* `1 l r x`:对于所有 $i\\in[l,r]$,将 $a[i]$ 加上 $x$;\r\n* `2 l r`:输出 $\\sum_{i\u003dl}^ra[i]$ 的值。\r\n\r\n保证 $1\\le l\\le r\\le n, $ $|x|\\le 10^6$。"}},{"title":"输出格式","value":{"format":"MD","content":"对于每个 `2 l r` 操作,输出一行,每行有一个整数,表示所求的结果。"}},{"title":"样例","value":{"format":"MD","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e5 10\n2 6 6 1 1\n2 1 4\n1 2 5 10\n2 1 3\n2 2 3\n1 2 2 8\n1 2 3 7\n1 4 4 10\n2 1 2\n1 4 5 6\n2 3 4\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e15\n34\n32\n33\n50\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n"}},{"title":"数据范围与提示","value":{"format":"MD","content":"对于所有数据,$1\\le n,q\\le 10^6, $ $|a[i]|\\le 10^6$, $1\\le l\\le r\\le n,$ $|x|\\le 10^6$。"}}]}