#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include #define rep(i,n) for(int i=0;i<(n);i++) #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define sz(x) ((int)(x).size()) #define pb push_back using ll = long long; using namespace std; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b 0){ if(x & 1) res = (res * a) % mod; a = (a * a) % mod; x >>= 1; } return res; } int main(){ ll N,M; cin >> N >> M; vector A(N); rep(i,N) cin >> A[i]; vector ans(M+1,0); vector cnt(202000,0); rep(i,N){ for(ll a=1;a*a<=A[i];a++){ if(A[i]%a==0){ cnt[a]++; if(a*a!=A[i]) cnt[A[i]/a]++; } } } for(int m=M;m>0;m--){ ll a = (mpow(2,cnt[m])+mod-1); for(int mm=m*2;mm<=M;mm+=m){ a += mod-ans[mm]; } ans[m] = a%mod; } for(int i=1;i<=M;i++){ cout << ans[i] << '\n'; } return 0; }