[ARC060F] 最良表現

题意翻译

设$x$是一个长度至少为1的字符串,我们称$x$是好的,当且仅当对于任意字符串$y$和任意整数$k(k≥2)$,由$y$复制$k$次并连接得到的字符串均与$x$不同。 举个例子,`a`,`bbc`和`cdcdc`是好串,然而`aa`,`bbbb`和`cdcdcd`不是。 设$w$是一个长度至少为1的字符串,对于一个由$m$个元素组成的序列 $F=(f_1,f_2,...,f_m)$,我们称$F$为$w$的一个“亮眼表现”当且仅当下面的条件同时被满足: * 对于任意$i(1≤i≤m)$,元素$f_i$是一个好串。 * 把$f_1,f_2,...,f_m$按顺序连接起来得到的字符串就是$w$。 举个例子,当$w$='`aabb`'时,$w$有五个亮眼表现: * (`aabb`) * (`a`,`abb`) * (`aab`,`b`) * (`a`,`ab`,`b`) * (`a`,`a`,`b`,`b`) 在$w$的所有亮眼表现中,元素数量最少的那个(些)亮眼表现被称为$w$的“全场最佳”。举个例子,当$w$='`aabb`'时,$w$的全场最佳只有一个:(`aabb`)。 给你一个字符串$w$,请计算: * $w$的一个全场最佳所含的元素数量 * $w$有多少个全场最佳(对1e9+7取模) (数据保证$w$一定存在亮眼表现)

题目描述

[problemUrl]: https://atcoder.jp/contests/arc060/tasks/arc060_d $ x $ を長さ $ 1 $ 以上の文字列とします。 いかなる文字列 $ y $ および $ 2 $ 以上の整数 $ k $ に対しても、 $ y $ を $ k $ 回繰り返した文字列が $ x $ と異なるならば、 $ x $ を*良い文字列*であると呼ぶことにします。 例えば、`a`, `bbc`, `cdcdc` などは良い文字列ですが、 `aa`, `bbbb`, `cdcdcd` などは良い文字列ではありません。 $ w $ を長さ $ 1 $ 以上の文字列とします。 $ m $ 項からなる列 $ F=(\,f_1,\,f_2,\,...,\,f_m) $ について、 次の条件がともに満たされるならば、$ F $ を $ w $ の*良い表現*と呼ぶことにします。 - すべての $ i\ \,\ (1\ \leq\ i\ \leq\ m) $ について、$ f_i $ は良い文字列である。 - $ f_1,\,f_2,\,...,\,f_m $ をこの順に連結すると $ w $ になる。 例えば、$ w= $`aabb` の場合、$ w $ の良い表現は次の $ 5 $ つとなります。 - $ ( $`aabb`$ ) $ - $ ( $`a`$ , $`abb`$ ) $ - $ ( $`aab`$ , $`b`$ ) $ - $ ( $`a`$ , $`ab`$ , $`b`$ ) $ - $ ( $`a`$ , $`a`$ , $`b`$ , $`b`$ ) $ 文字列 $ w $ の良い表現のうち、項数 $ m $ が最小であるものを、 $ w $ の*最良表現*と呼ぶことにします。 例えば、$ w= $`aabb` の最良表現は $ ( $`aabb`$ ) $ の $ 1 $ つのみとなります。 文字列 $ w $ が与えられます。次の $ 2 $ つを求めてください。 - $ w $ の最良表現の項数 - $ w $ の最良表現の総数を $ 1000000007\ \,\ (=10^9+7) $ で割った余り なお、$ w $ に対し、良い表現が存在することは保証されます。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ w $

输出格式


出力は $ 2 $ 行からなる。 - $ 1 $ 行目に、$ w $ の最良表現の項数を出力せよ。 - $ 2 $ 行目に、$ w $ の最良表現の総数を $ 1000000007 $ で割った余りを出力せよ。

输入输出样例

输入样例 #1

aab

输出样例 #1

1
1

输入样例 #2

bcbc

输出样例 #2

2
3

输入样例 #3

ddd

输出样例 #3

3
1

说明

### 制約 - $ 1\ \leq\ |w|\ \leq\ 500000\ \,\ (=5\ \times\ 10^5) $ - $ w $ は英小文字 (`a`-`z`) のみからなる文字列である ### 部分点 - $ 1\ \leq\ |w|\ \leq\ 4000 $ を満たすデータセットに正解した場合は、$ 400 $ 点が与えられる。 ### Sample Explanation 2 \- この入力に対しては、項数が $ 2 $ の最良表現が以下の $ 3 $ 通り存在します。 - $ ( $`b`$ , $`cbc`$ ) $ - $ ( $`bc`$ , $`bc`$ ) $ - $ ( $`bcb`$ , $`c`$ ) $