#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
#define mp make_pair
using namespace std;

int n,s[30][30];
int u[30][30];


void hii(int x,int y){
    memset(u,-1,sizeof(u));
    int i,j;
    queue<pair<pair<int,int>,int> > q;
    
    q.push(mp(mp(0,0),0));
    u[0][0]=0;
    while(!q.empty()){
        int a,b,c;
        a=q.front().first.first;
        b=q.front().first.second;
        c=q.front().second;
        
        if(a+x<n && b+y<n  && u[a+x][b+y]==-1){
                u[a+x][b+y]=c+1;
                q.push(mp(mp(a+x,b+y),u[a+x][b+y]));
        }
        if(a-x>=0 && b+y<n  && u[a-x][b+y]==-1){
                u[a-x][b+y]=c+1;
                q.push(mp(mp(a-x,b+y),u[a-x][b+y]));
        }
        if(a-x>=0 && b-y>=0  && u[a-x][b-y]==-1){
                u[a-x][b-y]=c+1;
                q.push(mp(mp(a-x,b-y),u[a-x][b-y]));
        }
        if(a+x<n && b-y>=0  && u[a+x][b-y]==-1){
                u[a+x][b-y]=c+1;
                q.push(mp(mp(a+x,b-y),u[a+x][b-y]));
        }
        
        if(a+y<n && b+x<n  && u[a+y][b+x]==-1){
                u[a+y][b+x]=c+1;
                q.push(mp(mp(a+y,b+x),u[a+y][b+x]));
        }
        if(a-y>=0 && b+x<n  && u[a-y][b+x]==-1){
                u[a-y][b+x]=c+1;
                q.push(mp(mp(a-y,b+x),u[a-y][b+x]));
        }
        if(a-y>=0 && b-x>=0  && u[a-y][b-x]==-1){
                u[a-y][b-x]=c+1;
                q.push(mp(mp(a-y,b-x),u[a-y][b-x]));
        }
        if(a+y<n && b-x>=0  && u[a+y][b-x]==-1){
                u[a+y][b-x]=c+1;
                q.push(mp(mp(a+y,b-x),u[a+y][b-x]));
        }
        q.pop();
    }
    s[x][y]=u[n-1][n-1];
                       return;
}

int main() {
    int i,j;
    cin >> n;
    memset(s,-1,sizeof(s));
    for(i=1;i<n;i++){
        for(j=1;j<n;j++){
            if(s[j][i]!=-1){
                cout<<s[j][i]<<' ';
            }
            else{
                hii(i,j);
                cout<<s[i][j]<<' ';
            }
        }
        cout<<endl;
    }
    return 0;
}