import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
static char[][] str = null;
int n
= Integer.
parseInt(bf.
readLine()); // 3*2^k (3, 6, 12, 24, 48, ...) (k<=10)
str = new char[n][2*n-1]; // x,y 2차원 그림판 ... 수직방향이 x축, 수평이 y축 임...
drawStar(0,n-1,n);
for (int i = 0; i < n; i++) {
bw.write(str[i]);
bw.write('\n');
}
bw.flush();
bw.close();
}
/**
* 삼각형을 그리는 재귀함수
* @param x 삼각형을 꼭대기 x 좌표
* @param y 삼각형을 꼭대기 y 좌표
* @param n 삼각형 높이
*/
public static void drawStar(int x, int y, int n) {
if (n == 3) {
str[x][y] = '*'; // 1번째 줄
str[x+1][y-1] = str[x+1][y+1] = '*'; // 2번째 줄
str[x+2][y-2] = str[x+2][y-1] = str[x+2][y] = str[x+2][y+1] = str[x+2][y+2] = '*'; // 3번째줄
return;
}
drawStar(x,y,n/2);
drawStar(x+ n/2,y-n/2,n/2);
drawStar(x+ n/2,y+n/2,n/2);
}
}
aW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXI7CmltcG9ydCBqYXZhLmlvLkJ1ZmZlcmVkV3JpdGVyOwppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEuaW8uSW5wdXRTdHJlYW1SZWFkZXI7CmltcG9ydCBqYXZhLmlvLk91dHB1dFN0cmVhbVdyaXRlcjsKCnB1YmxpYyBjbGFzcyBNYWluIHsKCXN0YXRpYyBjaGFyW11bXSBzdHIgPSBudWxsOwoKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBOdW1iZXJGb3JtYXRFeGNlcHRpb24sIElPRXhjZXB0aW9uIHsKCQkKCQlCdWZmZXJlZFJlYWRlciBiZiA9IG5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIoU3lzdGVtLmluKSk7CiAgICAgICAgQnVmZmVyZWRXcml0ZXIgYncgPSBuZXcgQnVmZmVyZWRXcml0ZXIobmV3IE91dHB1dFN0cmVhbVdyaXRlcihTeXN0ZW0ub3V0KSk7CgkJCgkJaW50IG4gPSBJbnRlZ2VyLnBhcnNlSW50KGJmLnJlYWRMaW5lKCkpOyAvLyAzKjJeayAgKDMsIDYsIDEyLCAyNCwgNDgsIC4uLikgKGs8PTEwKQoJCQoJCXN0ciA9IG5ldyBjaGFyW25dWzIqbi0xXTsgLy8geCx5IDLssKjsm5Ag6re466a87YyQIC4uLiDsiJjsp4HrsKntlqXsnbQgeOy2lSwg7IiY7Y+J7J20IHnstpUg7J6ELi4uIAoJCQoJCWRyYXdTdGFyKDAsbi0xLG4pOwoJCQoJCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CgkJCWJ3LndyaXRlKHN0cltpXSk7CgkJCWJ3LndyaXRlKCdcbicpOwoJCX0KCQkKCQlidy5mbHVzaCgpOwoJCWJ3LmNsb3NlKCk7CgkJCgl9CgkKCS8qKgoJICog7IK86rCB7ZiV7J2EIOq3uOumrOuKlCDsnqzqt4DtlajsiJgKCSAqIEBwYXJhbSB4IOyCvOqwge2YleydhCDqvK3rjIDquLAgeCDsooztkZwKCSAqIEBwYXJhbSB5IOyCvOqwge2YleydhCDqvK3rjIDquLAgeSDsooztkZwKCSAqIEBwYXJhbSBuIOyCvOqwge2YlSDrhpLsnbQKCSAqLwoJcHVibGljIHN0YXRpYyB2b2lkIGRyYXdTdGFyKGludCB4LCBpbnQgeSwgaW50IG4pIHsKCQlpZiAobiA9PSAzKSB7CgkJCXN0clt4XVt5XSA9ICcqJzsgLy8gMeuyiOynuCDspIQKCQkJc3RyW3grMV1beS0xXSA9IHN0clt4KzFdW3krMV0gPSAnKic7IC8vIDLrsojsp7gg7KSECgkJCXN0clt4KzJdW3ktMl0gPSBzdHJbeCsyXVt5LTFdID0gc3RyW3grMl1beV0gPSBzdHJbeCsyXVt5KzFdID0gc3RyW3grMl1beSsyXSA9ICcqJzsgLy8gM+uyiOynuOykhAoJCQlyZXR1cm47CgkJfQoJCQoJCWRyYXdTdGFyKHgseSxuLzIpOwoJCWRyYXdTdGFyKHgrIG4vMix5LW4vMixuLzIpOwoJCWRyYXdTdGFyKHgrIG4vMix5K24vMixuLzIpOwoJfQoJCn0=