4318 - 填充特殊网格

通过次数

0

提交次数

0

时间限制 : 1 秒
内存限制 : 128 MB

给你一个非负整数 N,表示一个 2^N × 2^N的网格。你需要用从 0 到 2^N × 2^N -1的整数填充网格,使其成为一个 特殊 网格。一个网格当且仅当满足以下 所有 条件时,才能称之为 特殊 网格:

右上角象限中的所有数字都小于右下角象限中的所有数字。 右下角象限中的所有数字都小于左下角象限中的所有数字。 左下角象限中的所有数字都小于左上角象限中的所有数字。 每个象限也都是一个特殊网格。 返回一个 2^N × 2^N 的特殊网格。

输入

一个数字n

输出

输出2^N × 2^N个数字

样例

输入

0

输出

0

输入

1

输出

3 0
2 1

输入

2

输出

15 12 3 0
14 13 2 1
11 8 7 4 
10 9 6 5

提示

0 \leq N \leq 10

来源

leetcode