AT_agc053_a [AGC053A] >< again

Description

[problemUrl]: https://atcoder.jp/contests/agc053/tasks/agc053_a 長さ $ N $ の文字列 $ S $ があります。$ S $ の各文字は `` です。 要素数 $ N+1 $ の非負整数列 $ X_0,X_1,\ldots,X_N $ は、すべての $ 1\ \leq\ i\ \leq\ N $ について次の条件を満たすとき *良い非負整数列* と呼ばれます。 - $ S_i $ が `\ X_i $ 良い非負整数列 $ A $ が与えられるので、この数列をできるだけ多くの良い非負整数列に分解してください。 つまり、正の整数 $ k $ および $ k $ 個の良い非負整数列 $ B_1,B_2,\ldots,\ B_k $ であって、次の条件を満たすもののうち、 $ k $ が最大のものを $ 1 $ つ求めてください。 - すべての $ 0\ \leq\ i\ \leq\ N $ について $ B_1,\ldots,B_k $ の $ i $ 項目の値の合計は $ A_i $ と等しい。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ S $ $ A_0 $ $ A_1 $ $ \cdots $ $ A_N $

Output Format

以下の形式で、標準出力に出力せよ。 > $ k $ $ B_{1,0} $ $ B_{1,1} $ $ \cdots $ $ B_{1,N} $ $ : $ $ B_{k,0} $ $ B_{k,1} $ $ \cdots $ $ B_{k,N} $ ここで、$ B_{i,j} $ は良い非負整数列 $ B_i $ の $ j $ 項目の値を表している。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 100 $ - $ 0\ \leq\ A_i\ \leq\ 10^4 $ - $ S $ は `` からなる長さ $ N $ の文字列である。 - $ A $ は良い非負整数列である。特に、要素数は $ N+1 $ である。