编程题
### 问题描述
一个序列 $[b_1, b_2, ..., b_m]$ 若对于 $2 \le i \le m$ 满足 $b_i \le b_1$ ,则称为好序列。
现在给定 $[a_1, a_2, ..., a_n]$ ,求对于该序列的每一个后缀 $[a_k, a_{k+1}, ..., a_n]$ $(1 \le k \le n)$ 最少能划分成多少个好序列。
### 输入格式
第一行包含一个整数 $n$ ,表示数组 $a$ 的长度。
第二行包含 $n$ 个整数 $a_1, a_2, a_3, ..., a_n$ ,两两之间以一个空格分隔。
### 输出格式
输出 $n$ 行,第 $i$ 行输出 $k = i$ 时的答案。
### 样例输入
```text
6
1 1 4 5 1 4
```
### 样例输出
```text
3
3
2
1
2
1
```
### 样例解释
当 $k = 1$ 时, 可划分为: $[[1, 1], [4], [5, 1, 4]]$ 。
当 $k = 2$ 时, 可划分为: $[[1], [4], [5, 1, 4]]$ 。
当 $k = 3$ 时, 可划分为: $[[4], [5, 1, 4]]$ 。
当 $k = 4$ 时, 可划分为: $[[5, 1, 4]]$ 。
当 $k = 5$ 时, 可划分为: $[[1], [4]]$ 。
当 $k = 6$ 时, 可划分为: $[[4]]$ 。
### 评测数据规模
对于所有评测数据, $1 \le n \le 10^6$ , $1\le a_i \le 10^9$ 。