#ABC345C. 一次交换

一次交换

问题描述

给定一个字符串 SS,求出执行一次以下操作能产生的不同字符串数。

NNSS 的长度。选择一对整数 (i,j)1i<jN(i,j)1\leq i<j\leq N,交换 SS 的第 ii 个和第 jj 个字符。

数据规模

SS 是长度介于 2210610^6(含)之间的字符串,由小写英文字母组成。

输入

输入来自标准输入,格式如下:

SS

输出

打印在 SS 上执行一次问题描述中的操作所能产生的字符串数。

abc
3

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

  • 交换 SS 的第 1 个和第 2 个字符会导致 SSbac
  • 交换 SS 的第 1 个和第 3 个字符会导致 SScba
  • 交换 SS 的第 2 个和第 3 个字符会导致 SSacb

因此,对 abc 的操作将产生三个字符串之一:baccbaacb,因此打印 3

aaaaa
1

交换任何两个字符都会产生 aaaaa。因此,该操作只能产生一个字符串。