#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
void check(int n,int row,int col,vector<vector<int>>&board){
    for(int i=row;i<n;i++){
        board[i][col];
        return false;
    }
    for(int i=row,j=col;i>=0,j>=0;i--,j--){
        board[i][j];
        return false;
    }
    for(int i=row,j=col;i<n,j>=0;i++,j--){
        board[i][j];
        return false;
    }
    return true;
}
bool nqueen(int n,int row,vector<vector<int>>board){
    if(col==n){
        return true;
    }
    for(int i=col;i<col;i++){
        if(check(n,row,col,board)){
            board[row][i]=1;
        }
        if(nqueen(n,row+1,board)){
        return true;
        }
        board[row][i]=0;
    }
    return false;
}
int main(){
    int n;
    cin>>n;
    vector<vector<int>>board(n,vector<int>(n));
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cin>>board[i][j];
        }
    }
    nqueen(n,0,board);
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(board[i][j]){
                cout<<"Q"<<" ";
            }
            }
            else{
                cout<<"-"<<" ";
        }
    }
    return 0;
}