#include<bits/stdc++.h>
using namespace std;
char a[100];
int b = 0;
int z;
int dfs(int x)
{
for(int k = 0; k < (2 * z + 2); k++)
{
cout << a[k];
}
cout << endl;
if(x == 4)
{
cout << "ooo--***o*o*o*o*" << endl;
cout << "ooo*o**--*o*o*o*" << endl;
cout << "o--*o**oo*o*o*o*" << endl;
cout << "o*o*o*--o*o*o*o*" << endl;
cout << "--o*o*o*o*o*o*o*" << endl;
return 0;
}
else
{
swap(a[b / 2 - 1],a[b - 1]);
swap(a[b / 2 - 2],a[b - 2]);
for(int l = 0; l < (2 * z + 2); l++)
{
cout << a[l];
}
cout << endl;
b -= 2;
swap(a[b / 2],a[b - 1]);
swap(a[b / 2 - 1],a[b - 2]);
}
return dfs(x - 1);
}
int main()
{
cin >> z;
for(int i = 0; i < z; i++)
{
a[i] = 'o';
b++;
}
for(int j = z; j < (2 * z); j++)
{
a[j] = '*';
b++;
}
b += 2;
a[2 * z] = '-';
a[2 * z + 1] = '-';
dfs(z);
return 0;
}