#512. Fractal

Fractal

分形是一种在所有尺度上都显示自相似性的对象或数量。对象不必在所有尺度上都显示完全相同的结构,但相同“类型”的结构必须出现在所有尺度上。 盒子分形定义如下: 1个盒子分形是
X
2个盒子分形是
X X
X
X X
如果使用B(n-1)表示n-1个盒子分形,则n个盒子分形递归定义如下:

B(n - 1)        B(n - 1)

        B(n - 1)

B(n - 1)        B(n - 1)

你的任务是绘制n级盒子分形。

输入

输入包含几个测试用例。输入的每一行包含一个不大于7的正整数n。输入的最后一行是一个负整数−1,表示输入结束。

输出

对于每个测试用例,使用’X’符号输出盒子分形。请注意’X’是大写字母。在每个测试用例后打印一行,仅包含一个破折号。

Sample Input

1
2
3
4
-1

Sample Output

X
-
X X
 X
X X
-
X X   X X
 X     X
X X   X X
   X X
    X
   X X
X X   X X
 X     X
X X   X X
-
X X   X X         X X   X X
 X     X           X     X
X X   X X         X X   X X
   X X               X X
    X                 X
   X X               X X
X X   X X         X X   X X
 X     X           X     X
X X   X X         X X   X X
         X X   X X
          X     X
         X X   X X
            X X
             X
            X X
         X X   X X
          X     X
         X X   X X
X X   X X         X X   X X
 X     X           X     X
X X   X X         X X   X X
   X X               X X
    X                 X
   X X               X X
X X   X X         X X   X X
 X     X           X     X
X X   X X         X X   X X
-