编程题
### 问题描述
小蓝和他的朋友在玩游戏。在游戏中,有 $n$ 个玩家,第 $i$ 个玩家的血量是 $i$。
环境的类型表示为 $0$ 或 $1$。当两个玩家在类型是 $0$ 的环境中战斗时,其中血量较低的玩家总是获胜;在类型是 $1$ 的环境中战斗时,其中血量较高的玩家总是获胜。环境的类型构成一个长度为 $n−1$ 的字符串 $s$。
如果有 $x$ 个玩家参与游戏,那么总共会有 $x−1$ 次战斗,$x−1$ 个环境的类型将是 $s$ 的前 $x−1$ 个字符。当比赛中剩下的玩家不止一个时,选择剩下的任何两个玩家进行战斗。输掉比赛的选手将被淘汰出局。第 $i$ 场战斗的环境类型是 $s$i。
对于从 $2$ $\sim$ $n$ 的每一个 $x$,问:如果所有血量不超过 $x$ 的玩家都参加比赛,有多少玩家有机会获胜?
### 输入格式
第一行包含一个的整数 $n$,表示玩家的数量。
第二行包含一个长度为 $n−1$ 的二进制字符串 $s$。
### 输出格式
输出仅一行,包含 $n−1$ 个整数,表示对于从 $2$ $\sim$ $n$ 的每个 $x$,输出有机会获胜的玩家数量。
### 样例输入
```text
4
001
```
### 样例输出
```text
1 1 3
```
### 说明
在样例中,对于 $x=2$ 和 $x=3$,只有温度值为 $1$ 的玩家可以成为赢家。
对于 $x=4$,温度值为 $2,3,4$ 的玩家可以成为赢家。
### 评测数据规模
对于 $40$% 的评测数据,$1\leq n \leq 3\times 10^3$。
对于 $100$% 的评测数据,$1\leq n \leq 3\times 10^5$。