package main
 
import (
    "fmt"
)

func main() {
    for {
        var n int
        _, err := fmt.Scan(&n)
        if err != nil {
            break
        }
        row := make([]int, 0)
        
        //定义第一行
        //第一个元素 row[0]:=1
        row = append(row, 1) 
        for i := 1; i < n; i++ {
            row = append(row, row[i-1]+i+1)
        }
        
        // 下一行是上一行idx+1的数-1,推演都可以用第一行的数表示
        //打印
        for i := 0; i < n; i++ {
            for j := i; j < n; j++ {
                fmt.Printf("%d ", row[j]-i)
            }
            fmt.Println()//换行
        }
        
    }
}