Автор: | Владимир Ульянцев | Ограничение времени: | 2 сек | |
Входной файл: | grasshopper.in | Ограничение памяти: | 256 Мб | |
Выходной файл: | grasshopper.out | |||
Максимальный балл: | 100 |
При подготовке пакета были использованы материалы сайта школьных олимпиад по информатике.
Учитель дал Вове задание решить задачу о кузнечике. Она состоит в следующем.
В парке в ряд растут n травинок. Находясь на первой из них, кузнечик хочет, совершая прыжки, добраться до последней травинки с номером n. При этом кузнечик за один прыжок может прыгать только на одну или две травинки вперед. К несчастью, некоторые травинки сломались и кузнечику нельзя на них прыгать. Зная, какие травинки сломались и считая, что первая и последняя травинки не сломаны, можно найти число путей, которыми кузнечик может добраться с первой травинки до последней. Вова быстро справился с решением этой задачи и придумал к ней обратную.
В настоящей задаче Вам предлагается решить обратную задачу. А именно, найти такое описание травинок в пути кузнечика, что число различных путей кузнечика равно k.
Решения, работающие для n ≤ 20 и k ≤ 10000 будут оцениваться из 40 баллов.
Решения, работающие для k ≤ 106 будут оцениваться из 70 баллов.
Входной файл содержит два целых числа n и k (2 ≤ n ≤ 1000, 0 ≤ k ≤ 1018) — число травинок и различных путей, соответственно.
В единственной строке выходного файла выведите через пробел n чисел — описания травинок. Сломанной травинке соответствует число 0, целой — 1. Первая и последняя травинки должны быть целыми. Если существует несколько ответов, то выведите любой.
Если ответа не существует, то выведите в выходной файл единственное слово "Impossible".
№ | Входной файл (grasshopper.in ) |
Выходной файл (grasshopper.out ) |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|