#include<iostream>
#include<vector>
using namespace std;
bool check(int n,int row,int col,vector<vector<int>>&board){
    for(int i=0;i<col;i++){
        if(board[row][i]){
            return false;
        }
    }
    for(int i=row,j=col; i>=0 && j>=0;i++,j++){
        if(board[i][j]){
            return false;
        }
    }
    for(int i=row,j=col; i>=0 && j<n;i++,j++){
        if(board[i][j]){
            return false;
        }
    }
    return true;
}
void solve(int n,int row,vector<vector<int>>&board,vector<vector<vector<int>>>&solution){
    if(row==n){
        solution.push_back(board);
        return;
    }
    for(int col=0;col<n;col++){
    if(check(n,row,col,board)){
        board[row][col]=1;
        solve(n,row+1,board);
         board[row][col]=0;
    }
    }
    return false;
    
}
int main(){
    int n;
    cin>>n;
    vector<vector<int>>board(n,vector<int>(n,0));
    vector<vector<vector<int>>>solution;
    if(solve(n,0,board,solution)){;
    for(int k=0;k<n;k++){
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cout<<solution[k][i][j]<<" ";       
            
        }
    }
    }
    cout<<endl;
}

return 0;
}