import pypyjit pypyjit.set_param("max_unroll_recursion=-1") import sys sys.setrecursionlimit(2*10**5+100) def main(): import sys input = sys.stdin.readline 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 (n,x) in memo:return memo[(n,x)] ret = f(n + 1, A[n]) if x % A[n] == 0: ret += f(n + 1, x // A[n]) if ret > MOD: ret -= MOD memo[(n,x)] = ret return ret for i in range(N-1,0,-1):f(i,A[i-1]) for i in range(N-1,0,-1): if(A[i-1] % A[i] == 0):f(i+1,A[i-1] // A[i]) print(f(0, X)) main()