atcoder#ARC065D. [ARC065F] シャッフル
[ARC065F] シャッフル
配点 : 点
問題文
長さ の 0、1 からなる文字列 があります。あなたは、以下の操作を各 に対し の昇順に行います。
- のうち、左から 文字目から 文字目までの部分文字列を自由な順番で並び替える。
ただし、 は非減少です。
回の操作後の としてありうるものの数を で割った余りを求めてください。
制約
- は
0,1からなる。 - の長さは と等しい。
入力
入力は以下の形式で標準入力から与えられる。
:
出力
回の操作後の としてありうるものの数を で割った余りを出力してください。
5 2
01001
2 4
3 5
6
回目の操作後の としてありうるものは、 01001, 00101, 00011 の つです。
回目の操作後の としてありうるものは、 01100, 01010, 01001, 00011, 00101, 00110 の つです。
9 3
110111110
1 4
4 6
6 9
26
11 6
00101000110
2 4
2 3
4 7
5 6
6 10
10 11
143