B. Очередь
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

В очереди в аэропорту стоят n моржей. Они пронумерованы начиная с конца очереди: морж с номером 1 стоит в конце очереди, а морж с номером n — в начале. Морж с номером i имеет возраст ai.

Морж с номером i становится недовольным, если впереди него стоит более молодой морж, то есть существует такое j (i < j), что ai > aj. Недовольство i-го моржа равно количеству моржей между ним и самым удаленным моржом впереди, который моложе i-го. То есть чем дальше от него стоит этот молодой морж, тем сильнее недовольство.

Менеджер аэропорта попросил вас посчитать для каждого из n моржей в очереди его недовольство.

Входные данные

В первой строке записано целое число n (2 ≤ n ≤ 105) — количество моржей в очереди. Во второй строке записаны целые числа ai (1 ≤ ai ≤ 109).

Обратите внимание, что некоторые моржи могут иметь одинаковый возраст, но для возникновения недовольства необходимо, чтобы тот морж, что ближе к началу, был строго моложе другого.

Выходные данные

Выведите n чисел: если i-ый морж всем доволен, выведите «-1» (без кавычек). Иначе выведите недовольство i-го моржа: количество моржей, которые стоят между ним и самым удаленным моржом впереди него, который более молод.

Примеры
Входные данные
6
10 8 5 3 50 45
Выходные данные
2 1 0 -1 0 -1 
Входные данные
7
10 4 6 3 2 8 15
Выходные данные
4 2 1 0 -1 -1 -1 
Входные данные
5
10 3 1 10 11
Выходные данные
1 0 -1 -1 -1