n = int(input());
def getArray(m,n):
    '''
    :param m:  行
    :param n:  列
    :return:   m行n列的二维数组
    '''
    array = [[0for i in range(n)] for i  in range(m)];
    return array;

x = getArray(n,n);
k = 1
for i in range(len(x)-1,-1,-1):
    for j in range(0,len(x[i])):
        x[i][j] = k;
        k += 1



#打印二维数组的代码
for i in x:
    for j in i:
        print('%3d'%(j),end='')
    print()


/**************************************************************
	Problem: 1185
	User: admin
	Language: Python
	Result: Accepted
	Time:97 ms
	Memory:34480 kb
****************************************************************/