#include using namespace std; #include using namespace atcoder; using mint=modint998244353; //1000000007; using ll=long long; using pp=pair; #define sr string #define vc vector #define db double #define fi first #define se second #define rep(i,n) for(int i=0;i<(int)n;i++) #define pb push_back #define all(v) v.begin(),v.end() #define pque priority_queue #define bpc(a) __builtin_popcount(a) ll mod=998244353; ll mpow(ll a,ll t){ if(t==0)return 1; ll res=mpow(a,t/2); res=res*res%mod; if(t&1)res*=a; return res%mod; } int main(){ int n,m;cin>>n>>m; vcv(m+1,0); rep(i,n){ int a;cin>>a; v[a]++; } vcx(m+1,0); for(int i=m;i>=1;i--){ for(int j=i;j<=m;j+=i)x[i]+=v[j]; x[i]=mpow((ll)2,x[i])-1; x[i]=(x[i]+mod)%mod; for(int j=i*2;j<=m;j+=i){ x[i]-=x[j]; x[i]+=mod; x[i]%=mod; } } for(int i=1;i<=m;i++)cout<