#include<stdio.h>
typedef struct
{
char zifu;
int cnt;
}node;
int main(void)
{
char str[1001]={0};
scanf("%s",&str);
int len=strlen(str);
node a[128];
for(int i=0;i<128;i++)
{
a[i].zifu=i;
a[i].cnt=0;
}
for(int i=0;i<len;i++)
{
a[str[i]].cnt++;
}
for(int i=0;i<128-1;i++)
{
for(int j=0;j<128-1-i;j++)
{
if(a[j+1].cnt>a[j].cnt)
{
node temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(int i=0;i<128;i++)
{
if(a[i].cnt!=0)
{
printf("%c",a[i].zifu);
}
}
return 0;
}
typedef struct
{
char zifu;
int cnt;
}node;
int main(void)
{
char str[1001]={0};
scanf("%s",&str);
int len=strlen(str);
node a[128];
for(int i=0;i<128;i++)
{
a[i].zifu=i;
a[i].cnt=0;
}
for(int i=0;i<len;i++)
{
a[str[i]].cnt++;
}
for(int i=0;i<128-1;i++)
{
for(int j=0;j<128-1-i;j++)
{
if(a[j+1].cnt>a[j].cnt)
{
node temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(int i=0;i<128;i++)
{
if(a[i].cnt!=0)
{
printf("%c",a[i].zifu);
}
}
return 0;
}