#P10394. Secret Code

Secret Code

题目描述

农民约翰有秘密的信息,他想要躲避他的奶牛;消息是一个长度至少为2的字符串,仅包含字符A..Z。为了加密他的消息,FJ对它应用一系列“操作”,其中应用于字符串 SS 的操作首先通过删除其第一个或最后一个字符来缩短 SS,之后在开头或结尾处附加原始字符串 SS

例如,对字符串 "ABCD" 的单个操作可能会产生四个可能的字符串:

  • BCDABCD
  • ABCABCD
  • ABCDABC
  • ABCDBCD

给定最终加密字符串,请计算 FJ 可能使用应用于某些源字符串的一个或多个重复操作生成此字符串的可能方式的数量。即使操作对 FJ 的消息进行相同的加密,操作也被视为不同。

输入格式

输入一个少于100的字符串。

输出格式

第1行:FJ可以通过将一个或多个连续操作应用于长度至少为2的某个源字符串来生成此字符串的不同方式的数量。如果没有这样的方法,则输出零。

输入样例

ABABA

输出样例

6

题目说明

六种情况:

  1. ABA -> AB+ABA
  2. ABA -> ABA+BA
  3. AB -> AB+A -> AB+ABA
  4. AB -> AB+A -> ABA+BA
  5. BA -> A+BA -> AB+ABA
  6. BA -> A+BA -> ABA+BA