#include<iostream>
using namespace std;
const int N=20;
char grid[N][N];
bool col[N],dg[N],udg[N];//八皇后出问题就在对角线上:1、2*N的问题 ;2、对角线=u+i, 反对角线=n-u+i;
int n;
void dfs_quene(int u)
{
if(u==n)
{
for(int i=0;i<n;i++) puts(grid[i]);
cout<<endl;
return ;
}
for(int i=0;i<n;i++)
{
if(!col[i] && !dg[u+i] && !udg[n-u+i])
{
grid[u][i]='Q';
col[i]=dg[u+i]=udg[n-u+i]=true;
dfs_quene(u+1);
grid[u][i]='.';
col[i]=dg[u+i]=udg[n-u+i]=false;
}
}
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
grid[i][j]='.';
dfs_quene(0);
return 0;
}