#include <bits/stdc++.h>
using namespace std;
const int INF = ~(1 << 31);
const int NINF = 1 << 31;
const int N = 1e3 + 5;
int a[N][N];
int b[4][4] = {8, 9, 1, 13, 3, 12, 7, 5, 0, 2, 4, 11, 6, 10, 15, 14};
int n, m;
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  cin >> n;
  for (int i = 0; i <= 3; ++i)
    for (int j = 0; j <= 3; ++j) a[i][j] = b[i][j];
  int k = n / 4, c = -1;
  for (int i = 0; i <= k - 1; ++i) {
    for (int j = 0; j <= k - 1; ++j) {
      c++;
      for (int z1 = 0; z1 <= 3; ++z1)
        for (int z2 = 0; z2 <= 3; ++z2)
          a[i * 4 + z1][j * 4 + z2] = b[z1][z2] + 4 * 4 * c;
    }
  }
  for (int i = 0; i <= n - 1; ++i) {
    for (int j = 0; j <= n - 1; ++j) {
      cout << a[i][j];
      if (j == n - 1)
        cout << endl;
      else
        cout << ' ';
    }
  }
  return 0;
}
