#セグメント木 # 2**segsize が 配列の長さを超えるように segsize=18 # 単位元 ident=[10**18]*10 # 用いる関数 def seg_f(X,Y): Ans=[] xp=0 yp=0 for i in range(10): if X[xp]=0 and r!=l: if l%2==1: ansl=seg_f(ansl,Seg[rank][l]) l+=1 if r%2==1: ansr=seg_f(Seg[rank][r-1],ansr) r-=1 l//=2 r//=2 rank-=1 return seg_f(ansl,ansr) n,Q=map(int,input().split()) A=list(map(int,input().split())) for i in range(n): seg_paste(i+1,[A[i]]+[10**18]*9) for i in range(Q): a,b,c=map(int,input().split()) Ans=seg_get(a,b+1) #print(Ans) print(sum(Ans[:c]))