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);//被分割后的字符串

        }
        

    }
}