#include <iostream>
#include <cmath>
using namespace std;
//抄博友程序 dfs
char da[1000][1000];
void dfs(int x,int y,int d)
{
//cout<<x<<" "<<y<<" "<<d<<endl;
if(d==1)
{
da[x][y]='X';
return;
}
int t=pow(3,d-2);
//cout<<t<<endl;
dfs(x,y,d-1);
dfs(2*t+x,y,d-1);
dfs(t+x,t+y,d-1);
dfs(x,2*t+y,d-1);
dfs(2*t+x,2*t+y,d-1);
}
int main()
{
//cout<<pow(3,0)<<endl;
while(1)
{
int n;
cin>>n;
if(n==-1)
{
break;
}
for(int i=0;i<1000;i++)
{
for(int j=0;j<1000;j++)
{
da[i][j]=' ';
}
}
dfs(0,0,n);
int t=pow(3,(n-1));
for(int i=0;i<t;i++)
{
int k=0;
for(int j=0;j<t;j++)
{
if(da[i][j]=='X')
{
k=j;
}
}
for(int j=0;j<=k;j++)
{
cout<<da[i][j];
}
cout<<endl;
}
cout<<"-"<<endl;
}
return 0;
}