9
 8
 6
 4
 7
 5
 2

1  2  3  4  5  6  7  8 
2  4  6  8 11 13 15 17 
3  6 10 13 16 20 23 26 
4  8 13 17 22 26 31 35 
5 11 16 22 27 33 38 44 
6 13 20 26 33 40 46 53 
7 15 23 31 38 46 54 62 
8 17 26 35 44 53 62 71 
 1  2  3  4  5  6  7 
2  4  6 10 12 14 16 
3  6 11 14 17 22 25 
4 10 14 20 24 30 34 
5 12 17 24 31 36 43 
6 14 22 30 36 44 52 
7 16 25 34 43 52 61 
 1  2  3  4  5 
2  4 10 12 14 
3 10 13 20 23 
4 12 20 24 32 
5 14 23 32 41 
 1  2  3 
2 10 12 
3 12 21 
 1  2  3  4  5  6 
2  4  6 11 13 15 
3  6 12 15 21 24 
4 11 15 22 26 33 
5 13 21 26 34 42 
6 15 24 33 42 51 
 1  2  3  4 
2  4 11 13 
3 11 14 22 
4 13 22 31 
 1 

import java.util.*;
import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Main main = new Main();
        Scanner sc = new Scanner(System.in);
        
        int N = sc.nextInt();
        
        int[][]table = new int[N-1][N-1];
        for (int i = 0; i<N-1; i++){
            table[i][0] = i+1;
            table[0][i] = i+1;
        }
        
        for (int i = 0; i<N-1; i++){
            for (int j = 0; j<N-1; j++){
                table[i][j] = main.toSystem(main.toDEC(table[i][0], N) * main.toDEC(table[0][j], N), N); 
                System.out.print(table[i][j]+" ");
            }System.out.println();
        }
    }   
    int toSystem(int A, int n){     
        String S = "";
        int k = 0;
        while (A>0){
            k = A%n;
            A = A/n;
            S = k + S;
        }
        A = Integer.parseInt(S);
        return A;
    }
    
    int toDEC(int A, int n){
        int l = 0;
        int DEC = 0;
        while (A>0){
            DEC = DEC + A%10 * (int)Math.pow(n, l);
            l++;
            A = A/10;
        }       
        return DEC;
    }
}