编程题
### 问题描述
对于一个优美字符串的定义为它可以通过某种方式重新排列,使得存在另一个字符串重复拼接一次得到它。例如字符串 `acdbbdac` ,它可以重新排列为 `acdbacdb` ,可以通过字符串 `acdb` 重复拼接一次得到,所以它是优美字符串。
给定一个只包含英文小写字母的字符串 $S$ ,请问它有多少个非空子串是优美字符串?
### 输入格式
第一行输入一个只包含英文小写字母的字符串 $S$ 。
数据保证 $1 \leq n \leq 1 \times10^5$。
### 输出格式
输出一个整数表示 $S$ 中有多少个非空子串是优美字符串。
### 样例输入
```
20230322
cacdadcc
```
### 样例输出
```
4
```
### 说明
对于给定样例字符串,有 $6$ 个优美子串,分别是`cacdad`,`cacdadcc`,`acdadc`,`cc` 。