#include <bits/stdc++.h>
using namespace std;
const long long N = 100000000;
class Harmony {
  int n;
  int a[515][515] = {};

 public:
  void read() { cin >> n; }
  void gen() { a[1][1] = 1; }
  void next_gen(int k) {
    for (int i = 1; i <= pow(2, k - 1); i++)
      for (int j = pow(2, k - 1) + 1, k1 = 1; j <= pow(2, k); j++, k1++)
        a[i][j] = a[i][k1];
    for (int i = pow(2, k - 1) + 1, k1 = 1; i <= pow(2, k); i++, k1++)
      for (int j = 1; j <= pow(2, k - 1); j++) a[i][j] = a[k1][j];
    for (int i = pow(2, k - 1) + 1, k1 = 1; i <= pow(2, k); i++, k1++)
      for (int j = pow(2, k - 1) + 1, l = 1; j <= pow(2, k); j++, l++)
        a[i][j] = -a[k1][l];
    if (k < n) next_gen(k + 1);
  }
  void show_ans() {
    for (int i = 1; i <= pow(2, n); i++) {
      for (int j = 1; j <= pow(2, n); j++)
        if (a[i][j] == 1)
          printf("+");
        else
          printf("*");
      printf("\n");
    }
  }
};
int main() {
  Harmony har;
  har.read();
  har.gen();
  har.next_gen(1);
  har.show_ans();
  return 0;
}
