#include <bits/stdc++.h>
using namespace std;
char arr[1000][1000];
int kk;
void fill(int i, int j, bool inv) {
  if (inv) {
    arr[i][j] = '+';
    arr[i + 1][j] = '+';
    arr[i][j + 1] = '+';
    arr[i + 1][j + 1] = '*';
  } else {
    arr[i][j] = '*';
    arr[i + 1][j] = '*';
    arr[i][j + 1] = '*';
    arr[i + 1][j + 1] = '+';
  }
}
void solve(int k, int i, int j, bool inv) {
  if (k == 2) {
    fill(i, j, inv);
    fill(i + 2, j, inv);
    fill(i, j + 2, inv);
    fill(i + 2, j + 2, !inv);
    return;
  }
  int k1 = k - 1;
  solve(k1, i, j, !inv);
  solve(k1, i, j + (1 << k1), !inv);
  solve(k1, i + (1 << k1), j, !inv);
  solve(k1, i + (1 << k1), j + (1 << k1), inv);
}
void print(int n) {
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) printf("%c", arr[i][j]);
    printf("\n");
  }
}
int main() {
  int k;
  cin >> k;
  if (k == 0) {
    printf("+\n");
    return 0;
  }
  if (k == 1) {
    fill(0, 0, false);
    print(2);
    return 0;
  }
  solve(k, 0, 0, false);
  print(1 << k);
  return 0;
}
