import sys ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### mod = 998244353 n, m = na() a = na() g = [0] * (1+m) for i in range(n): g[a[i]] += 1 for i in range(1, m + 1): for j in range(i*2, m+1, i): g[i] += g[j] #print(*g) for i in range(1, m+1): g[i] = pow(2, g[i], mod)-1 for i in range(m+1, 0, -1): for j in range(i * 2, m + 1, i): g[i] -= g[j] g[i] %= mod print(*g[1:], sep = "\n")