#12041. 一次性交换(ABC345C-One Time Swap)

一次性交换(ABC345C-One Time Swap)

Description

你得到一个字符串 S。找出通过执行以下操作恰好一次可以得到的不同字符串的数量。

设 N 为 S 的长度。选择一对整数 (i,j),满足 1≤i<j≤N,并交换 S 的第 i 个和第 j 个字符。

在本题的约束条件下,可以证明你总是可以执行这个操作。

Input Format

输入S。

Output Format

输出通过在 S 上执行上述操作恰好一次可以得到的不同字符串的数量。

abc
3
aaaaa
1

Hint

数据范围与提示 【样例1说明】 S 的长度为 3,所以满足 1≤i<j≤3 的整数对 (i,j) 有三个:(1,2)、(1,3) 和 (2,3)。

交换 S 的第 1 个和第 2 个字符得到 bac。 交换 S 的第 1 个和第 3 个字符得到 cba。 交换 S 的第 2 个和第 3 个字符得到 acb。

因此,对 abc 进行操作可以得到三个字符串:bac、cba 和 acb,所以打印 3。

【样例2说明】 交换任意两个字符都会使 S 保持为 aaaaa。因此,只有一个字符串可以通过操作得到。

【数据范围】 2≤S≤10^6^,S仅由小写英文字母组成。