#arc060d. [arc060_d]Best Representation
[arc060_d]Best Representation
問題文
を長さ 以上の文字列とします。 いかなる文字列 および 以上の整数 に対しても、 を 回繰り返した文字列が と異なるならば、 を_良い文字列_であると呼ぶことにします。 例えば、a
, bbc
, cdcdc
などは良い文字列ですが、 aa
, bbbb
, cdcdcd
などは良い文字列ではありません。
を長さ 以上の文字列とします。 項からなる列 について、 次の条件がともに満たされるならば、 を の_良い表現_と呼ぶことにします。
- すべての について、 は良い文字列である。
- をこの順に連結すると になる。
例えば、aabb
の場合、 の良い表現は次の つとなります。
aabb
a
abb
aab
b
a
ab
b
a
a
b
b
文字列 の良い表現のうち、項数 が最小であるものを、 の_最良表現_と呼ぶことにします。 例えば、aabb
の最良表現は aabb
の つのみとなります。
文字列 が与えられます。次の つを求めてください。
- の最良表現の項数
- の最良表現の総数を で割った余り
なお、 に対し、良い表現が存在することは保証されます。
制約
- は英小文字 (
a
-z
) のみからなる文字列である
部分点
- を満たすデータセットに正解した場合は、 点が与えられる。
入力
入力は以下の形式で標準入力から与えられる。
出力
出力は 行からなる。
- 行目に、 の最良表現の項数を出力せよ。
- 行目に、 の最良表現の総数を で割った余りを出力せよ。
入力例 1
aab
出力例 1
1
1
入力例 2
bcbc
出力例 2
2
3
- この入力に対しては、項数が の最良表現が以下の 通り存在します。
b
cbc
bc
bc
bcb
c
入力例 3
ddd
出力例 3
3
1