import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
show(n);
}
}
// 沿对角线看,第 k 高 第 b 个数,为 (k-1)*k/2+b,这个容易求
// 对 第 i 行 第 j 列 ,k = i+j-1、b = j;
// 故可得 f(i,j) = (i+j-2)*(i+j-1)/2+j;
private static void show(int n) {
// n 为行高
for (int i = 1; i <= n; i++) {
for (int j = 1; j + i < n + 2; j++) {
int fij = (i + j - 2) * (i + j - 1) / 2 + j;
System.out.print(fij + " ");
}
System.out.println();
}
}
}