#include <iostream>
#include<vector>
#include<string.h>
#include<algorithm>
using namespace std;

vector<string>v;

void perm( char* s,char* o,int i,int j){
	if(s[i]=='\0'){
		o[j]='\0';
	if(strcmp(s,o)>0){
		 v.push_back(o);
	}

	}
	for(int k=i;s[k]!='\0';k++){
		swap(s[i],s[k]);
		o[j]=s[i];
		perm(s,o,i+1,j+1);
		swap(s[i],s[k]);
	}
}

int main() {
	char s[100],o[100];
	cin>>s;
	perm(s,o,0,0);
	sort(v.begin(),v.end());
	for(int i=0;i<v.size();i++)
	cout<<v[i]<<endl;
	return 0;
}