#include <stdio.h>
#include <string.h>
#include <ctype.h>
void swap(char *a,char *b){ char t=*a ;*a=*b; *b=t; }
void perm(char s[],int l,int r){
    if(l == r) {
        printf("%s ",s);
        return;
    }
    for(int i = l; i <= r; i++){
        swap(&s[1], &s[i]);
        perm(s, l+1, r);
        swap(&s[1], &s[i]);
    }
}
int main(){
    char s[10];
    scanf("%s",s);
    for(int i=0;i<strlen(s);i++)
    {
        if(isdigit(s[i]))
        { 
            printf("invalid  input");
            return 0;
            
        }
    }
    for(int i=0;i<strlen(s);i++)
        for(int j=i;j<strlen(s);j++)
            for(int k=i;k<=j;k++)
printf("%c",s[k]);
            printf(" ");
    printf("\n");
    perm((s,0,strlen(s)-1);
}