#include <bits/stdc++.h>

using namespace std;

void process(int N){
    /*if(N == 0){
        cout << "" << endl;
    }*/
    //第一行最后一个元素 = (N)*(N + 1) / 2;
    //第一行第j列元素 = (j) * (j + 1) / 2;
    //第i行第j列元素 = 第i - 1行j + 1列 - 1;
    //最后一行只有一个元素 = 第一行最后一个元素 - N - 1;
    int num = 1;
    vector<vector<int>> matrix(N, vector<int>(N, 0));
    for(int i = 0; i < N; i++){
        for(int j = 0; j <= i; j++){   
            matrix[i - j][j] = num++; //
        }
    }
    
    for(int i = 0; i < N; i++){
        for(int j = 0; j < N - i; j++){ //
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }
}

int main(){
    int N = 0;
    cin >> N;
    
    process(N);
    
    return 0;
}