import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {

    public static void calculate(int n, int a, int b, int curx, int cury, int[][] grid, int curval)
    {
//        if(curx==n-1 && cury==n-1 && curval==0){
            int newx,newy;
            newx=curx-a;newy=cury-b;if(newx>=0 && newy>=0 && newx<n && newy<n &&(grid[newx][newy]==0 || grid[newx][newy]>grid[curx][cury]+1)){grid[newx][newy]=grid[curx][cury]+1;calculate(n,a,b,newx,newy,grid,curval+1);}
            newx=curx-a;newy=cury+b;if(newx>=0 && newy>=0 && newx<n && newy<n &&(grid[newx][newy]==0 || grid[newx][newy]>grid[curx][cury]+1)){grid[newx][newy]=grid[curx][cury]+1;calculate(n,a,b,newx,newy,grid,curval+1);}
            newx=curx+a;newy=cury-b;if(newx>=0 && newy>=0 && newx<n && newy<n &&(grid[newx][newy]==0 || grid[newx][newy]>grid[curx][cury]+1)){grid[newx][newy]=grid[curx][cury]+1;calculate(n,a,b,newx,newy,grid,curval+1);}
            newx=curx+a;newy=cury+b;if(newx>=0 && newy>=0 && newx<n && newy<n &&(grid[newx][newy]==0 || grid[newx][newy]>grid[curx][cury]+1)){grid[newx][newy]=grid[curx][cury]+1;calculate(n,a,b,newx,newy,grid,curval+1);}
            newx=curx-b;newy=cury-a;if(newx>=0 && newy>=0 && newx<n && newy<n &&(grid[newx][newy]==0 || grid[newx][newy]>grid[curx][cury]+1)){grid[newx][newy]=grid[curx][cury]+1;calculate(n,a,b,newx,newy,grid,curval+1);}
            newx=curx-b;newy=cury+a;if(newx>=0 && newy>=0 && newx<n && newy<n &&(grid[newx][newy]==0 || grid[newx][newy]>grid[curx][cury]+1)){grid[newx][newy]=grid[curx][cury]+1;calculate(n,a,b,newx,newy,grid,curval+1);}
            newx=curx+b;newy=cury-a;if(newx>=0 && newy>=0 && newx<n && newy<n &&(grid[newx][newy]==0 || grid[newx][newy]>grid[curx][cury]+1)){grid[newx][newy]=grid[curx][cury]+1;calculate(n,a,b,newx,newy,grid,curval+1);}
            newx=curx+b;newy=cury+a;if(newx>=0 && newy>=0 && newx<n && newy<n &&(grid[newx][newy]==0 || grid[newx][newy]>grid[curx][cury]+1)){grid[newx][newy]=grid[curx][cury]+1;calculate(n,a,b,newx,newy,grid,curval+1);}
//        }
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int i,j;
        for(i=1;i<n;i++){
            for(j=1;j<n;j++){
                int[][] grid = new int[n][n];
                calculate(n,i,j,n-1,n-1,grid,0);
                if(grid[0][0]==0)
                    System.out.print(-1+" ");
                else
                    System.out.print(grid[0][0]+" ");
            }
            System.out.println();
        }
    }
}