import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.nextLine();
int position = 1; //定义每次分割的下标
//abcabcdfef abcabc d fef
//1 先找出第一个字符a的最后一个位置索引3 获得子串 abca
//1.1 如果最后的索引为0或者1 表示没有索引,不需要遍历子串 字符长度为最后索引值+1
//2 遍历abca的中间字符串 bc 分别找出其最后一个字符的位置 分别为4 和5 那么第一组字符长度就是最大值5+1
//3 继续拿截取后的字符如此操作 分别找出子串长度
//4 退出条件 子串为空
while(true) {
if(s.length() == 0) {
break;
}
//1 先找出第一个字符a的最后一个位置索引3 获得子串 abca
int lastIndex = s.lastIndexOf(s.charAt(0));
//1.1 如果最后的索引为0或者1 表示没有索引,不需要遍历子串 字符长度为最后索引值+1
if(lastIndex <2) {
System.out.print(lastIndex+1+" ");//输出第一个字符串长度
s = s.substring(lastIndex+1);//被分割后的字符串
continue;
}
//2 遍历abca的中间字符串 bc 分别找出其最后一个字符的位置 分别为4 和5 那么第一组字符长度就是最大值5+1
int maxIndex = 0; //定义一个存取最大的索引
for(int i = 1;i<lastIndex;i++) {
int tmpMaxIndex = s.lastIndexOf(s.charAt(i));
if(tmpMaxIndex > maxIndex) {
maxIndex = tmpMaxIndex;
}
}
System.out.print(maxIndex+1+" ");//子串长度
s = s.substring(maxIndex+1);//被分割后的字符串
}
}
}