打印任务
题目描述
Bessie 有一个古老的点阵打印机,他可以用他的电脑来控制这台打印机。他能用电脑向这台打印机发出三种命令:
- \(\texttt{SET}\)\(\text{(X)}\): 这个命令将字符 \(X\) 存进主存。
- \(\texttt{NEXT}\)\(\text{(X)}\): 这个命令将字符 \(X\) 存进次要存储器。
- \(\texttt{WRITE}\): 如果前一个命令不是 \(\texttt{NEXT}\),这个命令将主存的字符打印到纸上。如果前一个命令是 \(\texttt{NEXT}\),则将次要存储器的字符打印到纸上。
例如:“\(\texttt{AABAA}\)”,只需要 \(7\) 个命令:\(\texttt{SET}\)\(\text{(A)}\),\(\texttt{WRITE}\),\(\texttt{WRITE}\),\(\texttt{NEXT}\)\(\text{(B)}\),\(\texttt{WRITE}\),\(\texttt{WRITE}\),\(\texttt{WRITE}\)。
给定一个字符,求打印的最少命令。
第一个命令一定是 \(\texttt{SET}\)。
格式
输入格式
一行要打印的字符序列。这个序列长度不超过 \(10000\),由大写英文字母组成。
输出格式
输出一行一个整数,表示最少要用几个命令来打印这个字符序列。
样例1
样例输入1
BABCBACA
样例输出1
13
限制
对于 \(30\%\) 的数据:序列长度 \(<=30\)。
对于 \(100\%\) 的数据:序列长度 \(<=10000\)。