Code Submission Evaluation System Login

CSES Problem Set

Creating Strings I


Task | Statistics


CSES - Creating Strings ICSES - Creating Strings I

Time limit:1.00 s Memory limit:512 MB

Given a string, your task is to generate all different strings that can be created using its characters.

Input

The only input line has a string of length $n$. Each character is between a–z.

Output

First print an integer $k$: the number of strings. Then print $k$ lines: the strings in alphabetical order.

Constraints
Example

Input:
aabac

Output:
20
aaabc
aaacb
aabac
aabca
aacab
aacba
abaac
abaca
abcaa
acaab
acaba
acbaa
baaac
baaca
bacaa
bcaaa
caaab
caaba
cabaa
cbaaa