#!/bin/python import sys from copy import deepcopy N = int(raw_input().strip()) jumps = list() for i in range(1, N): for j in range(1, N): if (j, i) not in jumps: jumps.append((i, j)) result = [[0 for i in range(N-1)] for i in range(N-1)] def update_bord(n, (a, b)): bord = [[0 for i in range(n)] for i in range(n)] bord[0][0] = 1 updated = True counter = 0 while bord[n-1][n-1] == 0 and updated: new_bord = deepcopy(bord) for i in range(n): for j in range(n): if bord[i][j] == 1: if i-a >= 0: if j-b >= 0: new_bord[i-a][j-b] = 1 if j+b < n: new_bord[i-a][j+b] = 1 if i+a < n: if j-b >= 0: new_bord[i+a][j-b] = 1 if j+b < n: new_bord[i+a][j+b] = 1 if i-b >= 0: if j-a >= 0: new_bord[i-b][j-a] = 1 if j+a < n: new_bord[i-b][j+a] = 1 if i+b < n: if j-a >= 0: new_bord[i+b][j-a] = 1 if j+a < n: new_bord[i+b][j+a] = 1 counter += 1 if new_bord == bord: updated = False bord = deepcopy(new_bord) if updated: return counter else: return -1 for jump in jumps: count = update_bord(N, jump) result[jump[0]-1][jump[1]-1] = count result[jump[1]-1][jump[0]-1] = count for row in result: for item in row: print item, print