#AGC019B. [AGC019B] Reverse and Compare

[AGC019B] Reverse and Compare

题目描述

英小文字からなる文字列 A = A1 A2 ... An A\ =\ A_1\ A_2\ ...\ A_n があります。

あなたは 1  i  j  n 1\ \leq\ i\ \leq\ j\ \leq\ n であるような任意の二つの添字 i, j i,\ j を選び、A A のうち部分文字列 Ai Ai+1 ... Aj A_i\ A_{i+1}\ ...\ A_j を反転することができます。

この操作は一回まで行うことができます。

これによって得られる文字列は何通りあるでしょうか?

输入格式

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

A A

输出格式

A A のうち任意の部分文字列を一回まで反転することによって、何通りの文字列が得られるか出力せよ。

题目大意

给定一个字符串 AA,可以选择区间 [i,j][i,j] 翻转一次,求能得到多少本质不同的字符串。

A2×105|A|\leq 2\times 10^5

aatt
5
xxxxxxxxxx
1
abracadabra
44

提示

制約

  • 1  A  200,000 1\ \leq\ |A|\ \leq\ 200,000
  • A A は英小文字からなる。

Sample Explanation 1

得られる文字列は aatt(何もしない)、atatA[2..3] A[2..3] を反転)、attaA[2..4] A[2..4] を反転)、ttaaA[1..4] A[1..4] を反転)、taatA[1..3] A[1..3] を反転)です。

Sample Explanation 2

どの部分文字列を反転しても、結果は xxxxxxxxxx です。