`7MM"""Yb. `7MM"""Mq.        db       .g8"""bgd    .g8""8q. `7MN.   `7MF'`7MM"""Mq.  `7MM"""YMM        db      `7MMF'      `7MMM.     ,MMF'
  MM    `Yb. MM   `MM.      ;MM:    .dP'     `M  .dP'    `YM. MMN.    M    MM   `MM.   MM    `7       ;MM:       MM          MMMb    dPMM  
  MM     `Mb MM   ,M9      ,V^MM.   dM'       `  dM'      `MM M YMb   M    MM   ,M9    MM   d        ,V^MM.      MM          M YM   ,M MM  
  MM      MM MMmmdM9      ,M  `MM   MM           MM        MM M  `MN. M    MMmmdM9     MMmmMM       ,M  `MM      MM          M  Mb  M' MM  
  MM     ,MP MM  YM.      AbmmmqMA  MM.    `7MMF'MM.      ,MP M   `MM.M    MM  YM.     MM   Y  ,    AbmmmqMA     MM      ,   M  YM.P'  MM  
  MM    ,dP' MM   `Mb.   A'     VML `Mb.     MM  `Mb.    ,dP' M     YMM    MM   `Mb.   MM     ,M   A'     VML    MM     ,M   M  `YM'   MM  
.JMMmmmdP' .JMML. .JMM..AMA.   .AMMA. `"bmmmdPY    `"bmmd"' .JML.    YM  .JMML. .JMM..JMMmmmmMMM .AMA.   .AMMA..JMMmmmmMMM .JML. `'  .JMML.


MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKdlc;,,'',,;:;,,;;;;:;,'.';dOXNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOo;'''...',,,,,'',,;,,,''';:lx0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN0d;'.....',,,,,',;;;;;,,'..,cd0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNMMMMMMMMMMMMMMMMMMMMMMMMNOc'......''','',;;,;;;;;''',:cd0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKl;oNMMMMMMMMMMMMMMMMMMMMMMMMW0d:'.......'''',;;;,,;::;,'..'':dKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKc..oNMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOl'......',,'',;;;,,;:cc:;,..'o0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk;...dWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXd,......'',,,,,;,,,,,;ccc;'..:d0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0,....lNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;......'',,,,,,,,,,,,;cc:;'..;o0XNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO'....;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNx,.....''',,,,,;;,.',,;:cc:,'.':ckKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk......xWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXd'.....''',,,,,,,.',,,;;:::;'..';xXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWx......;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXo......'',,,,,,'.',,,,,;;;:;;'..'o0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWx.......oNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKo'....''',,,,,,''',,,,,,,;;;;,...;dKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWx..'..'.'kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXo.....''',,',::,''''''''''',,,'...;d0NWMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk..'..''''dXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0c....''''..:ll:;''''''''''''',,'...,:l;;xXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWO,....'''..'oKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWO:....''..'cooll:,'''''''''''',,,,''...';xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX:....'''''..'l0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNx,.......'colcloolc;,''...'''''',,..,:,'c0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWx'....,'''....;d0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKc.......,ldc,';codoolc:;;,'..''...,cl:,,oKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo....',''''...',;lkKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk:......,ldo;'.';:clooolllc;''...,::cc:,:OWWKxXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKc....',,,;,'''.....';cdOKXNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;.....'cdd:,'....',;cllllc:'..,;;;:ll:,co:':0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl.'.'''';::;'''''''.....',;cloxO0XNWWMMMMMMMMMMMMMMMWNKKXWWXo......'ldl:,.......,;:clcc,'',;,,,;c:...'.,oKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo''..'',,,:c;,''''',''''''......'';:cldk0KXNWWWMMMWk:,',:d0Kk:......'ldoc,.......,;:cloc,.',,,,,'....''.,kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXc''..'''''',:c:;,,,,,,,,,,''''''''''...'',,:cldxOkc,'.....':,........,odo:'......';ccldo;..',''....',;:,'oXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXo''''''''''',;:::::;,,,,,',,,,,,,,,,,,,,,,,'''',''''....'.'...........;odl,.......,:clxx:..''...'.'',:c:,;kNMN0xxXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNd''''''''',,''',,;;;;;;;,,''''''''',,,,,,,,,,,,,,''''....',,,'''.......:dd;........:lokkc'.'.....',:,;cl:,lkc'..dWMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo'',''''',,''''',,,,,,,,;;:;,,'''''''''',,,,,,,,,'''....'',:c:,''''','.,od:........;lokko,.......;;'';:ll:'..'.;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNd,''''',,'''',''''',,,,,,,;;:::;,,'''''''',,,,,,'''.....''',:c:,'''','.,odc'.......'cokOd;......:,,,,,,::,.'','oNMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0lc::;,,,,,''''''''''''',,,,,,;:::;,,''''''''',,'.......',,,,;:,''''''.'ldc'........;lxkx:.....:,,,,'''',,,,,,.oNMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN00K0o;''.''''''''''''''''''',,,,;:c:,,''''''''''......',,,',,:;,''''..,oxl'.........:okk:....;,,''...',,;;;;..dNMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0kdl;,'....'''''.....''''''',,::;,,''''''''......',,,,,,,;,..'''.,lxl'.........;lxx:...''''...',,,;;;;'..oNMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0d;......'''.......'''',,,;;,,''''''......',,;;,,,,,,'.'''';oo:..........,ldxl.........,,,;;;,''...cXMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0kdc,.............'''',,,,,''''''......',;;,;,,,,'..,,'';l:;. ........;ldko.......,'',;;;'.,;,..cKWMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNXKkooc'. ..........''',,,,,'''''.....',,;;,,;,,''.',,'':c;,..........;ldxo,.....''',;;'.':;;'..;kWMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKOxxdoc:;;;;;'................'',,,,''''......,;;;;;;,,''''',,.':c:,. ........;ldxd;....'.',;,..::;,,...'dNMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXOo;''...............'..............'''''''''.....,;;;;;;;,,,,,',,,.'cc;,..........;loxd:'..'.',,..,l:;,,,'...cKMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNNXKOkxdc;,;','',,,,,,,,,,''''''''''''.............'''''....';;;;;;;;,,,;,',,'.,lc;,..........;coddc'....,,..,l:;;,,;:'..,xNMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXK00Okkkxdoc:;;,,',,,;;:ccc::::;;;;;;,,,,,,,,,,,'''''............'''''....,;;;;;;;;,,;,',;,'.:oc;,..........,clddc'....''..;:;;;,;::'...xWMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNx::;;;;::::::;:;;;;;;;:;;;,,,;;,,,;,;,,,,,,,,,;,,,,,'''''...........'','...,;;;;;;;;,,,;'';,'.'coc'...........,:ldd:,'...'...,;;;,;;:,''.lNMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOl:::loodxoc;:;,''',,,,,,,,,,,,,;;;;;;;;;;;,;,,,,,,,,,,''''..........'','..';;;;;;;;,,;;'';,,'.,od;.............;cddc:,.......,;;;,,::'..lNMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKd;';coxkkdlc;;'...',,,,,,,;;,,;;;;;;;;;;;;;;;;,,,,,,','............'',...;;;;;;;;,;,,',;;;,..cdo;'...........';cdol:;'......,;:;,;:'..:XMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKd:,',cdOOkxoc;'.'.'',,;;;;;,,;;;;;;;;;;;;;;;;,,,,,,,'...... .......''.';;;;;;;,;;;'',;:,,..:ddc,,'........ .';coolc;,......':;,,;'..,KMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOo:,;cdkOOxoc;''''',;;:::;;;;;;;;;;;;;;;;;;;,,,,''''.....  ......''',;;;;;,,;,,',,:c,,..;loo:;;'.... ....';:llcllc,......':;,;..',KMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXk:....,coxOOkdc;'',,,,,;:::::c:;;;;;;;;;;;;;,,''''....... ........',,;;;,;,,,'',;:c,,'.;lloo;;:'.........,;:cccodo:'.....';,'..':XMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXOo;'..','''..':ldxkko:;',,,,,,',,;;:c::;:;;;;,,,,,,,''........ .........',,,,,',,.,;;c:,'..;llllc',;'.,:cc:'..'',;:llodl,.....,,...,:XMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXkl'....',;,,'''''..,:codxxoc,',,,,'''',',,,;;;;;;,,,,,''''........ ..........'',',,'',;;c;''..;ll::c;;oo;,coddooc;,''',:llool;.......',oNMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKo;'...,;,,',,,,,''''''..',;cllddl:,'''.'',,''''''',''',,''''.......... ...........''...,,,;c,''.,lolllc,,:llccoododxxdc;''',:ooooc'.....'dXMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXk;..;:::;'''',,,,,,,,''''''...';:cllol:;'...'',,,,'''''''''''........... ................'',c;'..'cdxxo;,,;;;:cclolc;,cxxdl:,'.;lool;;;c,.;KMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKkdc,'.,:c:,,'''',,,,,,,,,,,,'''......';;:clccc::::;;,,'....'.'..............................''';;'''':okOo,''';cloodddddoc,,okkxoc,.'ldo:;ol.'OWMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNOc,;:,'...,;cccc:;;;;,,,,,,,,''''''''''....';;;::ccccccclol:'...................................',,'..':oOkc''..;looooooooooooc,;dkkxo;..:doox;.lNMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0xl;'...,;,........';;;,,,,''''......'''''''''....''',,,,''''',,,;,..................................'''...:dkx:.'..;loooollccllllllo:,lkkxdc'.,lxd',0MMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMWNKOkoc;'....',,;;;;,,,'.........................''''''''...................................... ...................;dkd,....;looc:;,''.'',;clodl,:dkkko;..;c'oNMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMNKxc;,'..',::;;,,,,,;::::;;;;,,,,,,,'''''.........'''''''...................................  ....  .';;,.............;oxc'....;loodo,..''......'codo;,coxkx;....dNMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMW0o;..',:cllccloool:;,,',,;;::;;;;;;,,,,,,''''''''''''''''''..'''''.............................     .;clll:'.........:oo;''...'coodxxd;.;lll:,lxc..coxdolddc:xo,:0WMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMWNKo,...';:looddxxxxxoc:,,''',',,,,,,,,,,,,,,,,',,,,,,,;,,'''''..................''......  .       .;;cdxxdc,'''''',ldl,''...,loddxxxxl,',,,lkOk,.cdxxxkd,.:XWNWMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMWN0d:'...',;:cloodxkkkxdlc:;,,''''',,,;,'',,,,,;;,''..........     .....'.......        .  ..    .,;cdkkxdlc:,,,;coo:;;,..,:coxxkkkkkddolloooc:dkOkkx;'l0WMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMNk:'.......',;;:clooddoooolcc::;;;;;;::;,,,,'........                 ....     ..:okk;...      ..,cdxkOxolc;,,cdl,;:,.'cllodxkkkkkkkkkkkOkkOOOOOx:;KMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMWNOc,''''..........'''',;::cclllllllcc::;,'''..........              ...... ....'cOXWMMWO'...      ....':looolc:,;loc;c:..;cloddxxkkkkkkkkOOOOOOOOOko'xWMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMWKOxc;,'''''''''.............',,;,,,;;:;;;,,'.....   ....          ......'......';lkXWMMMMMMWk'....     .......';ccc;,:oo:;:,..,:loddxkkkkkkkkOOOOkkOOOOx;cXMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMWKKKK0ko:;,;;;;,,''''''''''''...........'''',,;;,,''..   ......................;;,..,cdOXNWMMMMMMMMMMWO,''.         .......,;,,cdo::;,.;cclodxxkkkkkkOOOOkxookOOkc,0MMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMWWNKOocccc:;;;;;;;;,,,,,'''''''.............''',;;:c:,'... ............        .,lkXNNXKXNWMMMMMMWK0NMMMMMMWO,..          .   .......col;;;''lddodxxxxkkkOOOOOOkl'',:::oXMMMMMMMMMMMMMMMMMMMMMMMMMM
WN0xolc::::cc:::;;,,,,,,,,,,,,,'''............''',;:cc:;'...............       ....l0NMMMMMMMMMMMMMMMMWx':x0XNWWMW0;...      .',.        .:od:;:;,;dxxddxxkkOOOOOOOOOko..cxXWMMMMMMMMMMMMMMMMMMMMMMMMMMM
:lc,,:clc::;;;;;,,,,,,,,,,,',,'''''''......''',;:::;,'...............        ..'c:,OMMMMMMMMMMMMMMMMMMW0;,;,,;::dNWKc...    .,:;.        .;oxd;:::;ldxdxxkkkkkxkkkkkxxd,oNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
::;,'''',;::c:::::;;;;;;,,,'''''''''..'''',;;:;;,'......................  ...,oKNx,dWMMMMMMMMMMMMMWXOol;'';;;'..'OWWXl..   .:l:,.        .,lxxlodo::oxddxkkOkkoc;,'..'';OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
:ccllollc:;;,'''',,,,,,;,,,'''''''',,,;;;;;;,'................. ......  ..':dKWMWk,:XMMMMMMMMMWNKxc,',....,;cl:..cXNKo'...':lc;..       ..'ldxc:ll;:oxxxxkOOOOxo:;c;.l0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
:::ccllodxkkxxdoc:;,,,,'''''',,,,;:;:;:;;;,....... ........... .....  ...;xNMMMMMK:,OWMMMMWXOd:'''''.....';;coo:..;;'.',,:oxdc...       ...:dd:::;,ldxxxxkkOOOkkxl:,:KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
c,,;:cclloodxkkkkkOkxddolclccccccc::::;'....... ...................  ..'oKWMMMMMMNo,oNWXOo;'...............';cll'. .';ccokkxo,..         .'cdc::'.,oddxxxxkkkkkd;'':0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
;,''.'.'''',,;::cclloooooolooddddoc;'.......  ...................   .'l0WMMMMMMMMWx''::'..............''....'ccoo;..'coxkxxxl'.          .,lo::;. ..;ldxxxxxxxo',ONWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
;;;,,,,''...'''..''..';::::;,,,'....  ..... .......... ....'..... ..,xNMMMMMMMMMMWk'...............''',,'.. .,:lkOo'..:dxxxo;..          ..:c;:,...  .,cddxxxo,'kWMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWMMMMMMMM
;,,''''''''''''''',;:ccc:;;.....     ..................''.'....  .':OWMMMMMMMMMMMWO,.........'..'''''',,,'... .;o0Kd;...,loc,.           ..:;,,.,'.    ..,:;,,lKWMMMMMMMMMMMMMMMMMMWWNXOdlc::;;:coONMMMM
,'''''''''''''',;:cc::;,'......    .  ................''... ..  .,:KMMMMMMMMMMMW0l'...'''''''.',,'',,::;,,'.. ..,o0Ol:,. .,,.            ..::'.....     .l00KNWMMMMMMMMMMMMMMMMMNKxc;'.....'',,,...,xNMM
''''''',,,,,;:cclc:::,.........     .................,'...... .,;;0WMMMMMMMMMMNd'....'''''''''',,,,,,:l;,,,'.. ..'oOdc:;'. .              .,...'l0d.     .l0WMMMMMMMMMMMMMMMWXkl,...';:lx0XXNWWWNOc..dWM
'..'',,;;;cclllc::;,.........    ...................,'.. ....:Ox;kWMMMMMMMMMMNo..,,,..'''''''',,,,,,,;oc,,,'......'ldl:;,..   ..          ...:oONWXd'      .;d0XWMMMMMMMWXko;.. ..':xOXWMMMMMMMMMMKc.lNM
,,,;;::clloolcc:;'........    ...........;:.. ......'.......oK0:lNMMMMMMMMMW0:..;;,'.'''''''',,,',,,,;cl;,,,'....;,;:lc,'..  ... .         .cOOxolcc:.       ...;lxOKXKkl'.    ..':xXWWWMMMMMMMMMWd,'kWM
;;:::ccloddol:,'.. .....   ......  ... .;;.  ......... .. .;OXd;0MMMMMMMMMWk'.':;,,,'''''''''',',,,;,,:c:;;,'.. .;;:ccc;'.. .... . .    .. ..',',;;;::,.        ..........    .....',;:ccclxOXNWWNxoOWMM
:::cloxkxoc;'... .............   .....';,.  ........  ....:KW0:dWMMMMMMMMWx..,c;,,;,'''''''''''',,;;;;;c:;;,''.  .::clc:'.  ....        ...  .;:ccccllldc'.       ........''.........      ...,;ld0NMMMM
ddkOOkxc,....   ...........    .... .;:,. ........ ...'ll,oWXocKMMMMMMMMWk'.;c;,,,;,.....'''''',,;;;;;;cc;;,,'.. .;lolc:,. .....    .    .......',',,,,;odc,.                  .. ...... .   .....':kNMM
Oxol:,..   ............       ..'...''..............;dXWK;cXx;xWMMMMMMMMK;.'c;,,;;,'......''''',;;;;;;;cc;,,,''...;clll;.. ......   ...    ........'',,,,llol,.;c;'.....''............ .....   ..,lc;oXM
;'..   ...........          .......'..............:ONMMMNc;ocdXMMMMMMMMXl..::,,;;,........''',,;;;;;;;:c;;;,''''..,cldl,.........      ...  ....''.....'';:col;:OWNNNNXXXXXXXNXNNNXKK0xc'.. ..  ..cKXOxX
........    .....          ..... ...............:OWMMMMMNc.'oNMMMMMMMMNx,.,:;,,,''.......''',,;;;;;;;;cc;,,,'''...:lod;...........     ..''..... ..'''...'',,;;,;kNWWMMMMMMMMMMMMMMMMMMMN0o'.    .,OWWKX
...       ....           ....................':kNMMWWWMWK:.;XMMMMMMMMM0:..:;,,,'''.....'''',;;;;;;;;;cc;;;,'''...'cdxl'  ..........       ....       .............,;:ldk0KNWWMMMMMMMMMMMMMMXl. .. .dNMMM
.    ...  ....        .....................':xNMMMMWNX0kl,;cKMMMMMMMMXl..':;,,,''.....'''',;;;;;;;;;:c;;;,'''....;lxx:.  .'....'''.. .      ....          ..........'''''';codxxONMMMMMMMMMM0, .. .oXMMM
....     ....     . ..... ....,,.........,lONMMMMMMMMMMWXkOdxNMMMMMMK:...;:;;;,'''...'.',;;;;;;;;;;::;;;,'''....,lxko,.....'...','.... ..       .               ....,:ok0Odocc:cdKWMMMMMMMMMK, ...,OWMMM
.      ....    ...  ..'.....l0o........,dXMMMMMMMMMMMMMMWOK0oOWMMMMXc..'';;;;;,'''''''',,;;;;;;;;;;:;,;,'.''...':xOx:..,'..,.....'''........                        ...'cONMWN0xoxXMMMMMMMMNo....,OWMMMM
.     .. .....   .........,kXx'......;xXMMMMMMMMMMMMMMMMW0XNxoXMMMMNx,..,,;;;;;,,''''',,,,;,,,,;;;;;,,,'''....';dkkl'.','...,'.....'''..........                       ..,oKWMMMNOo0WWWMMMNd....:0WMMMMM
.   ..  ....   ..... ...'oXWk'... .'dNMMMMMMMMMMMMMMMMMMW0XWKokWMMMMWd...,;;;;;;;,'''',,,,,,,;;;;;,,'''......,;lxkd;.';:;...';',,,''''''...............                  ..;xNMMMWOdXWX0kd:..'cONMMMMMMM
.     ...    ...... ...,xNNd... ..'oNMMMMMMMMMMMMMMMMMMMWKXMW0dXMMMMNx' ..;;;,;;;,''',,,,;;;;;;,,''.',,,....,;cdxd:..,:ll;...',,,,;;,,,,,'''..'''......... ......          .'dNMMMXkXWkdO0OkOXWMMMMMMMMM
..  ....   ..........'lKWXl...  .'lXMMMMMMMMMMMMMMMMMMMMWXNMMWOOWMMMNd'...,;;;;;;,,,,,,,,,,,,,'''''''''...'::coxoc..':lol,.....,''';:;;;;;,,,'''''''''........''.,:,';,......'dWMWKXWMWWMMMMMMMMMMMMMMMM
.. .... ............;kWMWk'..   .:0WMMMMMMMMMMMMMMMMMMMMWKNMMMNONMMMMXc....,;,;;;,,,,,,'''''''''''''.....;ooxkOxo,..;lol:'......'''.,:::::;;;,,,,,'''''.........,',l0NNOo:'...cNMNNWMMMMMMMMMMMMMMMMMMMM
.................';dKWMMWx'.   ..lXMMMMMMMMMMMMMMMMMMMMMWXWMMMMNNMMMMWO,....;,,',,,,'''''''''''.......,:clodxxxo:..;clol,.. ......,,,,::::::c:;;;;,,,,,,,'.......',,:kXWWW0l'.;0WWMMMMMMMMMMMMMMMMMMMMMM
...............'lOXWMMMMNl'.   .'dXMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMNx'....,'.,,,'''''.........',:ldxxkxxdl:,'..'c::c;.. ........'::;;:::cl::c;;;;;;;:;;,'.......',',oOKNNx'.cXMMMMMMMMMMMMMMMMMMMMMMM
...... ......:xKWMMMMMMMWx,.   .,xNMMMMMMMMMMMMMMMMMMMWWWMMMMMMMMMMMMMMK:.....'.','.........,;:lodxkxxol:;'''''''.''''..............';cl;,;clcc;;;;;;;;;,,,,,'............,ol'.,xNMMMMMMMMMMMMMMMMMMMMMM
. .........cONMMMMMMMMMMMK:.    'o0WMMMMMMMMMMMMMMMMW0coNMMMMMMMMMMMMMMNo. .'..........',;:clooolc:,,'..',;ccc;....'...  ... .........':lc;:::,,,,,,,'''''''''''..'',;:,,:,'''.:KWMMMMMMMMMMMMMMMMMMMMMM
. ......,oKWMMMMMMMMMMMMMXc.    .:dKWMMMMMMMMMMMMMMW0;'kWMMMMMMMMMMMMMMW0, .',''''''..',,;;;;;,,,,,,;::cloolc;'.....  ...... ...........'coo::;;;;;;;:::ccllllooolloc,colcl:..'kWMMMMMMMMMMMMMMMMMMMMMMM
......:kXMMMMMMMMMMMMMMMMWk'     .;OWMMMMMMMMMMWNKxc;c0WMMMMMMMMMMMMMMMXo..............,,,;;;;;;:::ccoddxdol;,.    .........  ............,:::llooooooooooollllcc:;,;,.,;,,:c'.c0WMMMMMMMMMMMMMMMMMMMMMM
...:xKWMMMMMMMMMMMMMMMMMMMWx.     .'lk0XNWWNKkoc;'.,dNMMMMMMMMMMMMMMMW0:....''';cc,..,:;:;;:cclcooooddxxxddc,... ...........  ...............','''',,'..........................'dNMMMMMMMMMMMMMMMMMMMMM
cdKWMMMMMMMMMMMMMMMMMMMMMMMXo,.     ...',;,'......:KWMMMMMMMMMMMMMMMMMXOOO0KXXNWWNl......'',;:ccloodddxxxdd;................  ......................................'.'......  ...OMMMMMMMMMMMMMMMMMMMMM
WMMMMMMMMMMMMMMMMMMMMMMMMMMMXk:..    ... .......;xXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK,..''.''.',;:cldxxxxxxxxd,................. .......................................''.....'.  'xNMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOl;............;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK,.:cc:loooddxxxxxkkxxxddc..................  ....................................'';'....''. .:KMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0kxddoooddkXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWO'.;;;:cllloloddxkkkkkxdd:..'................  .........................'.........',,....',.  .dNMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWd.':::::clddxkkkkkkkkkxdo,...'................   ................................,;'.. .''.  .dNMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXc.'::clodxkkkkkkkkOOkxxxl..'..'.................  ..............................''........  'kWMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWO,.:c::::;;::coxkkOOOkkxd:.;c;..'..................  ............................... ..... .:0WMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNx.'oxxxxxxdoc:;;:oxkOOkxd,.lKKc......................   ...................................lKMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNd';dxxxkOOOkkxl::ccxkOOko;'dWWk.........................  ...............................':KMMMMMMMMMMMMMMMMMMMMMMMMMMMM