#include <bits/stdc++.h>
using namespace std;
string inv(string str) {
  string res = "";
  for (int i = 0; i < (str.length()); ++i) {
    if (str[i] == '+')
      res += "*";
    else
      res += "+";
  }
  return res;
}
bool check(string a, string b) {
  int sum = 0;
  for (int i = 0; i < (a.length()); ++i) {
    if (a[i] != b[i])
      sum--;
    else
      sum++;
  }
  return sum == 0;
}
bool verify(vector<string> stuff) {
  for (int i = 0; i < (int((stuff).size())); ++i) {
    for (int j = i + 1; j < int((stuff).size()); j++) {
      if (!check(stuff[i], stuff[j])) return false;
    }
  }
  return true;
}
int main() {
  cin.tie(0);
  cout.tie(0);
  int k;
  int cnt = 1;
  cin >> k;
  if (k == 0) {
    cout << "+" << endl;
    return 0;
  } else if (k == 1) {
    cout << "++" << endl;
    cout << "+*" << endl;
    return 0;
  } else if (k == 2) {
    cout << "++**" << endl;
    cout << "+*+*" << endl;
    cout << "++++" << endl;
    cout << "+**+" << endl;
    return 0;
  }
  vector<string> stuff;
  stuff.push_back("++**");
  stuff.push_back("+*+*");
  stuff.push_back("++++");
  stuff.push_back("+**+");
  for (int i = 3; i <= k; i++) {
    vector<string> newstuff;
    for (int i = 0; i < (int((stuff).size())); ++i) {
      newstuff.push_back(stuff[i] + stuff[i]);
      newstuff.push_back(stuff[i] + inv(stuff[i]));
    }
    stuff.clear();
    for (int i = 0; i < (int((newstuff).size())); ++i)
      stuff.push_back(newstuff[i]);
  }
  for (int i = 0; i < (int((stuff).size())); ++i) {
    cout << stuff[i] << endl;
  }
}
