import pypyjit pypyjit.set_param("max_unroll_recursion=-1") import sys sys.setrecursionlimit(10**7) MOD = 998244353 N, X = list(map(int, input().split())) A = list(map(int, input().split())) memo = {} def f(n, x): if n == N: return 1 if (x<<19) | n in memo:return memo[(x<<19) | n] ret = f(n + 1, A[n]) if x % A[n] == 0: ret += f(n + 1, x // A[n]) if ret > MOD: ret -= MOD memo[(x<<19) | n] = ret return ret for i in range(N-1,0,-1):f(i,A[i-1]) print(f(0, X))