from itertools import chain
w = max(int(input()), 2)
h = max(int(input()), 2)
print(
('{0}' * w + ('\n{0}' + '{1}'*(w - 2) + '{0}')*(h - 2) + '\n' + '{0}' * w)
.format('o', ' ')
)
print('\n')
print(
'\n'.join(
''.join(map(str, range((i + 1) * 2 - 1, w * 2, 2))) +
'{1}' * (2 * i) +
''.join(map(str, range(w * 2 - 1, i * 2, -2)))
for i in chain(range(0, w), range(w - 1, -1, -1))
)
.format('o', ' ')
)
ZnJvbSBpdGVydG9vbHMgaW1wb3J0IGNoYWluCgp3ID0gbWF4KGludChpbnB1dCgpKSwgMikKaCA9IG1heChpbnQoaW5wdXQoKSksIDIpCgpwcmludCgKCSgnezB9JyAqIHcgKyAoJ1xuezB9JyArICd7MX0nKih3IC0gMikgKyAnezB9JykqKGggLSAyKSArICdcbicgKyAnezB9JyAqIHcpCgkuZm9ybWF0KCdvJywgJyAnKQopCgpwcmludCgnXG4nKQoKcHJpbnQoCgknXG4nLmpvaW4oCgkJJycuam9pbihtYXAoc3RyLCByYW5nZSgoaSArIDEpICogMiAtIDEsIHcgKiAyLCAyKSkpICsKCQknezF9JyAqICgyICogaSkgKwoJCScnLmpvaW4obWFwKHN0ciwgcmFuZ2UodyAqIDIgLSAxLCBpICogMiwgLTIpKSkKCQlmb3IgaSBpbiBjaGFpbihyYW5nZSgwLCB3KSwgcmFuZ2UodyAtIDEsIC0xLCAtMSkpCgkpCgkuZm9ybWF0KCdvJywgJyAnKQop