#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;
}