#include <bits/stdc++.h>
using namespace std;
const int N = 1e2 + 5;
#define mod 1e9 + 7
#define upto(i, a, b) for (int i = a; i <= b; i++)
#define downto(i, a, b) for (int i = a; i >= b; i--)
#define rep(i, a, b) for (int i = a; i < b; i++)
int n, s;
char chess[N];
void Reflect_()
{
upto(i, 1, 2 * n + 2)
{
cout << chess[i];
}
cout << "\n";
}
void Initial(int n)
{
s = 2 * n + 1;
upto(i, 1, n)
{
chess[i] = 'o';
}
upto(i, n + 1, 2 * n)
{
chess[i] = '*';
}
upto(i, 2 * n + 1, 2 * n + 2)
{
chess[i] = '-';
}
Reflect_();
}
void Fdoo(int k)
{
upto(i, 0, 1)
{
chess[s + i] = chess[k + i];
chess[k + i] = '-';
}
s = k;
Reflect_();
}
void Sdoo(int n)
{
int k;
if (n == 4)
{
Fdoo(4);
Fdoo(8);
Fdoo(2);
Fdoo(7);
Fdoo(1);
}
else
{
Fdoo(n);
Fdoo(2 * n - 1);
Sdoo(n - 1);
}
}
int main()
{
cin >> n;
Initial(n);
Sdoo(n);
return 0;
}