#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
const int N = 2e5 + 5;
int n;
int a[N];
int f[18][N]; // f[k][i] = min của đoạn bắt đầu từ i và có độ dài 2^k
void precompute() { // O(n * log2(n))
for (int i = 1; i <= n; i++) f[0][i] = a[i];
for (int k = 1; (1 << k) <= n; k++) {
for (int i = 1; i + (1 << k) - 1 <= n; i++) {
f[k][i] = min(f[k - 1][i], f[k - 1][i + (1 << (k - 1))]);
}
}
}
// min của đoạn [l, r]
int getMin(int l, int r) { // O(1)
int k = log2(r - l + 1);
return min(f[k][l], f[k][r - (1 << k) + 1]);
}
// tìm phần tử gần nhất bên trái < a[i]
int getLeftSmaller(int i) { // O(log2(n))
int l = 1, r = i - 1, ans = 0;
while (l <= r) {
int mid = (l + r) >> 1;
if (getMin(mid, i) < a[i]) {
ans = mid;
l = mid + 1;
}
else {
r = mid - 1;
}
}
return ans;
}
int main() {
ios::sync_with_stdio(0); cin.tie(0);
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
precompute();
for (int i = 1; i <= n; i++) {
cout << getLeftSmaller(i) << ' ';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAp1c2luZyBuYW1lc3BhY2Ugc3RkOyAgCgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsgIAp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IGlpOyAgCgpjb25zdCBpbnQgSU5GID0gMWU5OyAgCmNvbnN0IGxsIExJTkYgPSAxZTE4OyAgCgpjb25zdCBpbnQgTiA9IDJlNSArIDU7IAoKaW50IG47IAppbnQgYVtOXTsgCmludCBmWzE4XVtOXTsgLy8gZltrXVtpXSA9IG1pbiBj4bunYSDEkW/huqFuIGLhuq90IMSR4bqndSB04burIGkgdsOgIGPDsyDEkeG7mSBkw6BpIDJeawoKdm9pZCBwcmVjb21wdXRlKCkgeyAvLyBPKG4gKiBsb2cyKG4pKQoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBmWzBdW2ldID0gYVtpXTsgIAoKCWZvciAoaW50IGsgPSAxOyAoMSA8PCBrKSA8PSBuOyBrKyspIHsKCQlmb3IgKGludCBpID0gMTsgaSArICgxIDw8IGspIC0gMSA8PSBuOyBpKyspIHsKCQkJZltrXVtpXSA9IG1pbihmW2sgLSAxXVtpXSwgZltrIC0gMV1baSArICgxIDw8IChrIC0gMSkpXSk7IAoJCX0KCX0KfQoKLy8gbWluIGPhu6dhIMSRb+G6oW4gW2wsIHJdCmludCBnZXRNaW4oaW50IGwsIGludCByKSB7IC8vIE8oMSkKCWludCBrID0gbG9nMihyIC0gbCArIDEpOyAKCXJldHVybiBtaW4oZltrXVtsXSwgZltrXVtyIC0gKDEgPDwgaykgKyAxXSk7IAp9CgovLyB0w6xtIHBo4bqnbiB04butIGfhuqduIG5o4bqldCBiw6puIHRyw6FpIDwgYVtpXQppbnQgZ2V0TGVmdFNtYWxsZXIoaW50IGkpIHsgLy8gTyhsb2cyKG4pKQoJaW50IGwgPSAxLCByID0gaSAtIDEsIGFucyA9IDA7ICAKCXdoaWxlIChsIDw9IHIpIHsKCQlpbnQgbWlkID0gKGwgKyByKSA+PiAxOyAKCgkJaWYgKGdldE1pbihtaWQsIGkpIDwgYVtpXSkgewoJCQlhbnMgPSBtaWQ7IAoJCQlsID0gbWlkICsgMTsgCgkJfQoJCWVsc2UgewoJCQlyID0gbWlkIC0gMTsgCgkJfQoJfQoJcmV0dXJuIGFuczsgCn0KCmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7ICAJCgljaW4gPj4gbjsKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgY2luID4+IGFbaV07IAoKCXByZWNvbXB1dGUoKTsgIAoKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCWNvdXQgPDwgZ2V0TGVmdFNtYWxsZXIoaSkgPDwgJyAnOyAKCX0KfQ==