在这个问题中,你需要解决一个涉及平面棋盘和棋子的谜题。
“沙漏谜题”(Hourglass Puzzle)的大小为 $n$,其结构如下:棋盘绘制在一个平面上,包含 $(2 \cdot n + 1)$ 行。这些行是水平的,彼此上下排列。每一行由若干位置组成:中间行包含一个位置,中间行上方或下方的每一行都比其靠近中间的邻行多一个位置。相邻行之间的位置相互连接,使得较短行中的每个位置在较长行中恰好有两个相邻位置。下图展示了 $n = 2$ 时的棋盘。
棋盘上放置了一些棋子。初始时,最上方的 $n$ 行中的每个位置都包含一个红色棋子(沙子),最下方的 $n$ 行中的每个位置都包含一个蓝色棋子(空气)。谜题的目标是交换这些棋子,即让最上方的 $n$ 行填满空气,最下方的 $n$ 行填满沙子。相同颜色的棋子被视为相同的。在任何时刻,每个位置最多只能有一个棋子。下图展示了 $n = 2$ 时的初始和最终位置。红色棋子用“X”表示,蓝色棋子用“O”表示。
棋子的移动遵循以下规则:
- 红色棋子只能向下移动,蓝色棋子只能向上移动。
- 每次移动中,恰好有一个棋子改变其位置。
- 对于某个棋子,如果其在允许方向(蓝色棋子为左上或右上,红色棋子为左下或右下)上的两个相邻位置中有一个存在且为空,则该棋子可以直接移动到那里。
- 如果该位置被另一种颜色的棋子占据,但同一方向上的下一个位置存在且为空,则该棋子可以跳跃到那个空位置。
- 注意,跳跃仅在满足以下条件时被允许:沿直线进行、长度为两个位置、且越过一个另一种颜色的棋子。其他形式的跳跃(例如,垂直向上或向下跳过两行)是不允许的。
下图展示了 $n = 2$ 时解决该谜题的一系列移动。
移动序列可以用以下方式记录:
- 向左上移动或跳跃记为小写英文字母“b”。
- 向右上移动或跳跃记为小写英文字母“d”。
- 向左下移动或跳跃记为小写英文字母“p”。
- 向右下移动或跳跃记为小写英文字母“q”。
这种记法的直观含义是,每个字母的尾部指向移动或跳跃的方向。
事实证明,通过这种记法提供的信息足以还原谜题的所有中间状态。
给定谜题的大小 $n$,请输出其解。注意,你不需要最小化或最大化移动次数。
输入格式
输入的第一行包含一个整数 $n$:谜题的大小 ($1 \le n \le 10$)。
输出格式
输出一行,包含给定大小谜题的一个解。该行必须仅包含小写英文字母“b”、“d”、“p”和“q”,不包含其他字符,特别是不能包含空格。如果存在多个可能的解,输出其中任意一个即可。
样例
样例 1
输入
2
输出
dppdbqbdppqdqbbqdqpdbqb
说明
上述图片对应于该样例。