AT_s8pc_2_e 部分文字列

Description

[problemUrl]: https://atcoder.jp/contests/s8pc-2/tasks/s8pc_2_e $ square1001 $「$ E869120 $は全て文字の$ character $が違うが、$ square1001 $は文字の$ character $が一致するものが$ 2 $個もある!」 $ E869120 $「ということは、部分文字列の種類数も違うのでは…」 $ square1001 $「たとえば$ 1001 $では、$ 2 $文字目だけの$ '0' $と$ 3 $文字目だけの$ '0' $が重複しているのではないか!($ '1' $もそうです)」 ということで、今回は文字列Sの部分文字列を全て列挙し、文字列の重複を$ 1 $つにまとめて数えたときのの文字数の合計を求めてください。 例えば、$ "aba" $のとき、{$ "a","b","a","ab","ba","aba" $}の$ 6 $通りが考えられますが、$ "a" $は重複しているので、 部分文字列としては$ 5 $種類が考えられます。 {$ "a","b","ab","ba","aba" $}の合計$ 1+1+2+2+3=\ 9 $文字となります。 注意:答えは$ 32 $ビット整数型に収まらない可能性があります。 - $ a,\ b,\ c,\ ab,\ bc,\ abc $ が $ abc $ の部分文字列であり, 合計は $ 10 $ 文字である。 - 重複があることに注意してください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ S $ - $ 1 $ 行目には, 調べる文字列$ S $ が与えられる。

Output Format

出力は以下の形式で標準出力に従うこと。 - 部分文字列として考えられる文字列$ ( $重複は$ 1 $つにまとめて数える$ ) $の合計の長さを$ 1 $行で出力してください。 - ただし、答えは$ 32 $ビット整数型に収まらない可能性があります。

Explanation/Hint

### 制約 - $ 1 $ ≦ $ |S| $ ≦ $ 100,000 $ - 含まれる文字の種類はalphabetの小文字だけ ### 小課題 小課題 $ 1 $ \[ $ 15 $ 点 \] - $ 1≦|S|≦100 $ を満たす。 小課題 $ 2 $ \[ $ 35 $ 点 \] - $ 1≦|S|≦2,000 $ を満たす。 小課題 $ 3 $ \[ $ 50 $ 点 \] - 追加の制約はない。