#include #include #include using namespace std; void bars(string* array, int lowerLimit, int upperLimit, int n) { array[(upperLimit+lowerLimit)/2].append(n,'*'); if(lowerLimit == upperLimit) { return; } bars(array,lowerLimit,(upperLimit+lowerLimit)/2 - 1,n-1); bars(array,(upperLimit+lowerLimit)/2 +1,upperLimit,n-1); } int main() { int n; cin >> n; string* array = new string[(int)(pow(2,n) - 1)]; bars(array,0,pow(2,n) - 2,n); for(int i = 0; i < (pow(2,n) - 1); i++) { cout << array[i] << endl; } return 0; }