#P1208C. Magic Grid

    ID: 4911 Type: RemoteJudge 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>constructive algorithms*1800

Magic Grid

No submission language available for this problem.

Description

Let us define a magic grid to be a square matrix of integers of size $n \times n$, satisfying the following conditions.

  • All integers from $0$ to $(n^2 - 1)$ inclusive appear in the matrix exactly once.
  • Bitwise XOR of all elements in a row or a column must be the same for each row and column.

You are given an integer $n$ which is a multiple of $4$. Construct a magic grid of size $n \times n$.

The only line of input contains an integer $n$ ($4 \leq n \leq 1000$). It is guaranteed that $n$ is a multiple of $4$.

Print a magic grid, i.e. $n$ lines, the $i$-th of which contains $n$ space-separated integers, representing the $i$-th row of the grid.

If there are multiple answers, print any. We can show that an answer always exists.

Input

The only line of input contains an integer $n$ ($4 \leq n \leq 1000$). It is guaranteed that $n$ is a multiple of $4$.

Output

Print a magic grid, i.e. $n$ lines, the $i$-th of which contains $n$ space-separated integers, representing the $i$-th row of the grid.

If there are multiple answers, print any. We can show that an answer always exists.

Samples

4
8 9 1 13
3 12 7 5
0 2 4 11
6 10 15 14
8
19 55 11 39 32 36 4 52
51 7 35 31 12 48 28 20
43 23 59 15 0 8 16 44
3 47 27 63 24 40 60 56
34 38 6 54 17 53 9 37
14 50 30 22 49 5 33 29
2 10 18 46 41 21 57 13
26 42 62 58 1 45 25 61

Note

In the first example, XOR of each row and each column is $13$.

In the second example, XOR of each row and each column is $60$.