#P2541. 汉诺塔

汉诺塔

Description

有三根柱子A、B、C,有nn个盘子按从大到小的顺序自下而上套在A柱上,现在要把A柱上的n个盘子全部转移到C柱上,并且在移动盘子时必须遵守以下规则:

1.每次只能移动最上面的一个盘到另外的柱子

2.绝不允许柱子上出现大盘在上,小盘在下的情况

现在给定移动次数mm,请求出第mm次移动后各柱子的盘子状态。 注:移动是按照汉诺塔的递归解法去移动

Input

输入包含两个整数nnmm,分别代表盘子的数量和移动的次数。

Output

输出三行,每行代表一个柱子的状态。三行从上到下分别是柱子A,B,C。每行的第一个数字表示当前柱子上盘子的数量,后面跟着相应数量的整数,表示盘子的编号(从1到n,1表示最小的盘子,n表示最大的盘子),按照从下到上的顺序(即递减的顺序)排列。

Samples

3 5
1 1
1 2
1 3
6 5
4 6 5 4 1
1 3
1 2

Limitation

1≤ n ≤ 20

1 ≤ m ≤ 2n2^n - 1