/**把它旋转45度,按行存为二维数组,遍历pop数组最后一个元素即可**/
let level = readline();
let arr = new Array(level).fill(null);
for(let i=1;i<=level;i++){
    arr[i-1]=new Array(i).fill(0);
}
let k=1;
for(let i=0;i<arr.length;i++){
    for(let j=0;j<arr[i].length;j++){
        arr[i][j] = k;
        k++;
    }
}
let res = [];
for(let i =0;i<level;i++){
    let temp = new Array();
    for(let j = 0;j<arr.length;j++){
        if(arr[j].length>0){
            temp.push(arr[j].pop());
        }
    }
    res.push(temp);
}
res.forEach(item=>{
    console.log(item.join(' '));
})