#P5084. hashit

hashit

题目描述

你有一个字符串S,一开始为空串,要求支持两种操作

在S后面加入字母C

删除S最后一个字母

问每次操作后S有多少个两两不同的连续子串

输入格式

一行一个字符串Q,表示对S的操作

如果第i个字母是小写字母c,表示第一种加字母c的操作

如果为-表示删除操作,保证所有删除操作前S都非空

|Q|<=10^5

输出格式

输出|Q|行,第i行表示i个操作之后S内有多少个不同子串

样例

样例输入

aba-caba

样例输出

1
3
5 
3 
6 
9
12
17