def main(): n, q = list(map(int, input().split())) A = list(map(int, input().split())) n_ = max(1, int((n/10)**0.5)) X = [[] for i in range(n//n_+1)] inf = 1<<60 for i in range(n//n_+1): B = A[i*n_: min(n, (i+1)*n_)] B.sort() B = B[:10] X[i] = B[:] for _ in range(q): l, r, k = list(map(int, input().split())) l -= 1 Y = [] while l < r: if not l % n_ and l+n_ <= r: for x in X[l//n_]: Y.append(x) l += n_ else: Y.append(A[l]) l += 1 Y.sort() print(sum(Y[:k])) main()