1 3 6 10
2 5 9
4 8
7
第一行[1 3 6 10]
第二行是 去掉第一行的第一列,然后将后面的[3 6 10]分别减1得到的。

while True:
    try:
        N=int(input())
        res=[]
        for i in range(N):
            if i==0:
                res=[(e+2)*(e+1)//2 for e in range(N)]
            else:
                res=[e-1 for e in res[1:]]
            print(' '.join(map(str,res)))
    except:
        break