#include using namespace std; using ll = long long; #include using namespace atcoder; using mint = modint998244353; ll op(ll a, ll b) { return (ll)min<__int128>((__int128)a * b, (ll)(1e18)+1); } ll e() { return 1; } int main() { ios::sync_with_stdio(false); std::cin.tie(nullptr); int n; ll x; cin >> n >> x; vector a(n); for (auto& x : a) cin >> x; segtree seg(a); vector diff(n+1); mint ans = 0; int r = seg.max_right(0, [&](ll p) { return p <= x && x % p == 0; }); if (r == n) ans++; diff[0]++; if (r+1 < n) diff[r+1] -= 1; mint cur = 0; for (int i=0; i