S, a = map(int, input().split())
n = a - 1
SIZE = 200
grid = [[' '] * SIZE for _ in range(SIZE)]
def draw_E(row, col):
#hang giu nguyen, cot thay doi(dich sang phai, tuc col += 1)
for _ in range(n):
col += 1
grid[row][col] = "*"
return row, col
def draw_W(row, col):
#hang giu nguyen, cot thay doi(dich sang trai tuc col -= 1)
for _ in range(n):
col -= 1
grid[row][col] = "*"
return row, col
def draw_S(row, col):
#Hang thay doi(hang dich xuong duoi => row += 1), cot giu nguyen
for _ in range(n):
row += 1
grid[row][col] = "*"
return row, col
def draw_N(row, col):
#Hang thay doi(Hang dich len tren -> row -= 1), cot giu nguyen
for _ in range(n):
row -= 1
grid[row][col] = "*"
return row, col
def draw_SE(row, col):
#Hang phai dich xuong duoi => row += 1
#Cot phai dich sang phai => col += 1
for _ in range(n):
row += 1
col += 1
grid[row][col] = "*"
return row, col
def draw_SW(row, col):
#Hang phai dich xuong duoi => row += 1
#Cot phai dich sang trai => col -= 1
for _ in range(n):
row += 1
col -= 1
grid[row][col] = "*"
return row, col
def draw_NW(row, col):
#Hang phai dich len tren => row -= 1
#Cot phai dich sang trai => col -= 1
for _ in range(n):
row -= 1
col -= 1
grid[row][col] = "*"
return row, col
def draw_NE(row, col):
#Hang phai dich len tren => row -= 1
#Cot phai dich sang phai => col += 1
for _ in range(n):
row -= 1
col += 1
grid[row][col] = "*"
return row, col
#Chon diem xuat phat(co the o bat ki dau nhung chon lam` sao cho khi ve khong bi lech ra ngoai)
row, col = 100, 100
grid[row][col] = "*"
if S == 3:
row, col = draw_E(row, col)
row, col = draw_SW(row, col)
row, col = draw_N(row, col)
elif S == 4:
row, col = draw_E(row, col)
row, col = draw_S(row, col)
row, col = draw_W(row, col)
row, col = draw_N(row, col)
elif S == 6:
row, col = draw_E(row, col)
row, col = draw_SE(row, col)
row, col = draw_SW(row, col)
row, col = draw_W(row, col)
row, col = draw_NW(row, col)
row, col = draw_NE(row, col)
else: # S == 8
row, col = draw_E(row, col)
row, col = draw_SE(row, col)
row, col = draw_S(row, col)
row, col = draw_SW(row, col)
row, col = draw_W(row, col)
row, col = draw_NW(row, col)
row, col = draw_N(row, col)
row, col = draw_NE(row, col)
#Tim hinh chu nhat nho nhat chua hinh
top = SIZE
bottom = -1
left = SIZE
right = -1
for i in range(SIZE):
for j in range(SIZE):
if grid[i][j] == '*':
top = min(top, i)
bottom = max(bottom, i)
left = min(left, j)
right = max(right, j)
# In ra, bỏ khoảng trắng thừa cuối mỗi dòng
for i in range(top, bottom + 1):
line = ''.join(grid[i][left:right + 1])
print(line.rstrip())
UywgYSA9IG1hcChpbnQsIGlucHV0KCkuc3BsaXQoKSkKbiA9IGEgLSAxCgpTSVpFID0gMjAwCmdyaWQgPSBbWycgJ10gKiBTSVpFIGZvciBfIGluIHJhbmdlKFNJWkUpXQoKZGVmIGRyYXdfRShyb3csIGNvbCk6CiAgICAjaGFuZyBnaXUgbmd1eWVuLCBjb3QgdGhheSBkb2koZGljaCBzYW5nIHBoYWksIHR1YyBjb2wgKz0gMSkKICAgIGZvciBfIGluIHJhbmdlKG4pOgogICAgICAgIGNvbCArPSAxCiAgICAgICAgZ3JpZFtyb3ddW2NvbF0gPSAiKiIKCiAgICByZXR1cm4gcm93LCBjb2wKCmRlZiBkcmF3X1cocm93LCBjb2wpOgogICAgI2hhbmcgZ2l1IG5ndXllbiwgY290IHRoYXkgZG9pKGRpY2ggc2FuZyB0cmFpICB0dWMgY29sIC09IDEpCiAgICBmb3IgXyBpbiByYW5nZShuKToKICAgICAgICBjb2wgLT0gMQogICAgICAgIGdyaWRbcm93XVtjb2xdID0gIioiCgogICAgcmV0dXJuIHJvdywgY29sCgpkZWYgZHJhd19TKHJvdywgY29sKToKICAgICNIYW5nIHRoYXkgZG9pKGhhbmcgZGljaCB4dW9uZyBkdW9pID0+IHJvdyArPSAxKSwgY290IGdpdSBuZ3V5ZW4KICAgIGZvciBfIGluIHJhbmdlKG4pOgogICAgICAgIHJvdyArPSAxCiAgICAgICAgZ3JpZFtyb3ddW2NvbF0gPSAiKiIKCiAgICByZXR1cm4gcm93LCBjb2wKCmRlZiBkcmF3X04ocm93LCBjb2wpOgogICAgI0hhbmcgdGhheSBkb2koSGFuZyBkaWNoIGxlbiB0cmVuIC0+IHJvdyAtPSAxKSwgY290IGdpdSBuZ3V5ZW4KICAgIGZvciBfIGluIHJhbmdlKG4pOgogICAgICAgIHJvdyAtPSAxCiAgICAgICAgZ3JpZFtyb3ddW2NvbF0gPSAiKiIKCiAgICByZXR1cm4gcm93LCBjb2wKCmRlZiBkcmF3X1NFKHJvdywgY29sKToKICAgICNIYW5nIHBoYWkgZGljaCB4dW9uZyBkdW9pID0+IHJvdyArPSAxCiAgICAjQ290IHBoYWkgZGljaCBzYW5nIHBoYWkgPT4gY29sICs9IDEKICAgIGZvciBfIGluIHJhbmdlKG4pOgogICAgICAgIHJvdyArPSAxCiAgICAgICAgY29sICs9IDEKICAgICAgICBncmlkW3Jvd11bY29sXSA9ICIqIgoKICAgIHJldHVybiByb3csIGNvbAoKZGVmIGRyYXdfU1cocm93LCBjb2wpOgogICAgI0hhbmcgcGhhaSBkaWNoIHh1b25nIGR1b2kgPT4gcm93ICs9IDEKICAgICNDb3QgcGhhaSBkaWNoIHNhbmcgdHJhaSA9PiBjb2wgLT0gMQogICAgZm9yIF8gaW4gcmFuZ2Uobik6CiAgICAgICAgcm93ICs9IDEKICAgICAgICBjb2wgLT0gMQogICAgICAgIGdyaWRbcm93XVtjb2xdID0gIioiCgogICAgcmV0dXJuIHJvdywgY29sCgpkZWYgZHJhd19OVyhyb3csIGNvbCk6CiAgICAjSGFuZyBwaGFpIGRpY2ggbGVuIHRyZW4gPT4gcm93IC09IDEKICAgICNDb3QgcGhhaSBkaWNoIHNhbmcgdHJhaSA9PiBjb2wgLT0gMQogICAgZm9yIF8gaW4gcmFuZ2Uobik6CiAgICAgICAgcm93IC09IDEKICAgICAgICBjb2wgLT0gMQogICAgICAgIGdyaWRbcm93XVtjb2xdID0gIioiCgogICAgcmV0dXJuIHJvdywgY29sCgpkZWYgZHJhd19ORShyb3csIGNvbCk6CiAgICAjSGFuZyBwaGFpIGRpY2ggbGVuIHRyZW4gPT4gcm93IC09IDEKICAgICNDb3QgcGhhaSBkaWNoIHNhbmcgcGhhaSA9PiBjb2wgKz0gMQogICAgZm9yIF8gaW4gcmFuZ2Uobik6CiAgICAgICAgcm93IC09IDEKICAgICAgICBjb2wgKz0gMQogICAgICAgIGdyaWRbcm93XVtjb2xdID0gIioiCgogICAgcmV0dXJuIHJvdywgY29sCgojQ2hvbiBkaWVtIHh1YXQgcGhhdChjbyB0aGUgbyBiYXQga2kgZGF1IG5odW5nIGNob24gbGFtYCBzYW8gY2hvIGtoaSB2ZSBraG9uZyBiaSBsZWNoIHJhIG5nb2FpKQpyb3csIGNvbCA9IDEwMCwgMTAwCmdyaWRbcm93XVtjb2xdID0gIioiCgppZiBTID09IDM6CiAgICByb3csIGNvbCA9IGRyYXdfRShyb3csIGNvbCkKICAgIHJvdywgY29sID0gZHJhd19TVyhyb3csIGNvbCkKICAgIHJvdywgY29sID0gZHJhd19OKHJvdywgY29sKQoKZWxpZiBTID09IDQ6CiAgICByb3csIGNvbCA9IGRyYXdfRShyb3csIGNvbCkKICAgIHJvdywgY29sID0gZHJhd19TKHJvdywgY29sKQogICAgcm93LCBjb2wgPSBkcmF3X1cocm93LCBjb2wpCiAgICByb3csIGNvbCA9IGRyYXdfTihyb3csIGNvbCkKCmVsaWYgUyA9PSA2OgogICAgcm93LCBjb2wgPSBkcmF3X0Uocm93LCBjb2wpCiAgICByb3csIGNvbCA9IGRyYXdfU0Uocm93LCBjb2wpCiAgICByb3csIGNvbCA9IGRyYXdfU1cocm93LCBjb2wpCiAgICByb3csIGNvbCA9IGRyYXdfVyhyb3csIGNvbCkKICAgIHJvdywgY29sID0gZHJhd19OVyhyb3csIGNvbCkKICAgIHJvdywgY29sID0gZHJhd19ORShyb3csIGNvbCkKCmVsc2U6ICAjIFMgPT0gOAogICAgcm93LCBjb2wgPSBkcmF3X0Uocm93LCBjb2wpCiAgICByb3csIGNvbCA9IGRyYXdfU0Uocm93LCBjb2wpCiAgICByb3csIGNvbCA9IGRyYXdfUyhyb3csIGNvbCkKICAgIHJvdywgY29sID0gZHJhd19TVyhyb3csIGNvbCkKICAgIHJvdywgY29sID0gZHJhd19XKHJvdywgY29sKQogICAgcm93LCBjb2wgPSBkcmF3X05XKHJvdywgY29sKQogICAgcm93LCBjb2wgPSBkcmF3X04ocm93LCBjb2wpCiAgICByb3csIGNvbCA9IGRyYXdfTkUocm93LCBjb2wpCgojVGltIGhpbmggY2h1IG5oYXQgbmhvIG5oYXQgY2h1YSBoaW5oCnRvcCA9IFNJWkUgICAgICAgCmJvdHRvbSA9IC0xICAgICAgCmxlZnQgPSBTSVpFCnJpZ2h0ID0gLTEKCmZvciBpIGluIHJhbmdlKFNJWkUpOgogICAgZm9yIGogaW4gcmFuZ2UoU0laRSk6CiAgICAgICAgaWYgZ3JpZFtpXVtqXSA9PSAnKic6ICAgICAgICAKICAgICAgICAgICAgdG9wID0gbWluKHRvcCwgaSkgICAgICAgCiAgICAgICAgICAgIGJvdHRvbSA9IG1heChib3R0b20sIGkpICAKICAgICAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCBqKSAgICAgIAogICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgaikgICAgCgojIEluIHJhLCBi4buPIGtob+G6o25nIHRy4bqvbmcgdGjhu6thIGN14buRaSBt4buXaSBkw7JuZwpmb3IgaSBpbiByYW5nZSh0b3AsIGJvdHRvbSArIDEpOgogICAgbGluZSA9ICcnLmpvaW4oZ3JpZFtpXVtsZWZ0OnJpZ2h0ICsgMV0pCiAgICBwcmludChsaW5lLnJzdHJpcCgpKQ==