For an array of length n {a1, a2, ... , an}.
There are q operations, for each operation:
If the operation value is 1 and {l, r, k}, then it will add k in {al, a(l+1), ... , ar} —>{al+k, a(l+1)+k, ... , ar+k}.
If the operation value is 2 and {l, r}, it will query the sum of {al, a(l+1), ... , ar}.
The first line will consist of two integers N,Q ( 1 ≤ N,Q ≤ 1e5).
The second line will have n integers means {a1,a2,...,an} (-1e5<=ai<=1e5)
The next q lines: i-th line have {1, l, r, k} or {2, l, r}. (1<=l<=r<=N, -1e5<=K<=1e5)
For each sum query whose operation value is 2, output the sum answer in a line.