#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll nx = 3e5+5;
const ll LIM = 1e2;
ll n, k;
ll h[nx], cnt[nx];
vector<ll> mod[nx];
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];
}
// cout << '\n' << "sum : ";
cout << sum << ' ';
// cout << '\n';
}
// for(ll i=1;i<=LIM;i++) {
// cout << "i : " << i << '\t';
// for(auto it : mod[i]) {
// cout << it << ' ';
// }
// cout << '\n';
// }
return 0;
}