import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[][] p = new int[35][35];
        for (int i = 1; i <= n; i++) {
            p[i][1] = 1;
            p[i][i] = 1;
        }//初始化两条边

        for (int i = 3; i <= n; i++) {
            for (int j = 2; j <= i - 1; j++) {
                p[i][j] = p[i - 1][j] + p[i - 1][j - 1];
            }
        }//状态转移方程
        
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.printf("%d ", p[i][j]);
            }
            System.out.printf("\n");
        }

    }
}