第一行两个整数 $n,q~(1\le n,q \le 10^5)$,分别表示序列长度和询问个数。
接下来一行 $n$ 个整数 $a_1, a_2, \cdots, a_n~(1 \le a_i \le 10^5)$,表示给定的序列。
接下来 $q$ 行,每行的第一个整数 $op~(op \in \lbrace 1, 2, 3\rbrace)$ 表示当前操作的种类:
当 $op = 1$ 时,接下来输入两个整数 $l,r~(1 \le l < r \le n)$,表示一次左移操作
当 $op = 2$ 时,接下来输入两个整数 $l,r~(1 \le l \le r \le n)$,表示一次区间加一操作
当 $op = 3$ 时,接下来输入一个整数 $x~(1 \le x \le n)$,表示一次询问