В городе П для подготовки к празднику решили украсить аллею. Для этого наняли две бригады, одна отвечает за освещение аллеи, а вторая "— за озеленение аллеи, закупку саженцев сосны.
Аллею можно представить как прямую, и её решили украсить следующим образом — начать с сосны, чередовать лампы и сосны. В итоге на аллее будет высажено \(n + 1\) сосен и установлено \(n\) ламп.
Лампы поставили почти сразу же, причём двух типов — <<A
>> и <<B
>>. Лампы типа <<B
>> светят всегда белым светом, а цвет лампы типа <<A
>> зависит от её окружения. Если дерево, которое стоит слева от лампы, выше, чем дерево, которое стоит справа от лампы, то она загорается красным цветом, иначе синим.
Когда наконец-то доставили саженцы сосен, оказалось, что высоты всех саженцев попарно различны и принимают значения от \(1\) до \(n + 1\). Решено было разместить сосны так, чтобы количество красных и количество синих ламп были как можно ближе друг к другу.
Помогите ответственным за деревья разместить все \(n + 1\) саженцев так, чтобы разница между количеством красных и синих ламп была минимальна. Формально, если после высадки сосен будет \(r\) красных и \(b\) синих ламп, необходимо минимизировать величину \(|r-b|\).
Формат входных данных
В первой строке вводится одно единственное число \(n\) — количество ламп (\(1 \leq n \leq 2 \cdot 10^5\)). Во второй строке вводится \(n\) символов, \(i\)-й из которых равен <<A
>> или <<B
>> — тип \(i\)-й лампы.
Формат выходных данных
Выведите \(n + 1\) различных чисел от \(1\) до \(n + 1\) — высоты сосен при оптимальном размещении. Если оптимальных ответов несколько, можно вывести любой из них.
Иллюстрация ко второму примеру
Для наглядности, на иллюстрации красные лампы имеют формулу пятиугольника, а синие имеют форму звезды.
Тогда \(r = 1\), \(b = 1\), \(|r - b| = 0\) и это размещение будет одним из оптимальных.
Примеры
№ | Входные данные | Выходные данные |
1
|
2
AA
|
1 3 2
|
2
|
4
BABA
|
1 2 3 5 4
|