AT_agc019_b [AGC019B] Reverse and Compare
Description
[problemUrl]: https://atcoder.jp/contests/agc019/tasks/agc019_b
英小文字からなる文字列 $ A\ =\ A_1\ A_2\ ...\ A_n $ があります。
あなたは $ 1\ \leq\ i\ \leq\ j\ \leq\ n $ であるような任意の二つの添字 $ i,\ j $ を選び、$ A $ のうち部分文字列 $ A_i\ A_{i+1}\ ...\ A_j $ を反転することができます。
この操作は一回まで行うことができます。
これによって得られる文字列は何通りあるでしょうか?
Input Format
入力は以下の形式で標準入力から与えられる。
> $ A $
Output Format
$ A $ のうち任意の部分文字列を一回まで反転することによって、何通りの文字列が得られるか出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ |A|\ \leq\ 200,000 $
- $ A $ は英小文字からなる。
### Sample Explanation 1
得られる文字列は `aatt`(何もしない)、`atat`($ A[2..3] $ を反転)、`atta`($ A[2..4] $ を反転)、`ttaa`($ A[1..4] $ を反転)、`taat`($ A[1..3] $ を反転)です。
### Sample Explanation 2
どの部分文字列を反転しても、結果は `xxxxxxxxxx` です。