#include <bits/stdc++.h>
using namespace std;
int a[1033][1033];
void recurse(int size) {
  int i, j;
  if (size > 1) {
    recurse(size / 2);
    int temp = size / 2;
    for (i = 0; i < temp; i++) {
      for (j = 0; j < temp; j++) {
        a[i][j + temp] = a[i][j];
        a[i + temp][j + temp] = a[i][j];
        a[i + temp][j] = -a[i][j];
      }
    }
  } else {
    a[0][0] = 1, a[0][1] = 1, a[1][1] = 1, a[1][0] = -1;
  }
}
int main() {
  int i, j, n, k;
  cin >> k;
  n = 1 << k;
  recurse(n);
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (a[i][j] == 1)
        cout << "+";
      else
        cout << "*";
    }
    cout << endl;
  }
  return 0;
}
