#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,int col,vector<vector<int>>&board){
    if(row==n){
        return true;
    }
    for(int col=0;col<n;col++){
    if(check(n,row,col,board)){
        board[row][col]=1;
        if(solve(n,row+1,board)){
            return true;
        }
    }
    }
    return false;
    
}
int main(){
    int n;
    cin>>n;
    vector<vector<int>>board(n,vector<int>(n,0));
    if(solve(n,0,0,board)){;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cout<<board[i][j]<<" ";       
            
        }
    }
    cout<<endl;
}

return 0;
}