''''',,,,,,,,,,;;;;;;;,,,,;;;;;;;;;,'..'',,,;;;;;;;;,,,'',,,,,'...':oddodoolcccc
'''',,,,,,,,,,,;;;;;;;;,,,,;;;;;;;,,'.''',,,,,;;;;,,,,'',,,,,,,'''',:clllllllccc
'''''',,,,,,,,,,,,,,,,,,,,,,;,,,''''''''',,,,,,,,,,'''''',,,,,,'''''',:loooollll
',,,,,,,,,,,,,,,,,,,,,,,,,,,.......:;''',,,,,,,,,,'',,,,,,,,,,,,'''..':oddoooooo
'',,,,,,,,,,,,,,,,,,,,,,,,,. ......;:'''',,,,,,,,,''''',,,,,,,,,,'''',codddddddd
OOOOOOOOOOOOOOOOkkkkkkkkkkko::;;c'.,dOOOOOOOOOOOOOOOOO0000000Oxllox00KKKXXXXXXXX
XXXXXXXXNNNNNNNXXXXXXXXXXXXxcc',cdddOXXXXXXXXXXXXXXXXXXXXKKK0o,',:okKKKKKKKKKKKK
xxxxxkkkOOOOOO0OOO00OOOOO0OOdoc::cxO000000KKKKK0OOOOOOkOOkOOdxooookdxkO000000OOO
kxddoooooooooddooodddooodddodl,::clddXWWNNWNNWWNNXKOOkxxxdddxxllccodlddxkkkkxxxx
0kxddoooooooooooooooooooooooOOl:;::;;OK0KXXNNNWMMWWWWWXXN0xkOxco:'cdlcoxxxxxxxxx
KkkxdddoooooooooooooolloldOXXKc,'..':ddxxkOO000KXNNXXXXKKd;lxkkx:;co::oxxxxxxxxx
XOkxxddddoooooooooooolod0NNKOl:cc:;cddxddxxxxkOOxxk0KK0Ox,.,,;:dxxlc..';ldxxxxxx
X0kxxddddooooooooooooodXNXKOc:ccccloodxddkkOOkxxooool:;;;....',,cxkl,;,'..:oxxxx
XXOxxdddddooooooooooodKNXK0o;lllllloddxdooxkkOOOxc;'... ,:. ,oc:lkOOdlo;..dxxx
XX0xxdddddoooooooooodKNXK0O:,:c;:llllc,::lodxO00k'.. ... ':l:;lxkoo; c0kx
0XXOxxddddddooooooookNX00xo:.',,:c,'.,;,'.:xkO0KK'. ... .;lxkkd;.'kOx
kKX0xdddddooollloood0XK0Okodc',;;;;',:lolodxkO0XWx..'. ....'''',;:;lllclcOxx
xOXXOxddddddolcloookXXK0Odloddc;;clddxxxxxkOxOKNNNN0xl:;::::..... ...:c:;xOx
kOKXKkkkkkxxxxxxxxkKXK0kxoc,,oolodxxkkOOOOkxxkOO00XNNOoooocl' ...;do:ckx
OOKXX0OOOOOOOOOOOOOkxxdoxko'.,okOOOOOkOkkxkOOOOOKXXXKOkl,.. .;''oxocok
0KKXNXKKKKKKKKKKKKKxlooodkd;';d0OO0OO0000000000KXNKO0KK0; ..:c.cdddok
kO0KXX0OOOOkkkOOOOOkdlc:ccooodol:oO0000000000KKKXNNKkkkkd. . .l,.:ddxdk
xkOOKX0kkkxxxxxxxxxxkkxxdo:,,,;;ckKKK0KKKXXXKXXKXNWW0dddo. .;xo.,;odxdl
xkkO0KKOxxxxxxxxxxxxxxxkkko,',:OKXKKKKKKKXKXXXXNNNWWKdddd' .',;:loc'..';ldxoc
xxxkk0K0xddddddddddddddddxddkOoOXXXXKXXXXXKXXNNNWWWWWOdoo: .cdc;'.. ..',,:cdooo
dddxxOKKxoo