AT_abc430_f [ABC430F] Back and Forth Filling

Description

整数 $ N $ と長さ $ N-1 $ の `L`, `R` からなる文字列 $ S $ が与えられます。 横一列に並んだ $ N $ 個のマス目に、以下の条件を全て満たすように整数を書き込むことを考えます。 - 全てのマスに整数が $ 1 $ つ書かれている。 - 整数 $ 1,2,\dots,N $ が書かれているマスが $ 1 $ つずつ存在する。 - $ S $ の $ i $ 文字目 が `L` であるとき、 $ i+1 $ は $ i $ より左に書き込まれている。 - $ S $ の $ i $ 文字目 が `R` であるとき、 $ i+1 $ は $ i $ より右に書き込まれている。 $ C_i $ を「左から $ i $ マス目に書き込まれる整数としてありうるものの個数」とします。 $ C_1,C_2,\dots,C_N $ を求めてください。 $ T $ 個のテストケースが与えられるので、それぞれについて答えを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_T $ 各テストケースは以下の形式で与えられる。 > $ N $ $ S $

Output Format

$ T $ 行出力せよ。 $ i $ 行目には $ i $ 番目のテストケースについて、答えを以下の形式で出力せよ。 > $ C_1 $ $ C_2 $ $ \dots $ $ C_N $

Explanation/Hint

### Sample Explanation 1 この入力には $ 5 $ 個のテストケースが含まれます。 - $ 1 $ 番目のテストケースにおいて、マス目の埋め方として考えられるものは以下の $ 11 $ 個です。 - $ (1,4,3,2,5) $ - $ (1,4,3,5,2) $ - $ (1,4,5,3,2) $ - $ (4,1,3,2,5) $ - $ (4,1,3,5,2) $ - $ (4,1,5,3,2) $ - $ (4,3,1,2,5) $ - $ (4,3,1,5,2) $ - $ (4,3,5,1,2) $ - $ (4,5,1,3,2) $ - $ (4,5,3,1,2) $ - ここから、 $ C_i $ の各値は次の通りに求まります。 - 左から $ 1 $ マス目に書き込まれる整数としてありうるものは $ 1,4 $ の $ 2 $ 個です。 - 左から $ 2 $ マス目に書き込まれる整数としてありうるものは $ 1,3,4,5 $ の $ 4 $ 個です。 - 左から $ 3 $ マス目に書き込まれる整数としてありうるものは $ 1,3,5 $ の $ 3 $ 個です。 - 左から $ 4 $ マス目に書き込まれる整数としてありうるものは $ 1,2,3,5 $ の $ 4 $ 個です。 - 左から $ 5 $ マス目に書き込まれる整数としてありうるものは $ 2,5 $ の $ 2 $ 個です。 - $ 2 $ 番目のテストケースにおいて、マス目の埋め方として考えられるものは以下の $ 2 $ 通りです。 - $ (1,3,2) $ - $ (3,1,2) $ - $ 3 $ 番目のテストケースにおいて、マス目の埋め方として考えられるものは以下の $ 1 $ 通りです。 - $ (2,1) $ - $ 4 $ 番目のテストケースにおいて、マス目の埋め方として考えられるものは以下の $ 1 $ 通りです。 - $ (1,2,3) $ ### Constraints - $ 1 \le T \le 20000 $ - $ 2 \le N \le 3 \times 10^5 $ - $ S $ は長さ $ N-1 $ の `L`, `R` からなる文字列 - ひとつの入力について、 $ N $ の総和は $ 3 \times 10^5 $ を超えない