def c(i):
m=n=();e,z=enumerate,'for j,r in e(i):\n for k,c in e(r):%s'
exec z%'\n if"#"==c:m+=j,;n+=k,'
exec z%'\n if min(m)<=j<=max(m)<[]>min(n)<=k<=max(n):i[j][k]="#"'
return i
tests = [[['#']],
[['.','.','.'],['#','.','.'],['.','.','.']],
[['.','.','.'],['#','.','.'],['.','.','#']],
[['.','#','.'],['#','.','.'],['.','.','#']],
[['.','.','.','.','.','.','.','.','.','.'],['.','.','.','.','.','.','.','.','.','.'],['.','.','.','.','#','.','.','.','.','.'],['.','.','.','.','.','.','.','.','.','.']],
[['.','.','.','.','.','.','.','.','.','.'],['.','.','.','.','.','.','.','.','.','.'],['.','.','.','.','#','.','.','.','.','.'],['.','.','.','#','.','.','.','.','.','.']],
[['.','.','.','.','.','.','.','.','.','.'],['.','.','#','.','.','.','.','.','.','.'],['.','.','.','.','#','.','.','.','.','.'],['.','.','.','#','.','.','.','.','.','.']],
[['.','.','.','.','.','.','.','.','.','.'],['.','.','#','.','.','.','.','.','.','.'],['.','.','.','.','#','.','.','#','.','.'],['.','.','.','#','.','.','.','.','.','.']],
[['.','.','.','.','.','.','.','.','.','#'],['.','.','#','.','.','.','.','.','.','.'],['.','.','.','.','#','.','.','#','.','.'],['.','.','.','#','.','.','.','.','.','.']]]
for n, test in enumerate(tests, 1):
print 'Test %d'%n
print '\n'.join(''.join(r) for r in test)
print
print '\n'.join(''.join(r) for r in c(test))
print
ZGVmIGMoaSk6CiBtPW49KCk7ZSx6PWVudW1lcmF0ZSwnZm9yIGosciBpbiBlKGkpOlxuIGZvciBrLGMgaW4gZShyKTolcycKIGV4ZWMgeiUnXG4gIGlmIiMiPT1jOm0rPWosO24rPWssJwogZXhlYyB6JSdcbiAgaWYgbWluKG0pPD1qPD1tYXgobSk8W10+bWluKG4pPD1rPD1tYXgobik6aVtqXVtrXT0iIyInCiByZXR1cm4gaQoKCnRlc3RzID0gW1tbJyMnXV0sCltbJy4nLCcuJywnLiddLFsnIycsJy4nLCcuJ10sWycuJywnLicsJy4nXV0sCltbJy4nLCcuJywnLiddLFsnIycsJy4nLCcuJ10sWycuJywnLicsJyMnXV0sCltbJy4nLCcjJywnLiddLFsnIycsJy4nLCcuJ10sWycuJywnLicsJyMnXV0sCltbJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nXSxbJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nXSxbJy4nLCcuJywnLicsJy4nLCcjJywnLicsJy4nLCcuJywnLicsJy4nXSxbJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nXV0sCltbJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nXSxbJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nXSxbJy4nLCcuJywnLicsJy4nLCcjJywnLicsJy4nLCcuJywnLicsJy4nXSxbJy4nLCcuJywnLicsJyMnLCcuJywnLicsJy4nLCcuJywnLicsJy4nXV0sCltbJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nXSxbJy4nLCcuJywnIycsJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nXSxbJy4nLCcuJywnLicsJy4nLCcjJywnLicsJy4nLCcuJywnLicsJy4nXSxbJy4nLCcuJywnLicsJyMnLCcuJywnLicsJy4nLCcuJywnLicsJy4nXV0sCltbJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nXSxbJy4nLCcuJywnIycsJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nXSxbJy4nLCcuJywnLicsJy4nLCcjJywnLicsJy4nLCcjJywnLicsJy4nXSxbJy4nLCcuJywnLicsJyMnLCcuJywnLicsJy4nLCcuJywnLicsJy4nXV0sCltbJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nLCcuJywnLicsJyMnXSxbJy4nLCcuJywnIycsJy4nLCcuJywnLicsJy4nLCcuJywnLicsJy4nXSxbJy4nLCcuJywnLicsJy4nLCcjJywnLicsJy4nLCcjJywnLicsJy4nXSxbJy4nLCcuJywnLicsJyMnLCcuJywnLicsJy4nLCcuJywnLicsJy4nXV1dCgpmb3IgbiwgdGVzdCBpbiBlbnVtZXJhdGUodGVzdHMsIDEpOgoJcHJpbnQgJ1Rlc3QgJWQnJW4KCXByaW50ICdcbicuam9pbignJy5qb2luKHIpIGZvciByIGluIHRlc3QpCglwcmludAoJcHJpbnQgJ1xuJy5qb2luKCcnLmpvaW4ocikgZm9yIHIgaW4gYyh0ZXN0KSkKCXByaW50Cg==