Задачи
И снова ханойские башни
И снова ханойские башни
Всем наверное известна головоломка "Ханойские башни". В головоломке имеются три стержня и \textbf{N} дисков различного радиуса. Изначально все диски расположены на первом стержне, упорядоченные по радиусу - диск с наибольшим радиусом расположен внизу, а с наименьшим вверху. За один ход разрешается взять верхний диск с любого стержня и переложить его на другой, следуя единственному правилу: нельзя класть больший диск на меньший. В задаче необходимо переложить все диски на последний стержень, совершив наименьшее количество перекладываний.
Легенда гласит, что где-то в Тибете есть монастырь, в котором монахи неустанно передвигают диски со стержня на стержень, решая задачу для \textbf{64} дисков. Легенда говорит, что когда работа будет закончена, то настанет конец света.
Поскольку известно, что для решения задачи достаточно совершить \textbf{2^N-1} перекладываний, небольшие вычисления показывают, что мир еще некоторое время побудет в безопасности.
Однако недавние открытия археологов показали, что дела могут оказаться намного хуже. В манускрипте, найденном в Тибете, утверждается, что монахи решали задачу не на \textbf{3}-х, но на \textbf{M} стержнях. Это действительно оказалось проблемой, так как с увеличением числа стержней количество перекладываний согласно описанным правилам резко уменьшается.
Найдите количество перекладываний, которое необходимо совершить для перекладывания \textbf{N} дисков с первого стержня на последний, если в задаче присутствуют \textbf{M} стержней, а также укажите порядок перекладывания дисков.
\InputFile
Входные данные содержат два числа \textbf{N} и \textbf{M} (\textbf{1} ≤ \textbf{N} ≤ \textbf{64}, \textbf{4} ≤ \textbf{M} ≤ \textbf{65}).
\OutputFile
В первой строке выведите количество перекладываний L для решения задачи. Следующие \textbf{L} строк должны содержать сами перекладывания. Каждая строка имеет вид
\textbf{move from to}
если диск перекладывается на пустой стержень или
\textbf{move from to atop}
если диск кладется сверху на другой диск.
Радиусы дисков изменяются от \textbf{1} до \textbf{N}, стержни пронумерованы от \textbf{1} до \textbf{M}.
Входные данные #1
5 4
Выходные данные #1
13 move 1 from 1 to 3 move 2 from 1 to 2 move 1 from 3 to 2 atop 2 move 3 from 1 to 4 move 4 from 1 to 3 move 3 from 4 to 3 atop 4 move 5 from 1 to 4 move 3 from 3 to 1 move 4 from 3 to 4 atop 5 move 3 from 1 to 4 atop 4 move 1 from 2 to 1 move 2 from 2 to 4 atop 3 move 1 from 1 to 4 atop 2