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 $ の文字列