#include <bits/stdc++.h>
using namespace std;
const long long INF = 1e18 + 1;
const double eps = 1e-6;
void f(vector<vector<int>>& v) {
  int n = v.size();
  for (int i = 0; i < n; ++i) {
    v.push_back(v[i]);
  }
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < n; ++j) {
      v[i].push_back(v[i][j]);
    }
  }
  for (int i = n; i < n * 2; ++i) {
    for (int j = 0; j < n; ++j) {
      v[i].push_back(-v[i][j]);
    }
  }
}
int main() {
  int n = 1, s, t, st = 1;
  cin >> s;
  vector<vector<int>> v;
  for (int i = 0; i < s; ++i) {
    n *= 2;
  }
  vector<int> c;
  c.push_back(1);
  v.push_back(c);
  for (int i = 0; i < s; ++i) {
    f(v);
  }
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < n; ++j) {
      if (v[i][j] == 1) {
        cout << "+";
      } else {
        cout << "*";
      }
    }
    cout << endl;
  }
  return 0;
}
