import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        String s = in.nextLine();
        int index = -1;
        String result = "";
        List<Integer> list = new LinkedList<Integer>();
        while(index<s.length()-1){
            char max = 'a'-1;
            for(int i = index+1;i<s.length();i++){
                if(s.charAt(i)>max){
                    list.clear();
                    max = s.charAt(i);
                    list.add(i);
                }else if(s.charAt(i)==max){
                    list.add(i);
                }else{

                }
            }
            int p = 0;
            for(;p<list.size();p++){
                result+=s.charAt(list.get(p));    
            }
            index = list.get(p-1);
            list.clear();
        }
        if(result.charAt(result.length()-1)==s.charAt(s.length()-1)) System.out.println(result);
        else System.out.println(result+s.charAt(s.length()-1));
    }
}

实际上就是一直找最大的字符,如果最大的字符有两个及以上,用list存储它们的坐标,从最后一个最大字符的下一位再开始遍历。