K-Inversions

You are given a string $s$ consisting only of upper case
letters **A** and **B**. For an
integer $k$, a pair of
indices $i$ and
$j$ ($1 \le i<j \le n$) is called a
$k$-inversion if and only
if $s[i] = \textbf{B}$,
$s[j] = \textbf{A}$ and
$j-i = k$.

Consider the string **BABA**. It has two
$1$-inversions and one
$3$-inversion. It has no
$2$-inversions.

For each $k$ between $1$ and $n-1$ (inclusive), print the number of $k$-inversions in the string $s$.

Each input will consist of a single test case. Note that
your program may be run multiple times on different inputs. The
input will consist of a single line with a string $s$, which consists of only upper case
**A**s and **B**s. The string
$s$ will be between
$1$ and $1\, 000\, 000$ characters long. There
will be no spaces.

Output $n-1$ lines, each with a single integer. The first line’s integer should be the number of $1$-inversions, the second should be the number of $2$-inversions, and so on.

Sample Input 1 | Sample Output 1 |
---|---|

BABA |
2 0 1 |

Sample Input 2 | Sample Output 2 |
---|---|

BBBBBAAAAA |
1 2 3 4 5 4 3 2 1 |