#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll nx = 3e5+5;
const ll LIM = 1e6;
ll n, k;
ll h[nx], cnt[LIM + 5];
vector<ll> mod[LIM + 5];
void sieve()
{
for(ll i=k+1;i<=LIM;i++) {
for(ll j=k;j<=LIM;j+=i) {
mod[j].push_back({i});
}
}
}
int main()
{
cin.tie(NULL)->sync_with_stdio(false);
cin >> n >> k;
for(ll i=1;i<=n;i++) cin >> h[i];
for(ll i=1;i<=n;i++) cnt[h[i]]++;
sieve();
for(ll i=1;i<=n;i++) {
ll sum = 0;
// cout << h[i] << " : ";
for(auto& m : mod[h[i]]) {
// cout << m << ' ';
sum += cnt[m];
}
if(k == 0) sum -= cnt[h[i]];
// cout << '\n' << "sum : ";
cout << sum << ' ';
// cout << '\n';
}
return 0;
}