#P2083. Fractal

Fractal

描述

分形是一种在任意尺度下都表现出某种自相似性的物体或量。严格来说,分形在所有尺度上并不需要完全相同,但相同“类型”的结构必须在所有尺度上重复出现。

盒分形(Box Fractal)的定义如下:

11阶盒分形 是一个单独的 X:

X 2阶盒分形 如下:

X X
 X
X X

如果用 B(n-1) 表示 (n1n-1) 阶盒分形,那么 nn 阶盒分形递归定义为:

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

任务 给定一个整数 nn,绘制 nn 阶盒分形。

输入

输入包含多个测试用例。每行一个正整数 nnnn77),最后一行是一个 1-1,表示输入结束。

输出

对于每个测试用例,用 XX 表示盒分形(注意 XX 是大写字母)。每个测试用例后输出一行仅包含一个短横线 -。

示例输入

1
2
3
4
-1

示例输出

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
-