#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    int N;
    cin >> N; // 读取输入的整数N

    // 创建N×N的二维数组,初始化为0
    int matrix[N][N] = {0};

    // 填充主对角线元素为1
    for (int i = 0; i < N; i++) {
        matrix[i][i] = 1;
    }

    // 格式化输出方阵,每个数字场宽为3
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            cout << setw(3) << matrix[i][j];
        }
        cout << endl; // 每行结束后换行
    }

    return 0;
}
/**************************************************************
	Problem: 1162
	User: zhenghaoxuan
	Language: C++
	Result: Wrong Answer
****************************************************************/