#arc0192. [arc019_2]こだわりの名前

[arc019_2]こだわりの名前

问题文

游戏已经进行到中盘,我刚刚得到了一艘出海的船。虽然我很想快点挑战新的地下城,但在此之前,必须给船取一个酷炫的名字。

由于我想尽快前进,所以船的名字可以使用默认的名字,只改变一个字母就好。但默认的名字实在太无聊了,所以我决定将其中的一个字母改变,确保名字不是回文。

顺便说一句,在这种情况下,编程竞赛题目中的角色似乎总是会提出奇怪的要求,比如“让名字成为回文”,这种要求真是莫名其妙。而我和普通的角色不同,我并没有奇怪的执着,所以我希望船的名字不是回文

那么,通过只改变默认名字的一个字母,有多少种方式可以产生非回文的名字呢?我们来写一个程序来验证一下。顺便说一句,船的名字只能用大写字母。

嗯?你问我“想要非回文的名字不是一种奇怪的执着吗”?说起来也是,确实是这样。或许我无法逃避成为编程竞赛角色的宿命。但如果像我这样的人通过拥有奇怪的执着让更多的人享受到编程竞赛的乐趣,那也是一件好事。


输入

输入数据从标准输入给出,格式如下:

AA

  • 11 行包含船的默认名字 AA
    • AA 是一个由大写字母构成的字符串,长度在 113×1053\times 10^5 之间。

输出

从默认名字中选择一个字母,并将该字母改成另一个大写字母,得到的非回文字符串的数量,以一个整数表示。

回文是指从前往后读和从后往前读都一样的字符串。例如,ANNAMADAMX 是回文,而 ABARC 则不是回文。

请注意,在输出的末尾要加上换行符。


示例1

ARC

示例1输出

73
  • 改变第一个字符 A,其它字符保持不变:
    • 改为 C 会使得字符串 CRC 成为回文。
    • 其它 2424 种选择(比如 BRCXRC)都不是回文。
  • 改变第二个字符 R,其它字符保持不变:
    • 无论选择哪个字符,都不会产生回文,所以有 2525 种选择。
  • 改变第三个字符 C,其它字符保持不变:
    • 改为 A 会使得字符串 ARA 成为回文。
    • 其它 2424 种选择都不是回文。

因此,总共有 24+25+24=7324 + 25 + 24 = 73 种选择。

请注意,仅考虑改变了一个字符的情况,即不计算没有改变的名字 ARC


示例2

S

示例2输出

0

11 个字符的字符串都是回文。


示例3

NOLEMONNOMELON

示例3输出

350