#include <bits/stdc++.h>
using namespace std;
const int N = 1050;
int grid[12][N][N];
int n, pot;
void pintar(int f, int c, int l, int ok, int k) {
  for (int i = f; i < f + l; i++) {
    for (int j = c; j < c + l; j++) {
      grid[k][i][j] = grid[k - 1][i - f][j - c] * ok;
    }
  }
}
int main() {
  scanf("%d", &n);
  pot = 1;
  grid[0][0][0] = 1;
  for (int i = 1; i <= n; i++) {
    pot *= 2;
    int t = pot / 2;
    pintar(0, 0, t, 1, i);
    pintar(0, t, t, 1, i);
    pintar(t, 0, t, 1, i);
    pintar(t, t, t, -1, i);
  }
  for (int i = 0; i < (int)(pot); i++) {
    for (int j = 0; j < (int)(pot); j++) {
      printf("%c", grid[n][i][j] == 1 ? '+' : '*');
    }
    puts("");
  }
  return 0;
}
