#include <bits/stdc++.h>
using namespace std;
struct node {
  char c;
  int num;
} a[100005];
char s[100005];
int cmp(const void *a, const void *b) {
  if ((*(node *)a).c == (*(node *)b).c)
    return (*(node *)a).num - (*(node *)b).num;
  return (*(node *)b).c - (*(node *)a).c;
}
int main() {
  int i;
  while (scanf("%s", s) != EOF) {
    int len = strlen(s);
    for (i = 0; i < len; ++i) {
      a[i].c = s[i];
      a[i].num = i + 1;
    }
    qsort(a, len, sizeof(a[0]), cmp);
    int temp = 0;
    for (i = 0; i < len; ++i) {
      if (a[i].num > temp) {
        temp = a[i].num;
        printf("%c", a[i].c);
      }
    }
    printf("\n");
  }
  return 0;
}
