#ABC468D. Pre-Palindrome

Pre-Palindrome

题目描述

满足以下条件的由英文小写字母组成的字符串称为好字符串

  • 通过改写不超过 1 个字符可以使其变为回文。

例如 aiwaiabcdcza 是好字符串,但 abcdatcoder 不是好字符串。特别地,回文本身也是好字符串。

给定一个由英文小写字母组成的字符串 SS

SS 的非空子串(连续子序列)中是好字符串的个数。

注意:两个子串如果在 SS 中取出的位置不同,即使作为字符串相同也视为不同,需要分别计数。

子串是什么:SS子串是指从 SS 的开头删除 00 个以上字符、从末尾删除 00 个以上字符后得到的字符串。
例如,ababc 的子串,但 ac 不是 abc 的子串。

输入格式

输入按以下格式从标准输入给出。

SS

输出格式

输出答案。

输入输出样例 #1

输入 #1

ababa

输出 #1

13

输入输出样例 #2

输入 #2

atcoder

输出 #2

18

输入输出样例 #3

输入 #3

abccbacbacb

输出 #3

40

说明/提示

样例解释 1

SS 中从第 22 个字符到第 33 个字符的 ba、从第 11 个字符到第 55 个字符的 ababa 等都是好字符串。

好字符串共有 1313 个,在总共 1515 个子串中,除了从第 11 个字符到第 44 个字符的 abab 和从第 22 个字符到第 55 个字符的 baba 以外的 1313 个都是。

约束条件

  • SS 是由英文小写字母组成的长度在 11 以上 10410^4 以下的字符串。