#include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <string>
#include <bitset>
#include <cstdio>
#include <limits>
#include <vector>
#include <climits>
#include <cstring>
#include <cstdlib>
#include <fstream>
#include <numeric>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <unordered_map>

using namespace std;


int main(){
    int n,arr[26][26],i,j;
    cin >> n;
    
    for(i=1;i<=n-1;i++)
    {
        for(j=1;j<=n-1;j++)
        {
            
            if(i==j)
            {
                if((n-1)%i==0)
                {
                    arr[i][j] = (n-1)/i;
                }
                else
                {
                    arr[i][j] = -1;
                }
            }
            
            else if((n-1)%(i+j) == 0)
            {
                arr[i][j] = 2*(n-1)/(i+j);
            }
            
            else if((n-1)%i==0 && j!=n-1 && i!=n-1)
            {
                arr[i][j] = 2*(n-1)/i;
                arr[j][i] = 2*(n-1)/i;
            }
            
            else if((n-1)%j==0 && i!=n-1 && j!=n-1)
            {
                arr[i][j] = 2*(n-1)/j;
                arr[j][i] = 2*(n-1)/j;
            }
            
            else if(i==n-1 && (n-1)%j==0)
            {
                if((n-1)%2==0)
                {
                    arr[i][j] = 2*(n-1)/j;
                    arr[j][i] = 2*(n-1)/j;

                }
                else
                {
                    arr[i][j] = n-1;
                    arr[j][i] = n-1;

                }
            }
            
            else if(j==n-1 && (n-1)%i==0)
            {
                if((n-1)%2==0)
                {
                    arr[i][j] = 2*(n-1)/i;
                    arr[j][i] = 2*(n-1)/i;

                }
                else
                {
                    arr[i][j] = n-1;
                    arr[j][i] = n-1;

                }
            }
            
            else
            {
                arr[i][j] = -1;
                arr[j][i] = -1;

            }
        }
    }
    
    for(i=1;i<=n-1;i++)
    {
        for(j=1;j<=n-1;j++)
        {
            cout<<arr[i][j]<<" ";
        }
        cout<<endl;
    }
    
    
    return 0;
}