import sys input=sys.stdin.readline from atcoder import segtree def Sum(a,b): return a+b N,Q=map(int,input().split()) A=list(map(int,input().split())) A_s=A[::] A_s.append(0) for i in range(1,N): A_s[i]+=A_s[i-1] d=[(A[i],0,i) for i in range(N)] for i in range(Q): l,r,x=map(int,input().split()) d.append((x,1,l-1,r-1,i)) d.sort() st_s = segtree.SegTree(Sum,0,[0]*N) st_c = segtree.SegTree(Sum,0,[0]*N) ans=[0]*Q #print(d) for di in d: if len(di)==3: st_s.set(di[2],di[0]) st_c.set(di[2],1) continue x,_,l,r,i=di all_sum = A_s[r]-A_s[l-1] down_sum = st_s.prod(l,r+1) up_sum = all_sum - down_sum all_count = r-l+1 down_count = st_c.prod(l,r+1) up_count = all_count - down_count #print(f"down_sum{down_sum} down_count{down_count}") ans[i]=(x*down_count-down_sum)+(up_sum-x*up_count) for i in range(Q): print(ans[i])