#J60006. 一次交换

一次交换

问题描述

给定一个长度为 NN 的字符串 SS。请选择两个满足 1≤i<j≤N1\leq i<j\leq N 的位置,交换 SS 的第 ii 个字符和第 jj 个字符。

上述操作必须恰好进行一次。请计算操作后可能得到多少个不同的字符串。

不同的交换位置可能得到相同的字符串,这种字符串只计算一次。

输入格式

第一行输入一个仅由小写英文字母组成的字符串 SS。

输出格式

输出一行一个整数,表示恰好交换一次后可能得到的不同字符串数量。

样例输入 1

abc

样例输出 1

3

样例输入 2

aaaaa

样例输出 2

1

样例解释 1

交换位置 (1,2)(1,2)、(1,3)(1,3)、(2,3)(2,3) 后,分别得到 bac、cba、acb,共 33 个不同的字符串。

样例解释 2

无论选择哪两个位置,交换后得到的字符串仍然是 aaaaa,所以答案为 11。

评测数据规模

对于所有数据,保证:

  • SS 仅由小写英文字母组成;
  • 2≤∣S∣≤1062\leq |S|\leq10^6。