n = int(input())
matrix = [[0 for _ in range(n)] for _ in range(n)]
k = 1
for sum_idx in range(2 * n - 1):
    if sum_idx % 2 == 0:
        # 从下往上遍历对角线(↗️)
        i = min(sum_idx, n - 1)
        j = sum_idx - i
        while i >= 0 and j < n:
            matrix[i][j] = k
            k += 1
            i -= 1
            j += 1
    else:
        # 从上往下遍历对角线(↙️)
        j = min(sum_idx, n - 1)
        i = sum_idx - j
        while j >= 0 and i < n:
            matrix[i][j] = k
            k += 1
            i += 1
            j -= 1

# 打印矩阵
for row in matrix:
    print(' '.join(str(elem) for elem in row))

# 00 ->/ 01 10 \|/ / 20 11 02 -> / 03 12 21 30 ->  ||31 22 13 \|/  / 23 32  -> / 33