MMMMMMMMMMMWWWWWWWMMMMMWWWMMMMMMWWMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
WWWWWWWWWWWWWWWWWWWWWWX0KO0XWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
WWWWWWWWWWWWWWWWWWWWW0.'xKOxOWWWWWWWWWWWWWWWWWWWWMMMMWWWWWWWMMMMMMMMMMMMMMMMMM
WWWWWWWWWWWWWNNNNNNNk' ,:ldcdWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMM
WWWWWWWWWWWNNNNNNNNx;..'.;::XWWNWWNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMM
WWWWWWWWWWNNNNNNNKlcc,....lKWWWNNNNNNNNNNNNNNNNNWWNNNNWWNNNNNNNNNNNNNWWNXKXXXN
MMMMMMMWWWWNNNXK00kOo..  'KWNNNNNNNNNNNNNNNNNNNNWWNWNNNXKK0Oxxdoook000kxdkOKKK
MMMMMWWWWWWWNklloocdkko,..kWWWWWWNNNNNNNNWWWWWWWWWWWX0xddddddoodoloooooodk0KKX
MMMMWWWWWWNNk.cl;;,,'cxd,.dONWWWWWWWWWNNNXXKXXKKK00Oxxdxxddxxxoooloodoollxxk0K
WWNNNXXXK000l,lo,',. .lOxoOOKXXXKK0OkkkkkddxdodddolodddolloddxdoooooolccldddkK
OOkkkxxxdddd,,lo:.. .';okkxdoddddddddddddddxdxxdodxkxxddocokxkxxkxdddllllooddk
kkkxxddooool,,::c.'...,:okdccccccccccccccccccllccclooollllooooddxddolcccccclld
xxxddollcccl::c;o'cc;:;;lxxolcccccccccccccccllllccccccc::::::::::::::::::::::c
oooolcc:::::,:ocl,lo;,:cclll:c:ccccccccccccccccccccccccccccccccccc::::::::::::
oooc:;;,;;;;',llc;cxxoc:cc,;:::::::ccccc::::::ccccc::::cc:::c:::::::::::::cccl
lc:;,,,,,,,,. .''':xdool:ool:;;;;;;::::ccccc;:::::::::::::::::::::::::::::cccl
c:;,,,''',,,.   ...:odxxkk:dc',,,,,,,,;:lollcccllccc:::;;;:::::::::::::::::ccl
:;,,,,,,,,,,.  ,ol    .',l:00,','',,,;;:cllooooooooo:::::::c:::::;;:::::::cllo
lc:;,'''''''.'.oKK.    .;kOkNWOc,...,:cloooollloolllloooollllccc:::::cc:ccccld
ddddol:;,''''. .:; .'.  ,0WWWMWWNl....';;;;;;;;::::::::cccccclccccccccccccclod
llllllooollcc'     :dc. .,lXMMMMWx..',,,,'.................',::ccc:ccc:c::clod
ccccccccccclo:':,  .',. ...oNWWXd.....'','....'...............',::ccccccccclox
:::::cccccloo'.cc.      ,::;:lc;'.............................'':cclccccccclod
::::;;;;::cc:..cl,     .llc:;,,';::;,...........................',,;ccccccccll
;,,,,,;;;::::;,c:.   .,cccccc:,'...,;,;;,.......................'',,;;;;;;;;:c
:;,,,,,;;:cllodl.  ,lc;;;;;:llllccccc::;,,;;,;;,,,,,,'.........',,,,,;;;;;;;;:
,,,;;;;;;:::ccc' .cxdc::::::cccccccc::::c::ccccc:::;;,....''.....'',,;;;;;,,,;
;,,;,;;:;;;;;;'   ',,,,,,,,,,,,,,,,,,,,,,',,,;;c;,,,,,,,,,,''....'',;:;;,'',,,
:;,,,,;;;;;;;,.    .',,,,,'''''''''''''''''''',;,,,,,''',,,'''',,,,,;;:::;,,,,
::;;,,,,;;;;'.     .;;;;;;;;;,,,,,'',,,,,,,,,,,,,,;;;,,,,,,',',,,,,,,;;;;;;;;;
c::;;;,'....      .::;,,;,,;;;;;;;;,,,,,,,,,,,,,,,,,,,,,;;;,,,,,,,,,,;;;;;;;;:
cc:;,.          ,dOOkc;:;,,;:;,,,,;;;;;;;,;;,,,,,'''''''',,,,,,,;;;,,;;;;;;;;;
ooc.          .c;;::xK0Od,coc::,;;:cc:,,,,,,,,,,,,,,,,,''''.''''',,,,,;;;;;;;;
ooo:..........;ol::clooclcoollccc:':cllc:;,;,,,,,,,,,,,,;;,,,,,'''''''',,;;:;;
olc:c:clllllllcc:c:;:cc::;:;:c;;:;,;;,;,;:cc::;:cc:,,',,,,',;;,;;;;,'.,''.,;',
ccc::;,;ccc::::c:::;,,;:c:,,,;:::c'.;. ...,;::;::::'.',,,,',;,';;:::,,,',',,,;
lllollcccc;',;;..'..''';;;,:cc;,;:::;''. ...''...'...'';;,;;,,;;:::;:::;;;,,;:
cccllccllccc:;;;;,....,,;:::::;:,.:cc:,....  ...      .'';;;:;;::c:;cc::::::cc
ccccc::cllccc:;;:,'.,.'.';;;;;:lc;,,:;....   ...   .'' .',''::;;:cc::cccc:::cl