文理学院程序设计在线练习


完美K等基因

Time Limit: 1 Second(s)    Memory Limit: 32 MB

Total Submission(s): 37   Accepted Submission(s): 23
Problem Description

现给你一段基因序列{A,C,G,T},若存在一种{A,C,G,T}的k排列使得,任意k排列都作为子串出现在了此基因序列段中,但存在一种{A,C,G,T}的k+1排列使得s中的任意 k+1子串都与其不同,那么我们称此基因序列是完美的k等基因。
例如,《ACGGTAACGTACCG》这一段基因中不存在长度为2的基因序列《AG》,所以虽然序列很长,但是研究所还是只能将之称为完美1等序列(长度为1的排列A,C,G,T,都出现过了)。
作为人类基因研究所光荣的研究员,老大哥将判定基因等级的艰巨任务交给了你。

Input

每行一个字符串S代表一段基因序列(长度不超过600000,各子串长度之和不超过1000000),数据一直读取到文件末尾。

Output

对于每组数据,输出一行一个数字K代表基因序列的等级。

Sample Input
ACGCT
AACCAGTGGATACGCTCTTG
ACAGATAAGCCGGTCTGTT
Sample Output
1
2
2
Source

第12届校赛