Без двух единиц подряд
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
notwo.in
вывод
notwo.out

По данному натуральному числу n выведите все двоичные последовательности длины n, не содержащие двух единиц подряд, в лексикографическом порядке.

Входные данные

Одно натуральное число n (1 ≤ n ≤ 20).

Выходные данные

Каждая последовательность должна выводиться в отдельной строке, вывод должен завершаться символом новой строки. Числа, входящие в последовательность, должны быть разделены одним пробелом.

Примеры тестов

Входные данные
4
Выходные данные
0 0 0 0
0 0 0 1
0 0 1 0
0 1 0 0
0 1 0 1
1 0 0 0
1 0 0 1
1 0 1 0
B. Номер по перестановке
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
64 мегабайта
ввод
perm.in
вывод
perm.out

Дана перестановка из N чисел от 1 до N. Требуется найти её номер в лексикографическом порядке.

Входные данные

Во входном файле сначала записано число N (1 ≤ N ≤ 12). В следующей строке записана сама перестановка — N чисел, разделённых пробелами.

Выходные данные

В выходной файл нужно вывести единственное число — номер перестановки в лексикографическом порядке.

Примеры тестов

Входные данные
3
2 1 3
Выходные данные
3
Все перестановки заданной длины
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
64 мегабайта
ввод
perm.in
вывод
perm.out

По данному числу N выведите все перестановки чисел от 1 до N в лексикографическом порядке.

Входные данные

Задано одно число N (0 < N < 9).

Выходные данные

Необходимо вывести все перестановки чисел от 1 до N в лексикографическом порядке. Перестановки выводятся по одной в строке, числа в перестановке выводятся без пробелов.

Примеры тестов

Входные данные
3
Выходные данные
123
132
213
231
312
321
D. Разбиения на слагаемые
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
64 мегабайта
ввод
partition.in
вывод
partition.out

Перечислите все разбиения целого положительного числа N на целые положительные слагаемые. Разбиения должны обладать следующими свойствами:

Входные данные

Во входном файле находится единственное число N (1 ≤ N ≤ 40).

Выходные данные

В выходной файл выведите искомые разбиения по одному на строку.

Примеры тестов

Входные данные
4
Выходные данные
1 1 1 1 
2 1 1
2 2
3 1
4
E. Следующее сочетание
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
64 мегабайта
ввод
nextcomb.in
вывод
nextcomb.out

Дано множество целых чисел от 1 до N. Рассмотрим подмножество этого множества, состоящее из K элементов, в возрастающем порядке.

Выведите следующее в лексикографическом порядке подмножество из K элементов.

Входные данные

В первой строке входного файла содержатся целые положительные числа N и K (1 ≤ K ≤ N ≤ 50). Во второй строке содержится K целых чисел от 1 до N в возрастающем порядке — подмножество из K элементов.

Выходные данные

Выведите следующее в лексикографическом порядке после данного подмножество из K элементов. Если следующего подмножества нет, выведите 0.

Примеры тестов

Входные данные
6 4
1 4 5 6
Выходные данные
2 3 4 5 
Входные данные
6 2
5 6
Выходные данные
0