#P9802. Easy problem II

Easy problem II

Easy problem II

Problem Description

note:The difference is that in this version,operation 11 is different,n,m105n,m \leq 10^5, xx can take any possible value. For a given sequence of nn intergers aa. There are two types of operations: 1lrx(1lrn)1 \quad l \quad r \quad x \quad (1≤ l ≤ r ≤ n) — for each i[l,r]i \in [l,r] ,change $a_i = \begin{cases} x - a_i &\text{if } a_i < x \\\\ x + a_i &\text{if } a_i \geq x \end{cases}$. 2lr(1lrn)2 \quad l \quad r \quad (1≤ l ≤ r ≤ n) — output ans=i=lrai\text{ans}=\displaystyle\sum_{i=l}^{r}{a_i}

Input

The input consists of multiple test cases. The first line contains a single integer T(1T1)T(1 \leq T \leq 1) — the number of test cases. The first line of each test case contains two integers nn and m,(1n105,1m105)m,(1 \leq n \leq 10^5,1 \leq m \leq 10^5)— the length of sequence and the number of operations. The next line contains nn integer ai(0ai107)a_i(0 \leq a_i \leq 10^7) The next mm line contains some integers opt,l,r,x\text{opt},l,r,x $(1 \leq \text{opt} \leq 2,1 \leq l \leq r \leq n,0 \leq x \leq 10^7)$ — indicating the operations.

Output

For each query, output an interger in a single line indicating the ans\text{ans}.

Sample Input

1
5 5
1 2 3 4 5
1 1 5 3
2 1 2
2 2 4
1 2 3 5
2 1 5

Sample Output

3
14
32

Source

2023“钉耙编程”中国大学生算法设计超级联赛(1)