#include <bits/stdc++.h>
int map[525][525];
int note[10] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512};
int main() {
  int time = 0, size = 1, i, j, head, tail;
  map[1][1] = 1;
  while (time != 9) {
    time++;
    head = size + 1;
    tail = 2 * size;
    for (i = 1; i <= size; i++)
      for (j = head; j <= tail; j++) map[i][j] = map[i][j - size];
    for (i = head; i <= tail; i++)
      for (j = 1; j <= size; j++) map[i][j] = map[i - size][j];
    for (i = head; i <= tail; i++)
      for (j = head; j <= tail; j++) map[i][j] = -map[i - size][j - size];
    size *= 2;
  }
  int k;
  scanf("%d", &k);
  for (i = 1; i <= note[k]; i++) {
    for (j = 1; j <= note[k]; j++)
      if (map[i][j] == 1)
        printf("+");
      else
        printf("*");
    puts("");
  }
  return 0;
}
