/*
从标准输入读入一个由字母构成的串(不大于30个字符)。
从该串中取出3个不重复的字符,求所有的取法。
取出的字符,要求按字母升序排列成一个串。
不同的取法输出顺序可以不考虑。
*/
#include<stdio.h>
#include<string>
using namespace std;
#define MAX 30
char source[MAX];
char dest[MAX];
void FindDifferent(char *d,char *a)
{//找出不重复字母的字串
int d_index=0;
d[0]=a[0];
int length = strlen(a);
for(int i=1;i<length;i++)
{
for(int j=0;j<=d_index;j++)
{
if(d[j]==a[i]) break;
if(d[j]!=a[i]&&j==d_index)
{
d[++d_index]=a[i];
}
}
}
// printf("%s",d);
}
void FindThree(char *x)
{//取出三个字母
char m[3];
// printf("%dn",strlen(x)); //strlen(abcd) 5
for(int i=0;i<strlen(x)-3;i++)
for(int j=i+1;j<strlen(x)-2;j++)
for(int k=j+1;k<strlen(x)-1;k++)
{
m[0]=x[i];
m[1]=x[j];
m[2]=x[k];
//已经是升序
//printf("%sn",m);
printf("%c%c%cn",m[0],m[1],m[2]);
}
}
int main()
{
fgets(source,sizeof(source),stdin);
FindDifferent(dest,source);
FindThree(dest);
return 0;
}