mod = 998244353 def main(): n, q = list(map(int, input().split())) A = list(set(map(int, input().split()))) A.sort() A = [(A[i], A[i]+1) for i in range(len(A))] for _ in range(q): k, x, m = list(map(int, input().split())) #print(A) while k and 1 < len(A): B = [] s = m i = 1 t = 0 while s: if i == len(A): B.append((A[i-1][1], A[i-1][1]+s)) s = 0 elif A[i][0] == A[i-1][1]: t += A[i][1]-A[i][0] i += 1 else: ms = min(s, A[i][0]-A[i-1][1]) B.append((A[i-1][1], A[i-1][1]+ms)) s -= ms if s: t += A[i][1]-A[i][0] i += 1 A = B k -= 1 if t < m and not k % 2: break if k and len(A) == 1: l, r = A[0] A = [(r+m*(k-1), r+m*k)] print((A[0][0]+x-1)%mod) else: if k: k //= 2 c = len(A) off = 2*m*(k//c) k %= c B = [] for i in range(k, k+c): i %= c l, r = A[i] if k <= i: B.append((l+off, r+off)) else: B.append((l+off+2*m, r+off+2*m)) A = B s = x for l, r in A: ms = min(r-l, s) s -= ms if s == 0: print((l+ms-1)%mod) break main()