#include <bits/stdc++.h>
using namespace std;
#define int long long int
#define pb emplace_back
#define mp make_pair
#define fi first
#define se second
#define all(v) v.begin(), v.end()
set<int> fun(int n)
{
set<int> v;
for (int i = 1; i <= sqrt(n); i++)
{
if (n % i == 0)
{
if (n / i == i)
v.insert(i);
else
{
v.insert(i);
v.insert(n / i);
}
}
}
return v;
}
signed main()
{
int t = 1;
while (t--)
{
int n, i, x, y, j, k;
cin >> n;
map<int, int> mm;
vector<int> a(n, 0);
vector<pair<int, int>> v;
for (i = 0; i < n; i++)
{
cin >> a[i];
v.pb(mp(a[i], i));
mm[a[i]]++;
}
sort(all(v));
int mx = 1e5 + 9;
int h[mx] = {0};
int vis[mx] = {0};
for (i = n - 1; i >= 0; i--)
{
if (vis[v[i].fi] == 0)
{
vis[v[i].fi] = 1;
x = v[i].fi;
set<int> p = fun(x);
for (int yy : p)
{
if (yy != x)
{
h[yy] += mm[x] + min(mm[yy] - 1, (int)0 );
h[x] += mm[yy];
}
}
h[x] += mm[x] - 1;
}
}
for (i = 0; i < n; i++)
{
cout << h[a[i]] << " ";
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZyBpbnQKI2RlZmluZSBwYiBlbXBsYWNlX2JhY2sKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGFsbCh2KSB2LmJlZ2luKCksIHYuZW5kKCkKCnNldDxpbnQ+IGZ1bihpbnQgbikKewogICAgIHNldDxpbnQ+IHY7CiAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gc3FydChuKTsgaSsrKQogICAgIHsKICAgICAgICAgIGlmIChuICUgaSA9PSAwKQogICAgICAgICAgewogICAgICAgICAgICAgICBpZiAobiAvIGkgPT0gaSkKICAgICAgICAgICAgICAgICAgICB2Lmluc2VydChpKTsKCiAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHYuaW5zZXJ0KGkpOwogICAgICAgICAgICAgICAgICAgIHYuaW5zZXJ0KG4gLyBpKTsKICAgICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgIH0KCiAgICAgcmV0dXJuIHY7Cn0KCnNpZ25lZCBtYWluKCkKewoKICAgICBpbnQgdCA9IDE7CgogICAgIHdoaWxlICh0LS0pCiAgICAgewoKICAgICAgICAgIGludCBuLCBpLCB4LCB5LCBqLCBrOwoKICAgICAgICAgIGNpbiA+PiBuOwoKICAgICAgICAgIG1hcDxpbnQsIGludD4gbW07CgogICAgICAgICAgdmVjdG9yPGludD4gYShuLCAwKTsKICAgICAgICAgIHZlY3RvcjxwYWlyPGludCwgaW50Pj4gdjsKCiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgICAgewogICAgICAgICAgICAgICBjaW4gPj4gYVtpXTsKICAgICAgICAgICAgICAgdi5wYihtcChhW2ldLCBpKSk7CiAgICAgICAgICAgICAgIG1tW2FbaV1dKys7CiAgICAgICAgICB9CgogICAgICAgICAgc29ydChhbGwodikpOwogICAgICAgICAgaW50IG14ID0gMWU1ICsgOTsKICAgICAgICAgIGludCBoW214XSA9IHswfTsKICAgICAgICAgIGludCB2aXNbbXhdID0gezB9OwoKICAgICAgICAgIGZvciAoaSA9IG4gLSAxOyBpID49IDA7IGktLSkKICAgICAgICAgIHsKICAgICAgICAgICAgICAgaWYgKHZpc1t2W2ldLmZpXSA9PSAwKQogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdmlzW3ZbaV0uZmldID0gMTsKICAgICAgICAgICAgICAgICAgICB4ID0gdltpXS5maTsKCiAgICAgICAgICAgICAgICAgICAgc2V0PGludD4gcCA9IGZ1bih4KTsKCiAgICAgICAgICAgICAgICAgICAgZm9yIChpbnQgeXkgOiBwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eSAhPSB4KQogICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoW3l5XSArPSBtbVt4XSArIG1pbihtbVt5eV0gLSAxLCAoaW50KTAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaFt4XSArPSBtbVt5eV07CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGhbeF0gKz0gbW1beF0gLSAxOwogICAgICAgICAgICAgICB9CiAgICAgICAgICB9CgogICAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykKICAgICAgICAgIHsKICAgICAgICAgICAgICAgY291dCA8PCBoW2FbaV1dIDw8ICIgIjsKICAgICAgICAgIH0KICAgICB9Cn0=