1900: Перестановки

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 16,00 (partial)
Time limit: 2.0s
Memory limit: 256M
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb

Задається рядок довжиною ~n~ символів.

Ваше завдання полягає в тому, щоб створити всі рядки, які можна отримати із символів заданого рядка.

Обмеження

~1 \le n \le 8~

Input

Єдиний вхідний рядок містить рядок довжини ~n~. Кожен символ знаходиться між a–z.

Output

Спочатку виведіть ціле число ~k~: кількість рядків. Потім виведіть ~k~ рядків: знайдені рядки в алфавітному порядку.

Sample Input 1

aabac

Sample Output 1

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

Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.