#ABC345C. 单次交换

单次交换

问题描述

给定一个字符串SS。求恰好执行一次以下操作后可能得到的不同字符串的数量。

  • NNSS的长度。选择一对整数(i,j)(i,j),满足1i<jN1 \leq i < j \leq N,并交换SS的第ii个和第jj个字符。 可以证明,在本题的约束条件下总能执行该操作。

约束条件

  • SS是一个长度在2210610^6之间的字符串,由小写英文字母组成。

输入

输入通过标准输入给出,格式如下:

S

输出

打印对SS恰好执行一次问题描述中的操作后可能得到的不同字符串的数量。

样例输入1

abc

样例输出1

3

SS的长度为33,因此满足1i<j31 \leq i < j \leq 3的整数对(i,j)(i,j)有三组:(1,2)(1,2)(1,3)(1,3)(2,3)(2,3)

  • 交换SS的第11个和第22个字符后,SS变为bac
  • 交换SS的第11个和第33个字符后,SS变为cba
  • 交换SS的第22个和第33个字符后,SS变为acb。 因此,对abc执行操作后可能得到三个不同的字符串:baccbaacb,所以输出33

样例输入2

aaaaa

样例输出2

1

交换任意两个字符后,SS仍保持为aaaaa。因此,操作后只能得到一种字符串。