#include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rrep(i,a,b) for(int i=(b)-1;i>=(a);i--) #define all(x) begin(x),end(x) #define sz(x) (int)(x).size() using namespace std; using namespace atcoder; using ll=long long; using ld=long double; using vll=vector; using vvll=vector; using vi=vector; using vvi=vector; using pll=pair; using mint=modint998244353; // using BoostPoint=boost::polygon::point_data; // using Voronoi=boost::polygon::voronoi_diagram; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); /** * まず、Pr[M=K] = Pr[K>=M] - Pr[K-1>=M] * S = {i:A_i>=K}, t = |S| の時 * Pr[K>=M] = \Prod_{i\in S} K/A_i * と Pr[K-1>=M] = \Prod_{i\in S} (K-1)/A_i が成り立つ */ int N,K; cin>>N>>K; mint p=1; int t=0; rep(i,0,N){ int a; cin>>a; if(a