#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char a[11],ans[11];
int vis[11],sum,num[11];
bool check(int x,int len){
for(int i=1;i<len;i++)
if(ans[i]==a[x]&&num[i]>x)
return 0;
return 1;
}
void print(){
printf("%d:",++sum);
for(int i=1;i<=strlen(a);i++) printf("%c",ans[i]);
printf("\n");
}
void dfs(int x){
if(x==strlen(a)+1){
print();
return;
}
for(int i=0;i<strlen(a);i++)
if(!vis[i]&&check(i,x))
num[x]=i,ans[x]=a[i],vis[i]=1,dfs(x+1),vis[i]=0;
}
int main(){
scanf("%s",a);
sort(a,a+strlen(a));
dfs(1);
}