#abc295d. [abc295_d] Three Days Ago

[abc295_d] Three Days Ago

問題文

20230322 は並べ替えると 02320232 となり、これは 023222 度繰り返しています。
このように、数字のみからなる文字列であって、適切に文字を並び替える (そのままでもよい) ことによって同じ列を 22 度繰り返すようにできるものを 嬉しい列 と呼びます。
数字のみからなる文字列 SS が与えられるので、以下の条件を全て満たす整数の組 (l,r)(l,r) はいくつあるか求めてください。

  • 1lellerleS1 \\le l \\le r \\le |S| ( S|S|SS の長さ)
  • SSll 文字目から rr 文字目までの (連続する) 部分文字列は嬉しい列である。

制約

  • SS は数字のみからなる長さ 11 以上 5times1055 \\times 10^5 以下の文字列

入力

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

SS

出力

答えを整数として出力せよ。


入力例 1

20230322

出力例 1

4

S=S= 20230322 です。
条件を満たす整数組 (l,r)(l,r)(1,6),(1,8),(2,7),(7,8)(1,6),(1,8),(2,7),(7,8)44 つです。


入力例 2

0112223333444445555556666666777777778888888889999999999

出力例 2

185

SS の先頭が 0 である場合もあります。


入力例 3

3141592653589793238462643383279502884197169399375105820974944

出力例 3

9