mod = 998244353 def main(): n, q = list(map(int, input().split())) A = list(map(int, input().split())) A.sort() A = [(A[i], A[i]+1) for i in range(n)] 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]: 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: r = A[0][1] r = r + (k-1)*m A = [(r+m-1, r+m)] print((r+x-1)%mod) continue elif 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()