#include <bits/stdc++.h>
using namespace std;
struct edge {
  int u, v;
  long long w;
};
long long MOD = 1000000007;
long long _MOD = 1000000009;
double EPS = 1e-10;
int a[512][512];
int main() {
  a[0][0] = 1;
  for (int k = 0; k < 9; k++) {
    int n = 1 << k;
    for (int i = 0; i < n; i++)
      for (int j = 0; j < n; j++) {
        a[n + i][j] = a[i][j];
        a[i][n + j] = a[i][j];
        a[n + i][n + j] = -a[i][j];
      }
  }
  int k;
  cin >> k;
  int n = 1 << k;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) cout << (a[i][j] == 1 ? '+' : '*');
    cout << endl;
  }
}
