#include<bits/stdc++.h>
using namespace std;
int co=0;
vector<vector<vector<char>>>sol;
bool safe(vector<vector<char>>&board,int r,int c,int n){
    for(int i=r-1;i>=0;i--){
        if(board[i][c]=='Q')return false;
    }
    for(int i=r-1,j=c-1;i>=0 && j>=0;i--,j--){
        if(board[i][j]=='Q')return false;
    }
    for(int i=r-1,j=c+1;i>=0&&j<n;i--,j++){
        if(board[i][j]=='Q')return false;
    }
    return true;
}
void backtrack(vector<vector<char>>&board,int r,int n){
    if(r==n){
        co++;
        sol.push_back(board);
        return;
    }
   
    for(int col=0;col<n;col++){
        if(safe(board,r,col,n)){
            board[r][col]='Q';
            backtrack(board,r+1,n);
            board[r][col]='.';
        }
        
    }
   
  
}
int main(){
    int n;
    cin>>n;
    int a,b;
    cin>>a>>b;
    vector<vector<char>>board(n,vector<char>(n,'.'));
    board[a][b]='Q';
    backtrack(board,a+1,n);
   for(int i=0;i<sol.size();i++){
       for(int j=0;j<sol.size();j++){
           cout<<sol[i][j];
       }
   }
   if(co==0){
       cout<<"No solution";
   }
}