import math N,K = map(int,input().split()) A = list(map(int,input().split())) mod = 998244353 def md(n): lower_divisors , upper_divisors = [], [] i = 1 while i*i <= n: if n % i == 0: lower_divisors.append(i) if i != n // i: upper_divisors.append(n//i) i += 1 return lower_divisors + upper_divisors[::-1] P = md(K) n = len(P) P.sort() dp = [0]*n dp[0] = 1 inv = {p:i for i,p in enumerate(P)} for a in A: for i in range(n-1,-1,-1): d = math.gcd(K,a*P[i]) dp[inv[d]] = (dp[i] + dp[inv[d]])%mod print(dp[-1]%mod)