AT_abc469_c [ABC469C] Cantrip

Description

`o` と `x` からなる長さ $ N $ の文字列 $ S $ が与えられます。 $ N $ 個の袋が一列に並んでいて、各袋にはお菓子が $ 1 $ 個ずつ入っています。 $ i $ 番目の袋には、 $ S $ の $ i $ 文字目が `o` ならば「当たり」と書かれており、`x` ならば「はずれ」と書かれています。 $ k=1,2,\dots,N $ について以下の問題を解いてください。 > 高橋君は列の先頭から $ k $ 個の袋を受け取り、入っているお菓子を食べ、袋は持っておきます。 > その後、以下の行動を可能な限り繰り返します。 > > - 高橋君が持っている「当たり」と書かれた袋を $ 1 $ 個捨て、列の先頭の袋を受け取り、中のお菓子を食べてその袋を持っておく。ただし、列にまだ袋が残っていて、かつ「当たり」と書かれた袋を持っている場合にしか行動はできない。 > > 高橋君が食べることのできるお菓子の個数を求めてください。 > 袋を受け取った場合、その袋は列から取り除かれることに注意してください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ S $

Output Format

答えを合計 $ N $ 行で出力せよ。 $ l $ 行目には、 $ k=l $ のときの答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 $ k=1 $ のとき、受け取った袋には「当たり」と書かれています。 それを捨てて受け取った袋には「はずれ」と書かれており、それ以上の行動はできません。 ### Constraints - $ 1 \leq N \leq 8 \times 10^5 $ - $ N $ は整数 - $ S $ は `o` と `x` からなる長さ $ N $ の文字列