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