c:,,'';:,,;::;,;:c:;;,,,,;;;:cc::;,..';;,,',;;,,,;;;;;;;;;;;,,,;;;,',;:;;;;,,,,;;;,,;;,,;;;;,',;,,;;;;;,',,,,,;,,,',:;;,,,;cl:;:;;;;;;;;;::;;,,,,',,'''',,'''',''',,',,,,,,;,,,;cc::c::;,,,,,,,;;::;,'',;,''..',;,''''''',,,',,,'''''....,,;;,......,:loolc;,,;:cloccllccclooodddxdoodddkO0Okxolllcox00xc;,
cc:;'..,;;;;:c:;:::;;;;;;:cc:::;;;,'..',;,,,,;;,,,;;;;;;;;;;;,,,;;;,',;;;,;;,,,,,;;,,,;;;;;;;;,,;,,;:;;;,',,,;;;,,;,,;;,,,,;cl:;,,;;,,,,,;cc:;;;;;;;,''',,,,'',,'''''''',,,,,,,,;:::;;,,'''',,',,;;;,;,,,,,,'''',,;;;,'',,,,,,;;,''.''....',,,'.......,:;,;:ccllllllcccllodxxdxxddxxoodxkO0KKKOxddddxOKX0o;,
cc:;'..':cccccc::;;:c::::ccc::;;:;,'..';:;,,,,,,,;;;,,,,;;;;;;,,,;;;,';;;,,;,,,,,,,,,,;;;;;;;;,;;,,;;;;;,'',;;;;,',,'';,,;loc;,,,'',,,,,,;;::;;;,',','''''''.',,,,,'''''',,,,,;;;::;,'''',,,,,,,;;;,,,;;,;;;,,,,'.'',,'',,''',,,''.',,'..'',,,........,;,,:lolloollcdkxxkkO0O0000OkkkxxxO0KKKKOxdxk000KX0o:;
cc:;,.',:ccc:;;,,,;:::;;::cc:::cc:,'..,:;',,,,,,,;;,,,,,;;,,,;;,;;;:,',,;,,,,,,,,,,,',,,,;;;;;;;;,',;;;;,',,;;;;,'''',;,;lxxo:,,,,,;;;;,,,,,,,,,''''''''''..''',,,,,''''',,,,,;;:::;;,,,,;;;;;,,,;;;,,;:;;;;;;,,,,,'',,,,,'........''''.',,,,,........';::lddddxxxdoxOOOO0KKK00000OkxxxkO00KKK00O0KKKKXX0d:;
;;;;,.';ccc:;;;;;;::::;;,;;:cclol:,'.';c;'',,,,,;;;,',,,,;,,,,,;;;;;,',;;,,,,,,,,;;,,,,,,,;,,,;;;,,;;;;;,,,,;,,,,',,,,,,;cool:;,,,;::::;;;::;;;;;;,'''''''..''',,,;,,,''',,,,,;::::::;,;;;;;;,,,,;:;,,;;;:;;;;;,,,;,,,,,,,,'.....''''''',,,,,'........,coodddddxxxookOkO000000000OkddddxxdxxkOKK00KKKK0KOo:;
,'',,',;c:;;;;;;;;;:c:::;;;::ccc;,'..';:;,,,,,;,;;;,,,,',;,;;,,;,,,,,',;;,,;,,;;;,,,,,;,,,;,,;;,;;,;;,,;;,,,,,',,',,,,,;::clc:;,,,,;:cc:;;;;;;::;;;;,,,,,'.''''',,,;;,,'',,,,,;:::;::;;;,;;,,,,,,;;;,,',,,.';::;,,,,,;,,,;;;'.......',,,,,,,,'........,coddodddddolloxxxxkO0OOkkxxxdoooolcccodkOkkOOOkxxdl:;
''''''',,''',,,;;;,;cc:::::::::;,,,'',;::,,;,;;,;;;;;,,,;,,,,,;;;,,,,'';;,,;;,;;;,''',,,,,;,,,,,,,,,;,,,,,,,',,,,,,,,,,;::::;::;;;::::c:,;cl:;;;;;;;;;,,'''',,,,,,,,,,,,',:c:;::::;;,;:;,,,,,,,,,,,;;,',,'...'',,,,,,;;;,,,'....''''',;;,,,,,,........,cdddddxkkdl:;;;::cloodoolcccccccclllllllolloollllc::;
,,;;,,,,''''',,;;;;;:::::;;;;;:;,,;;;,;::,',,,,,;;:;;;;;;;,;;;;;;;,,;,,;;;;,;;;;;;,''',,,,,,;;,,,,,,;;;;;,,,,,;;;,,,,;;;;;;;;:ldlcll:::;;;okxl:::clodddddol:;,,,,,,,,,,,,:ll:;;::;,,',;,,;;,,'''',,;:;,,,'''',;;;;,'',,;,'.'....,;,',,;;,,,,,,'.......':oddoooddoc::;;,;;;;::::;;,,,,,;:clllllcloooookOkoc;;
::::;'',,,,;;;;,,;:::;',;;,;;;;;;,,,,,:c;'',,,,;;;::;;;;:;;;;;;;;;;,,'';;;;,;;;;;;;,'',,,,,,;;;,,,,;;;;;;;codxkOkkxdollc;;;;::lxdllolc;;;:okkdkO0KXXNNNNNNXKOdc;,,,,,,,,,,;;;;;;;,,,,,,,,;:;'''',;;;;;,,,,....';;;,',;;;,,;,'..',;;,,,;;,,,,''........';:ccc::::;;;;;;;:cc:;:;;,,,,,,;cccccc::::cclloxkkxc;,
cc:;'..',;;;;;;;;;;;:;..''',,;;;;;;,,;:c:,,;;,;;;;::;;:::;;;::;;::;,,'';;;;,,;;;;;;,,,,,,,,,;;;;,,,,;;;:lkKXNNNNNNNNXX0koc:::cloolokxoc::;cdk0XXXXXXXXXXXXXXXNKxc,,,,,;;,,,;;;,,,,;;;,;:;::,.'',,;;;,,''''....';;,,,,;,,,,;;'.'',;,,;,,,,,;,,,'.......';:cc:;;;;,;;;;;;:::::;;,,,;;:cllcc:::::::;;;:clloo:;,
c::;'..;;;;;;;;;;;;;;;'..',,;;:::::,,;:::;,;;;;,;;::;;;;;;;;;:::;,,;,'';:;;,,;;;;;,,,,,;,,,,;;;;;;,,;;ckXNNNNNNNXNNNNNNNX0dc:coxxookkoccc:oOXNNXXXXXXXXXXXXXXXXX0l,,,,,,;;;;;;;;;;;;;;:c:;;,'',;;;;;,''''.....',;,''',,,'';;'..',;;'''',,,,'',,........,:cc:;,,,,,,;::::::::;,,;::cllccc:::::::;;;;;;::clc:;
cc:;'.,cl:;;;;;;;,;;;,'..',;;:::;;;,',;:;,,;;;;,;;;;;;;;;;;::::;;,,,''';;;;;,;;;;;'',,;;,,,,;;;;;;,,;lOXXXXXNNNNNNNNNNNNNNX0Okkxkkdk0xlcokKNNNXXXXXKXXXXXXXXXXXXX0l;,,,,;;;;;;;;:;;,,,;cllc;,',;;,,;,,,,'.',',,,;;'''','..;;'...',,'...'.....''........,:::;,,'',,,,;;:::;;;,,,;cccc::cc::;;;;,,;;;;;;;:c:::
lcc;'',::;;;;;::::cc:,,,'',::::::;;'.';;;,';;;;,;;;;;;;,,,;:::::;,,;,'';;;;;,,;;;,',,,;;;,,,;;;;;;;,cOXNXXXXXXXXNNNNNNNNNNNNNXOddxkO0OOOKXNNNXXXXXXXXXXXXXXXXXXXXX0l;;;;;;;;;;;;:;;;,,:llll;,,,;;,,;,,,,'',,,,,;;,'','',..','.''''''...........'......',;;;;,,,,,;:;;:clc;;;;;;::cc::;::c::;;;;;;;;;;;;::;;:
lc:;,'',;;:;;:ccc::::;;;;,,,;::clol:,,;,,,,,;;,,,;;,,;;,;;;:::::;,;;;,,;:;;;,,;;;,',,,,;;;,,;;;;;,;:xXNXXXXXXXXXXXNNNNNNNXNNNNXXKKXXXXXNNXXXXXXXXXXXXXXXXXXXXXXXXXXOc;;;:;:cc:;;;,,;,,;:cc:;,',,,,,;,''''',,,;;;,',,,,,,'.',,'''''''...........''.....'',;;;;;::;::c:ccll:;;;;;;::::::::::;;;;;;;;;:::::;:::
lcc:,'';::c::::;;,,;;;;;;;;,,,;:lllllc;,,',;;;,,,;;;,;;,;;;;;;;:;,,:;,,;;;;;,,;;,'',;,,,;;,,;;,;;;;oKNNNNNXXXXXXXNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx:;;::clc:;;;,,,;;;:::;,,,'',,,;;,,,,,,;;,,,'..'',,,'..',''''.''''''''...'....'''',,;;,,;;:::::::c:cc:;;;:::ccc:::::;;;::;;;;:llc::;;:::
lcc:,',::cc:;;;;;;;;;;:;;;;;'';::::::::::;,;;,,;;;;;;;;;;;;;;;;:;,;:;,';;;:;,,;;;;,;;,,,;;,,;;;;:;cONNNNNNNNNNNNNNNNNNNNNNXNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKd;;::::::::;,,,,,,,,;;,',,,;;;;;,;;,'',,,'''''',;,,'...'..''',,,''''''.''...''',,,,;;;:::::c:::;;::;;;;:cccc::;;;;;;::cc:;;:codccc:;;;;
ccc:;,,;:::;:::clc:coddl::;;;;;;;:cccccll:;,,,;:;;;;;:;;;;;:;;;;;,;:;,,;;;;;;;;;;,,,,,,;,;;;;;;:::xXNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXXXXNNNNNNXXXXXXNNXXKo:::;;:::;;;,,,;;,,;;,,,,;;;;::;,,,,,,,;;;,'.....'''...'''',;,,,'....',,'.'''.'',;;ccccccccc::;;:::;;::c:c::;;,,,;;::cc:::cclc::::;;;;
llc:,,;cc::;:ccllccoooollooloocclodooooooc;,,,;:;;;;;;;;;:;:;;;;;;;;;,,;;;;;;;;:;,,,''''',;;;;::;oKNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNN0l::;;;;;;;;;;:c:;;;;,,,;;:;;::;;,,',,;:c:;,....'''',''','''''''..'''',;'......',;:lc:::cc:::::;;::;;;;;;:;;;,,,;;;;:;;;;::clccccclc:;
ll:;,';ll:;;:::cllolc;;:loooooodddooddoddl;,,,;::;:::;;;::;:;;:;;;;,;;,;:;;;;:;;;,'''..',,,;;;::cONNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNXkc::;,,,,;;;::::;;,,,,,;;:;;::;,;,,,,;:cc;'',''',,,:c;',,,'.','..'''',,'.......,::cc:::cc:;;;,,,;;;;:::c:;;;;;;:;;;;;,,;:cccclolccc:;
c;;;,';llc:;::cloooc:;,;cdddllodlcclllldxo:,,,;::::;::;;;::;;;::::;;;;;;::;,;;;:;,'',',,;;;;;;;cxXNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXKKKKXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNKdc:;,'',,;:clll:;,',,',;;;;::;;;,,;;;,''',,,,,,'',:::;,'''.',,,,'''',,'.......';::ccccclc:;;;,,;;;:::::::;,;:cllllc::c:::::;::c:;;;;
:'.''';lll:::clooollccc:coolllloolcccloddo:;;,;:;;:;;;;;:;;:;;::::;;;;;:::;,;;;;;,',,,;;,,,,;;:oKNXNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXK00000KKXXXXXXXXXXXXXXXXXNNNNNNNNNNNN0o::;,,,;;;:lol:;,,,,',,,,;;;;;,,;,,,,,',;;;:;;,'';:;,',,'.',,,,,''',,'.......'::ldxoc:::::,,,,,,;:c::::;;;:clodddolodl::c::::::;;;;
:,''',:lc:;;codolcccclclool:lddddddoooolol:;;,;:;;::;;;;::;;::;;;;;:;;;;;:;,;;::;,,,;;;;,,,;;;:kXXNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXK0OkxxkO0KKXXXXXXXXXXXXXXXXXXNNNNNXXXNXkc;;;;lddolllc::;;;:::::;,,;;;;;;,',,;;;;;,',;;,';:;..',,',,'',,,'',,........':lllooc::::;,''',,;:clc:::::c:cooodoololccclcccclc:;;
c:;,,,::::c:colllc::clooolccldxdooloolc::c:;;,;:::cc::::::;;;;,,;;;:;,;;;:;,;::::;,,;;;;;;;;;;l0NXNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXK0OkdodxkO0KXXXXXXXXXXXXXXXXXXXXXXXXXXNKo:::lk0Oxoddl;;;,;:cc::;,,;;;;;,;;;;:;;,,,,'',,,;::'.','',,,',,,,,,;'.......,colcc:;;;:;;;,',;;;::ccc::ccllloolllcclc:cccclllol:::
ccc:;;:c:clccccclc::cllcc::cllllccccllc:;:;;;,;::;::::::::;;:;,,;;;:;;:;,;;,,::::;,,;;;;;;;;;;dXNXXXXXXNXXXXXNNXNXXXXXXXXXXXXXXXXXXK0OkxxxkO0KKXXXXXXXXXXXXXXXXXXXXXXXNXXXkc::clddolloc;,,,;;;,,;,',,;;;;;;;::::::;,,'''',,::,,,,,,,''',,,,,,;;,,'''.',:c:::;;;;;;:::;;:::::ccc::cclodddddolcccclllclllol:;;
lc:,'',;;:c:::cllc:clllc::::::c::;;;:::;;;,;;,,;:::::c:;;;;;::;;;,;:;;;;,;:;,:::;;,,;;;;,,,,,;d0KKXXXNNNNXXXXXXXXXNNNXXXXXXXXXXXXXXXKK00OO000KKXXXXXXXXXXXXXXXXXXXXXXXXXXN0l:loool::cc:;,',;;;;;:;'',;:clolc:cccc:'.......',;;;;;;,,,',,,,,,,;,,,,,,,,,;;,,;;;:cccc:::::::::ccccllcccodddoooolccclloolool:;;
c:;....',:c:;:lllloolcc:cc:;;;::::;:ccc:;,,;;,,;::;:::;,'',;::;;;,;;;;:;,;:;,;;;;;,,,,;;,,;,,,,;:cclodxkO00KXXXXXNNNNXXXXXXXXXXXXXXXXXXKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxldkxollc:cc;'',::cldxxxxO00KXXXx;,'''.........';,,,,,,,,,',,,;;,;;'.''',,,,,'',,;;:clc:;;;::::cclolcllllolloolccccllcclllcll:;,;
c;,....,;::::cclloolc:::ccc:;:ccc::clllc;',;,';;:;;:c:;;;;;;;;;;;,;;;;:;,,;,',;;;;;;;;;;,,;,,,'..'''''',,;;:clodxxxxxddddoooooodddddddddoooooddddxxxxkkkkOOOO0000KKKXXXXNXN0oodddxxxddxxxkO0KKXNNNNNNXXXNXOc,'......'.....,;;'.....,,,,,,;;;:;'....'''','',,;:cccccc:::::cc:cllllooooooooolllloolclollcc:;,;
:;,'..,;;;;cllloollc:;;:::::::llc:::::cc:;,;,';;;;;:::;;:cc:;,,;,,;;;;;,,,;;,,,,,;;;;;;;,,,,,,'..'''''''''''''''''''''''''''.....''..................''''',,,,;;;::cclodxOXXKKKKXXXXXNNNNNNNNNNNXNNNNNXXKx:,,,'.''........,;,,.....,,,,,,,;;;;,,,,'',,,,,''',,;::cooolc:ccc:cclllodoooodooddddddl:clloolc;;;
:;;,'';:;;;:ccccccc::;;;;;;::cllc;,,;::;;,,;,',;;,;;;;,;:cc:;;,;;,,;;;;;,;;;,,,,;;,,;;,,,,,;;,'..''''''''''''''''...............................................'''''''',:oOXNXNNNNNNNNNNNNNNNNNNNNXXK0ko;,,;'.'''''......',','.''',,,,,,,,,;;,,,,,,,,,,,''',,,,,;:clccccolc:cclcloolloddddxdollccclodolc:;,
cc::;,;cc:::::::::::c::;;;;:lllc:;,.,::;;;,;,,;,;,,;;;,,;cc:;,,;;,,,;;;:;;;;,,,;;;,,,;,'''';;,''''''''''''.....................................................'''''''''',,;o0XNNNNNNNNNNNNNNNXXKK0Okxdc,,,,,'',;;,,'..'..'..''.',;,,,,,,,,,;;,,',,,,,'',,,;;;;;;;;;::::cclcc::clllloooddooddolcclllloolc:;,
oollc::llcc::::;;;:c::;;;;:clccc:,'.',,,;;,,,;;,,,,;,'''',;,,,,;;;;,;;::;;::;,,;;;;,;;,',,',;,''''''''''''''''''''..''''''''..'''''''...................''''''''''''''',,,,,,cxKNNNNNNNNNNXXK0Okkxxddoc;,,,,,;;,,,,,''...''..''''',,,,,,,,,,,;,''''',,,;;;;;;::::::::::::c::cc:cccloolloddoooddddddooodol:;,
llllccclolc:;;;;;;:c:::::ccc::;;,''.',;;:;,,,;;,;;,;;,''',,'',;;;;;,;;;::;::;,,;;;;;;:,',;,,;,,,,,,,,,,,,,'''''''''''''''''''''''''''''''......'''''..''''''''''''''''''',,,,;cONNNNNXXK00Okxxdddddl::;;,,,,;;,'',,,,'.......'',,',,,,,,,,;,,,'..',,''';:;::::::::;;;::;::;;:cccclloollloollodxxdxxdoodol:;,
::;::clooolc:;;::ccc::::ccc:;;;;'''.';;;;,,,,;;;:;;;:;,',,'',,,,,;;,;;;:;;;;,,,,;;;;::;,;;;lkOkxddolc::;;,,,,,,,,'''''''''''''''''''''''''''''''''''''''''''',,,,,,,,,''',;:cldOKK00Okkxxdddddddolc,,;;;,,,,,,,;,',,,'....'',,,,',,,;;,;,,;:;,'..',,,,',:::cc::;;;;::;:::::;;::cclooooodddlloooooodollllc;,,
:;,,;:lodollccccccc:;,,;:;:;;;;;'...';;;;,,,,;;;;;;;::;,;,;::;;;;;;,;;;::;;;,,,,;;;:::;,;:ckXNNNNNXXXK00Okkxxddoolllccc::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::clodxkkkkxxxxdddddddddoolc::;,,;:,',;;;,,;,',,'''..,;::;,'',,,;;;;,',:::,'''''''',cclllcc::;;:::::::::::cccloodoodxdoooloddddlloolc;,,
:;,,,;cllllllcc:::;,,,,;;;;;;;;,....';;;;;;,';;;;;:;:::;;;:c::;;;;;;;;,;:;;:;,,,;;;;:::;;:xXNNNNNNNNXXNNNNNNNNNNNXXXXKKKKKKKKKKK0000000000000000000000000000000K000Okkkkkxxdddddddddddddollc:;;,;;,',;:;',:;;;;,,,;;,,,''';cc;,,;;'.'',;,,,,;:;,''.'''',:clddollc:;;;;;;;;:::clolcclddoodddddxxkxkxlcllllc;,
c:;,,,::cccc:::;;;;''',;;,;;;;;,....',,,,,;,,;;,;::;:c:;:::c:;;;;:;;:;,;::;::;,;;;;::codxOXNXNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXNNXXXXXKKK0OOkkxxdddddddddddddoooolc::;;;;;;;:;;,,;;,,,,,;;,,'..',,''.';cc:;;;,'....',,,,,''''''...''';cllllcc::;;,,,;;;;:ccclooooooooddddxxkkkdlcccllc:,
ll:;;,;;;;::::;;;;,''',;;;;:::;,'....'',,,,,,;;,;::;;:;,:::c:;:c::;,;:;;::;;:;;;:coxO0XNNNNNNNNNNNNNNNNNNXXXXNNNNNNNNNNNNNNNNNXXXNNXXXXXXNNNNXXXKKK00OOOkkxxddddddddddddddooolccllccc:;;;;;:::::;;;;;;;;,,,''''''...',,'.,cc::;,,,,'...',,,,'''''''...'.,lol:::c::;;;,',,;;;;:::cloooooolllooooddolccccllc;;
olc:;,,,,;;;;;;;::;,,,,;;:ccc:;,,'...',,,,,;;;,;::::::;,;::c::clc;,,;:;;:::;cloxOKXNNXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXNNNXNNNXXXKKKK00OOkxxddddddddddooooooooolllcc:;,'...':ccc:::;;::::;;:;:c:::;;;,,;;,,...,''''.,clc:;,,,,,,''',,,',,......'''';odolc::;;:c:;,,,;;;;;:cccllllooolccllodxdoodddxdl:;
c:::;,,,;:;,,,,;cc:;;;,;;:cllc:;,'..';;,,',;;;;;;:::::;,;::::::c:;;;;:;;cloxOKXNNXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXNNNNNNNNXXKK000Okkxxddddddddooooooooooolcc::::;;;,,,,''.......':ccccc:;:::;;:::cc:;;:;;,,;;;,...,'..'.,:cc:;,,;:;,'',,'',,,''....'...,cooolc::::ccc::;::::cloddxddooddddolodxkkdoxxxddoc;
::c:;,,;:;,,,,;:ccccc:;::ccccc:,''',;;;,,,,;;;;;;::;;;,,;:;::;;:;;;;;coxOKXNNXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXK00OOkkkxdddddoooooooollllcc::;;;,,,,''...'''''''''''........,::c:::;;;;;;;:cc:;;;;;;,,,,'''..''.''.';::;,,,;;,,,,,,,,,;;,'........':lllllccc:;;::;;:cclooodxxdxxoooodolcloodoooddddoc:
cll:;,,:c;,,,,:c:cclllloolc:::;,',,,;;,,,,,;;;;;;::;;;,;:;:::;;:;:ldk0XNNNNNNNNNNNNNNNNNNNNXNNNNNNNNNNNXXXKKK000OOkxxdoolllllllccc:::;;;;,,''''.................''',,''''''.......';;:::::::::;,:cc:;;;;;;;;;,,',''''..'.,cc:;;;;;,,,;,,,,,;;;'.......'..;cc::ccc:::::::::::clllllooollcccllcc::looooodxxdc:
;;::;;;:c:;,,;::::codoool::;:c:'''',,,,,,,,;;;:;;::;:;,,;;;:::ldk0XNNNNXXNNNNNNNNNNNNNNNNXXXXXKK00OOkkxddolccc:::;;;,,,,'''''''.................................''',,,,,,,'........,;;::::::c:;,;c:;;;::;;;;;,,,,,'''.'..;lc:;;;;;;,,,;,,,;;;,'........''';:c::ccccccc::ccc::::::ccccccc::cccccclloooooddolc
;,;;,,;:cc:;;::c::coolc::;;:cc;'..',,,;;;;,,;;::;::::;,,;;cxkOKNNNXXXXXXXXXXKKKK000OOkkxdolc::;;;;;,,,'''...........................................''''''''''''',,,,,,,,,'........,::;,,;::::,,::::;;;;;;;:;,,,,;,,''''';c::;;;;::;,,,,,,;;;,'..........';ccc:::ccccccccc:;;:c::::;::::;;:::cccllcccloocc::
;,,,',;::coooolcccccc:::;;;:cc;'..',;::;;,,,;:::;::;;:;;:lxOkkkkxxxxxxxxdddoollllc:::::;,.........'..................................................'.......'',,,,,,,,;;,'........;c:;;;;:::;;;;,;:;,',;;;::;,'',;,',,'';:;;;::;:;;;;;,,,;;;,,.........'';loolcc:cccclloc;',;;::::::::;;;;;;:ccclooollc;,''
;''..',;;:coollccccccc::;;::cc:;,,',:c:;,,,,;::;,:::::;,:::cc:::::::::::::::;;::::;;;;,,...............................................'.......................'',,;;;;;;;,.......';;;;;;::::::;,.',''',;,'''....'''.''..;:;;;::::;,'',;;;;;;;,'........',,cloooc::cccloolc;;:;;;,,;::cc:::;,;::::cllc:;;;,'
;,,,'',,'';clccccc::ccc:;::cc:;,,,,;;::,,,;,,::,,;;;::;;::::;;;:;,;;;:;;:;;;;;;;:;;;;,.....  ..........................................'..........................',;;;;;;;'.....',,;;;;;;;;:::;,''..',,,'''.........''..,:::::::;;'...',,,'''''.........'';:ccclll::cccclolllcc::::cccc:cc:;;c:::::;;:;;;:;
;,''..,,..':ccc:c:::::::;;;::;,,'',;;;;,,;;,;::;,::;;;;;;:c::;::;,;;;:;;;;;;,,;;:;;;;'....     .....................         ...........'..........     ..........'',;;;;;;,....';;;;:;::;,,,;;;,,'..'',,,,',,,''''...'..,:::::::::,...............'''...'';:clclolcc:ccc:cloollooodddollllccclllllc:;::;;;:
,,'...,,'',;;;;;;;;;;;;::;;:;;,'',,,,,,',,,,;:c;;::;;;::;:ccc;;:;;;;;:;,;,;:,',;;;;;,.......    ......................               ...''''....... .............'''',;;;::,...,::::;;::;;;,,'''''.....'',,,,''''....''.',;:::;::::,'...'...'.'....',,''''';:llccllc::::ccclllllllodolllollolllllccc::::::::
;,,..',;,,;:;;;;;;;,,;:::::;,,..';::;,'''''';::;;;;;;::;;:ccc:;:;;;;;;,,,,;:;,,;;;;;'........   ...................                   ...'...........    .........',,,,;;::;'..,:;:::;;;,;;;;;,'''...'',',',,..'''''''..',;;:cc:;;;;,'''''..''......'''''',,:lllllc::::::cllcclllloolcclolllccc:;;;;;;:cclc:
:;;,,,;;:;;;;;;;;;;,,;:cclc:;,..,;;;,'.',,',;;;;,;:::::;;::cc:;:;,,;;;'',,,;,,,;;;,;,......... .....................                  .............................',,;;::::;'.',;;::;;;;;;:::;,','.''.',''''...''',,''.';::clo;',,,,,''''...............',,:looollooollllllllllloodddolllllc:::;;;;;:ll:;,'
c:::,',;;;;,,,,;;;;,,:clllccc;'.','',;;,;,,,,;::,;:::;;,;:::;,;:;,,;;;,''';;,,,,;,,;;'.................................                ....................''',,''''',;;:::::,..'',;;;;:::::::;;,,,''''',;,'...''....',',;::cllc;,;;;,'''''...'...........'',coddooooooolllollcccloololc:ccc:::::clcclol;'..
:;;,'',,;;,,,;;:::;;;:clccccc:,'...,:c:;,',,,;::;;;:::;,,::;;;;;;,,;:;,''',;;,,;;,,;;,'..''.............................               ..................'',,,;;;;,,,;;;::::::;'.',:::::;;;:::;;;;;'.,;;;;,'..''..'''',,',:::;;:;,;,,,''''''''''...........',;ldddlllllllllllccc:::c:cc;;:cccclccclllllc,...
;;::,,,;;,,;;;:cccccllcccclllc;'..,:cc:,,,,,,;::;;:::::,,;;;;;;;;;,;:;,'''',,,,;;;,;;;;,,,'....''''',,,,,'''''''''''..................................'''',,;;::;;;;;;;:::::::;'',;;;;;;;;;;::;;;;,'';:;,,'...''''''''''',;:;,'..'',,',,,'..................';:loddllcccclc:cccc:;:::::::ccccllccclolc:,....
:::;'.',,,;,,,;:ccclll:::ccccc:,.';ccc::c:;,';::;;:::::,',:;;:;;:;,;::;','',,,,;;;,;;;;;;;,..,;,,,,,;;;;;;;;;;;;;;,,,''..........'''......''',''.....''''',,;;;:;;;;:::::::::::;;;;;;;,,,;;;;;;;;;,,,;,,''...'''''',,,,,,;;;:;'....'',,,,...................',;:cloddoloooc::::;:::c::clllc:cloooooool:'....
;;::;,,,,,,,,,;;;;:c::;;:::;:cc;'';::;;::;,'';::;;::;::,';c:::::c;',;:;,,,',;,,;;;,;:;;::;;,',;;;;;;;;;::::::::::;;;,,,,,,,,,,,,,;;;;,,,,,,,,,,,,,'''''''',,,;;:::::;;;;::::::cc:::;;;,,,;;;;;;;;,,,;;;,,''''',,'.''','',;;::;'''''',,,,''...'...............';:cloddddddoc;;;;clc:;;;:llc::cloooooooo:....,
cccc:,'',,,,;;;,,,;;;;;;:::::cc::::;;;,,,,,',;:;,;c::::,';::::::c;',;;;,,;,,;;;;;;;;:;,;:::;;;:;;;;;;::::ccccccc:::;;;;;;:::;;;;:::clc::;;;;;;;;;;;;;,,,,,,,,;;;;;;;;;;;;;::::clcc:;;;;;,;;;;,,;;,;;;::;;;,'',,,,''',''''':cc:,'''',,,;,''''','...............',:cllllooollc:;;:cc:;;;:cclccccloolcccc;...';
lllc;'.',;;,;;,''',;;;::cc:::cccc:::;;;:;;,',;:;,;:::::,';:c::;::;',;;;,,,,;;;,;;;;;;,,,;::::cc:;;;;:::::::ccccccccc::cccccc:::::cclolc:::::::;:;;;::::::;;,,;;;;;;;;;;;;;::;::cc:;;;::;;;,,,,;;::;;:::;;;,,,,;;,,,,''','.,:c:;,,''',,,,,,''',,'..............':cccccllollllc:::cc::::::cllccccoolc:::,..';l
clc:,,,'',;;;;,,,,,,;ccclcccc:clc;;c::cc:;,',;:;,;:::c:,';::c::;:;',::;;;;,,,;,;;;;::,,,;::cllcc:;;::::::::::cclllllllllllcc::ccclodolccccc:::;;;;;::cccc:::;;;;;;;;;;;;;;;:::cc:;;;;;;;;,,',,,,:cc:::;;;,,''',;,,,''',,'.,::c;''..',,,','',,',,..............':llc::cllcccllcc:::::::::ccc:::cloolccc;.,cll
;::;,,,;:clodolc:::::ccccccccccc::cloooc;,,',;::;;cc:::,';:::c:;:;,;:::;;;;;;;;;:;;:;,,,;::clllc::::::::::::ccllloooooolc:;,;:cclodxdollccc:::;,,,,;::::ccc::::::;;;;;;;;::::cc:;;;;;,,,,,,;;;,;cc::;;;;;,,,'''',,,,,',,'';:::,.....',,'''',,,;:'.............';:ccccccccc:ccll:;;,,;;;;:c::;;;:clclcc:;:ll:
,;;;,,',cc:clodlccc:::::::::::cccclolcc;;;,';;;:;;:::::,';:::c:;::,;::;;;;:;;;;;::;;;,,,;;;;cllccc:::::::::ccclllllllc:;,'..;llllodxdllllccccc:,'.',;;;::::c::::::;;;;;;;:::::::::;;;;,,,;;;;;;;::,'';;;,;;,,,,'''',,'.',,,;;;'....',,,'''''',:c;..............,;:ccllcccc:ccc::;;,,,;;;;;;,,,,,;;::::::lool
;,',,''',;;ccloc::ccc:;;;;;,,;:cc::c:;;;::,';;;:;;::;;:,';:::c:;::,;:;,,;;;;;::;;;;;;,,;;;;',:ccc::::::::::cclllllcc::;,'..':llllooollccccc::cc;'...',;;;;::::::::;;;;;;;:ccc::cc::;;;;;;;;:;;;;;,''',;;;;;,'',''..''..',,,,;;'...',;,''.....,;c;..............';::cccccccccc:::;;;,,'',,,,:cc:;,,;;:c:clood
;,,;,,,,;::::cc:;;:c::;;,,',;;;:::::::clll;,;,,:;;::;::'';:::::;:;,,:;'',;;;,;:;;;;;;,,;;;;..,;;;;:c:::::::cclllccc:;,,...,:c:;;;cccc:::::;,',,,,,'..',,,;;::::::::;;;;;;:clc:::cc;;,,,;;;;;:::;,,'..',;;;,,''','......'',;,,,''''',;;;,.....';:;,''...........',:ccccc:::::;,,;;::;,,,;,,;:cclooool::c:::cc
;;;::;,,;;,,;c:;;;;::;,,',,;;;;;;;;:cclolc;,;,;:;;c::::,';::::;;:;,,;:,',;;;,,:;;;;;;,,;;;,..',;;:dkoc:::::ccclccc:;,'..';:ccc:,,;;:;;;;;,,'''',,,,'...',,;;:::::::;:;;;::cllcllc::c:;;;:;;;:::;'''...,;;'...',''''...'',;;;,,''',,;;;,,,'..''';;;,,'...........';::cc::;;;;,'',;::;;;;;,,,,;:ccccll::c:;;;:
;::;;,,,,,''',;;::;;,''',,;;;;:::::ccclc::,,;,;:;:c::::,';::::;;::;,;;,,,;;;,,;;,,;;;,,;;;,'',,;lxO0Oocc:::ccccc::;,'..,cllllcccc::;;,,'..'',,,,,,,,,'''',;;:::::::::;;;::ccccll:;:cc:;;;;;;;;;;'.....',,'...',''''...',,,,;;;,'',;;;'..''..''',,,,,''''.........,:c:;,,;:c:,'',;::;,,,,,,,;;;;;;;;;,,,,;;;:
;;;;;,,;;,'''',,;;;;,,,,,,;;;;;::clllc:::;',,';:::cccc:,';:cc::;;:;,;:;,;,;;,,;;,;;;,,,,;;,'',;lxO000Oocc::ccccc::,'.';clllccccccc::;,,'''',,,,,;;,,,,,''',;:::::::::;;:cccccclc::;:::;,,,,,,,,;,'''..,,,'..'''''''''.',,,;;;;;;,,,,,''''''.'',;,,''',,,,''......,::::;;;;::;'',:c::;;:;;;;::;;;;,,,,,,;;::c
;,,,,',;;;,,,,;;;;:;;:::::;;;;;:clllccccc:,,,,::;:::ccc;';;:cc::::;;;;,,,,;;,,;;,;;;,,,,;;,',,:dkO00OOkoccccccc::;;'';cccccc:::::::;,'',,,,,,,,,,,;;,,,,,',;;::::::::::cclllccc::::::c:;,'''',,,,''''',;,,'',,,''''''.',,,,;;;;;,,;,,,,,,,,',,;;;,'''..'''.......',;::;;;;;;;,,;::;;;;::::;:;;,,,'',,;:::ccc
;:;,,,,;;:cclc:::::ccccccc:c:;;::::::::::;,,',::;::::::;,;;:cc::::;;;;;,,;,,,,;;;;;,,,,,;;,',;lkO000OOOxlccccccc::;,;:::::::::::::::;;;::;;,,,,,,,;;;;;;,,,;;;:::::::::cllc::cc:;;;:::;;;;,,,;;;;,,,''',;,,,;;,,,,''''',;;;;:;,,,;:;,,;;;;:;;;;;,,,,''............';:;;,,,,,;:::;;,,,,;;:;;;;,,''''',,;;::cc
::c:;,,;:cooooccc:ccllllolccc::::::::;;;;;:,',:::::::::,';:::::::c:;;;;',,,,,,;;;;;,,;;;:oxdddkKXXXK000Oxocccccc::;;::::::::;;;;;;,,;;::;,,,,,,,,;;;;;;;,,,;;:::::::::ccll:::c:;;;;;;;;;;;;;;;;::;;;,',,,;,;;;;;;,''''',:cclc:;',;;:;,'',,,,,,;;,,,,,'.....'......,;::::;;;:cll:;,,,,,,,;;;;,,,''',,,,:c;:::
:clc;,,;::ccllc;;;;;::coolcc:;;;:::c:;;;;;:,.,::::::;;:,';:cccc::c:;;;,',;;;;;;:;;;;;coxOKXXXXKKKK00OOOO0klcccccc:;;::;;,,,''....................''',,,;,,,;;::::::::::cdocccc:::::::::;;;:;;;;;;::;,',,,,,,;;,'''','',;:cllcc;''',,,,'.....',;,,,,,,''....''.....';::;;;;;:loo:;;;,,,;;;;;:;,;;,,,;;:lc',:;
cccc;,,;:::cc:;;;;;:;;;:::ccc:cc:;:::::;;;;'',;:::::::;'';:cccc:;::;::,',;;:;;;::codxO00OkkkxxkkOOkxdddk00dlccccc::;::::ccc:;;;,,'..............',,,,,,,,,,;::::::::::ccdkxoc:::::;;;;;;;;::;,;;;::;,',;,,,,''.....'',,,:ccccc:'''''''''''''',,,,,,,,'......'.....';:;,,;c:;cddc::;;,,,::;;:cc:::;;:cllc;;::
cclc;,',:cllcc::cccc:;;;::cc:ldoc:;:::::::;'';;:c:::::;'';:::cc:;;:;::;,,;;;;,;;lxOOOkxdlccc:;,,;;;;;;::coollcccc:;::cccllllllllccc:;;;:;;,,,,;;;;;;;;;;,,;;::::c::;;::ldO0Oxl:;::;;::;;;;;::;;;;;;;,,;;;,,'.....'''',,,:ccc:::,,,','.',,'',;;:;,',,'..............,;:::;::cccc::cc:,,;::::cccccccccllccc:::
:cc;,'',:lddollcc::;;;,,;:cloool::;;::clc::,';::ccc:;::,';:::c::;;c;;:;,,;,,,,,:cloooolc:::;,.... ....'',,;clccc::::ccccccccclllcc:::::;;;,;;;;,,;;;;;;;;;;;:::c:;;;;:clxO000Odc::::::;;;;;;;;;;;;,,,,;;,,,''...'''''',;:cc:::;;,,,,,,,,,,,,;;:;,,,,.........''....',;cccllollcccodl:;:cccccloooodddolc:ccc:
:::;,,,,:clolllllc:;;;;,:llolc:;:clc::c::::,,;::ccc::c:,';:::c::;:c;;:;,,;,,,,;llcc::;,,,,,,.     .........;ccccccccccccccc::::;;;,,,,,,',,,,,,,,;;;;;;;;;::::::;;;;;:cdkOO0000xl:cccc:;;;;,;;;;;;,,,,;;,',,''''''''''',:c:::;;,''',;,,,;::;::::;;,,'.........''....,:::lodolodooodo:;::cclodxddddddolcc:::c
cc:;;,',;:c:::clllc:::;;:clllcc:cccc::::::;,,;::cccc::c,';::cccc::c;;:;;;;;,;;:llcc::;;;;;,'.     .........'clcccccclllcccc::;;,''''.....''',,,,,;;;;;;;;;::::;;,,,;;:oxkOO00000xlcc:::;:::;;;;::;,,,,;;,,;,,'''''','',,:lc:;;,,'..';;,,;;::ccc:;;;;;'..........''..,cllloollodddxxxolooddxxxxxxxdddollccccc
kdl;,'.',,,,,,;;;;;,,,,,,,,;;;,,;,,,,,;;;:;',:::cccc:::;',:c:ccc:::,,;;;;;,,:;:llc:;:::::;'..     ..........;cllccccccllllccc::;;;,,,,,,,,,,,,,;;;;;;;;;;:::;,,,,,,;;cxkOOOO0OO00xlc::::ccc:;;;:;;;,',;;;;;;,,,,'','''',:::::;;,,'.,;;;;,,',;;:;,,;;,............''',:llolccllldxkkkxxxxxxxxxxxxxxxdddolcccc
XXKOxc,..''...'......................''';:;,;:::cccc:;:;,;:c::ccc:;,;:,,;,,;;;:clc:;,,,;,'.....   ..',''....,cllccc::ccllllllllccc::::::::;;;;;;;;;;;:::::;,'',,,,,,:dkOOOOOOOOO00Oxl:;:cccc:::::;;;,;:;;;;,;;:;;;;;,,,;cccccc:;,,,;;;;;,''',;:cc:cc;,'.........''',,;:ccccccclxxkxxxxddxxxxdddddddooool:::c
XXXXXKk:'''...........................'';;,,;:::cccc:;:;,;:c:ccc::;;;;,;;,,,,;:::cc:;,''........  ..,;'....':lllccc::::ccccclllccc::::::::::::;;;;;;;;;;,''''',,,,':oxkOOOOOOOOO000K0Okddl:::::::;;;;;;;;;::::::ccccccclllllloollccc::;;,''',,;:cccccccc:::cllclcc::ccllooooodddddddddddddddddddddddddool:;;
XXXXXXX0l,'...........................',;;,;;::;ccc:::::',cc:::::c:;;;,;:;,',;;,,:::,,,,;;,'''..   .,:;,,,:oxdlcccccc:::::::::::::;;;;;;;;;;;;;;;;;;,'''...''''''';oxkOOOOOOOOOO000000KKK0ko:,......'''''.''''''''''''''''''',,''''...................''''''''''''..'''''',:oddoollodddooddddddddddxdddddo:;
KXXXXXXXKxc:;,''.....................',,,;,;;:;:ccc:;:c;':lc:::::::;:;,,::,',;;,;;::;;;::c::;;,... .'cccldkxoccccccccc::::;;;;;;;,,,,,,,;;;;;;;;;,,'.........''..;lxkOOOOOOOOOOOO0OO0000KKKKKkolodooc,....................................................................,looolllclodddooddxxxdddddddddddoc
KKKKXKKKK0000Okdl:,..................''',,,;;::::cc;;:;,,;c:;::::;',;;',:;'';;;'';;;::::::::::;,'....;lokkdl:;;cccccc:::;;;,,,,,,,,,,,,,,,,,,,,''...............,ldxkOOOOOOOOOO00OOO0000KKKKKKKXXKKK0ko,.................................................................'coollllllcloddooddddxxxxxxxddddddo
KKKKKK0OOOOO00KKK0ko:'.................',,,;;::::cc;;;'...,:;:c:;,..;:;;:;',;;;'';;;;;;;,,,,,,'''....;dkxoc;;,;clllccc:::;;,,''''''''''''''....................'coxkOOOOOOOOOOO0OkO000O0KKKKKKKKKKKKKKKx:,,''''.........................................................':oolllccllccloooddxxxxxxxxxxxxxxxdd
KKKKK0000000KKKXXXXXKkdc,............'.',;,,;::::c:;;;....';;::;,..':c;;:,',;;;;,;:;::::;;,''......'cxkdc:;,,,;cllllccc:::;;,,,''''...........................'codkOOOOOOOOOOO0OOkO00OO0KKKKKKKKKKKKKKXK00OOxl,'.......................................................';loolccccclc::loooddddddxxxxxxxxxxxd
XKKKKKKKKXXXXXXXXXXXXXXK0xl;'.......'''',,,;;:::c::,,;'...'::;:;''',:;,,:,',;;;,;c:;;,;:::::::;;,,:dkxoc:;;,,',clllllccc:::;;;,,''''.........................,codxkOkkOOOOOOOOOOOO000O00KKKKKKKKKKKKKXXXXXXXXKOdc,''..................................................':loolcccccclcc:loooddddddddxxxxxxxxxd
KK000KKXXXXXXXXKKKKKKKXXXXX0xl;''''',;;,,,;;;:::::;'','....:c;;,'''.'',;:,,;;;;,;cc;,';:::;;:cclodkkdlc::;,,'',clllllccc::::;;;,''''''''....................,codkkkkkOOOOOOOOkdxO00K0000KKKKKKKKKKKKKXXXXKKKXXXXKkc'''',,,,,,,''''...........''''''''''...............,codoccc::::cccclloddxxxxxxxxxxxxxxxxd
OOOOOO00KKKK000OOO0KKXXXXXXXXX0xllc:;:c;,;;;;::;::;'',,'..':c;;,,,,'..,;;;::;;;,;:::;,;:;:::cdxO0Oxdlcc:;,'.;;,collllccc:::;;;,,'''''''',,,,,''...........';ldxkOOkkOOOOkkOOOxodxkO00KKKKKKKKKKKKKKKXXXKKKXXXXXXXXKxodddoccclc:cc;,;;,'',;;;;::::;;;;;:,.............',coolccc:::::lc::clollcoddoodddddddddd
kkOOOOOOO0OOOOOO00KXXXXXXXXXXXXXXKOdclo:,;;;;:::::;,,',,'.,:c:::;,,,'',;,,::;;;,,:::;,:loxO0XXXKOxolclc:,'..lc,lolllllcc::::;;,,,,,,,,,;::;;;,''...'',,,,;ldxkOOOOOOOOOOOOOOOxxxkOO00000KKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXKOdccllccl:::;,,,,;;;;:ccc::::cc;.............',col:::c:::;;;,,,;,,,;cc::::cclloooddd
kOOOOOOOOOOOOO000KKKKKKKKXXXXXXXXXXK0kd:,;;;;;;:::;,,',,'.';cc:::;;:;,;::::::::,,;:ldk0KXXXXXK0kdllllc:,'..:xxlooolllllc:::::::;;;;;;;:cc::;;,;;;:::::::cokOO00OOOOOOOOOO000OkxkO0KKK0O0KKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXKOxolcllc::;,',,;;;;;ccc::::c:;'............',cl:::::::;::;,',''';:;,;:cclllllooood
OOOOOOOOOOOO000KKKKKKKKKKKXXXXXXXXXXXX0d:;:;:;;:::;,,,,;...'::::::::;,;:;;;;:lloxk0KXXXXXXXKK0kdollol:;,''cdkOkxdolllllc:::::c::::::cclllcccclllllcc:::lxO0000OOOOOOOO00000OOkxk0KKK000000KKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXKOdododxkxxdoc;;;;cccc::::;;'...........'':ll:::::::;;:;'''..','',;;:clllllooooo
0000000OOOO00KKKKXXXXXXXXXXXXXXXXXK00KK0kdc;:::::::;;,;;...':c:;::::;,::;:lox0KXXXXXXXXXXKK0Oxolllooc;,',lxkkkkOkxdoolllc::::cccccloooddddoooollcccccoxOKKK00OOOOOOO000KKK0OkkkOKKK00KKKKKKKKKXXXXXXKKXXXXXXXXXXXXXXXXXXXXXXXXK0KKXXXXXXXKkl;:cc::::c:;;,...........',coc::::::::::;''......',;;::::clllllll
KKK00000000KKXXXXXXXXXXXXXXXXXK0Okxxkkxxxkxc:::c::;;;;;,....:c;;::::,,:lok0XXXXXXXXXXXXKK0Okddollolc;'.,lxkOOOkkkkkkxdoolc::clodddxxxxxdddolllllllldk0KKKK00OOOOOOOO00K0KKOkOkOKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKXXXXXkc:clccccccc:;'..........';locc:::::::c:,''.....',;;;:ccllccccccc
XXXKKKKKKKKXXXXXXXXXXXXXKK000OxdodxxxxkO00Kkoc:cc:;:cc:,....;;,,:ccc:lx0KXXXKXXXXXXXXXKK0Okxddolloc;'':okOOO0OOOkkkkxxxxxdoodxkkkxxxxxxddddooooddxk0KKKK00OOOOOOOO00KKKKK0OkkO0KKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKxccccc::;::::,..........';clcccc::::ll:;,'....';;::::::;;,,;;;;;
00KKKKKKKKXXKKXKKKKK0000OOkkxdoodddxk00KKKKK0o:c::;:c:;'.''',;,;:cldO0KKKXKKKXKKKXXXXKK0Okxxxxdlcc:',lxkOO000OOOOOkkkkkkkkkkkkkkkkkkxxxxxxxddxxxO0KKKK000OOOOOO000KKKKKKKOkkO0KKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKXXXXXXXXXXXXXXX0OOOOkxolc::,'.........';ccccccc:;;cc,,,'....',,,,,,,,,,,,,,,;;
OO000OO000000000OOOkkkkxxxxxddxxxkO0KK00000KK0dcc:cc::,.''...;cclx0XKOOKKKKKKK0000KKKK0Okxdxxdlcc:,;dkOOOOOOOOOOOOOkkkkkkkkkkkxkkkxxxxxxddddxkO0KKK000000OOOO0000KKKKKKK0kxk0KKKKKKKXXXXKXXKKXXXXXXXXXXXXXXXXXXXXKKKKXXXXXXXXXXXXKKKKXXXXXXXXXXXXXXXXKOxo;'..'......,:lccccccc:::;,''....';::::;;;,,,,,,,;::
OOkxkkOOOOkkOOOOkOOOkkxxxkxxkkO00KK00OOOOOO0KKkolccccc;'''...coxOKK0kO0KK000kxdooooxOkkkkxddxdllc::dkOO00OOO0000OOOOOOOkkkkkkkkkkxxxxxxxxxxkkO0KKK000000OO0OO00KKKKKKKKKOxkOKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXK00KXXXXXXXXXXKKKKKKXXXXXKKKKKKKKKKXXXXXXKkc,'''.....;clccccccccc:,,''...';:cc::::;;;;;;:cc:;
kkkO000OO0OOOkkkkkxddxkkkkkkOO0000OOOOOOOOOOOOOxdoooll:;;::cok0KKKOkkOKK0kxoloooolccoxkkkxddddol::okOOOOOO0000OOOOOkOOOkkOOkkkkkxxxkkxxkkOkxlclox0KK0OOOOO0000KKKKKKKKX0xxOKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0O0KXXXXXXXXKKKKKXXKK0OOOOxdddkOKXXXXXXXXXXX0Oxoc;'..,:lccc:::cccc:;,''...,:ccc::ccccccccc:;;;
O00KKKK0000OOOOkxxxkO000O00OOOOkkxxkkkkkkkkkkkkxddoodddxxxxxkkOOOkxxxkkxoc:clllllol::oxxxxdoodo:,cxOOO0O0000OOOOOOOkkkkOOOkkkxxxxkkkkkOkkdlc:;,,,:ok00000000KKKKKKKKKXKkxk0KKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXX00KXXXKKKXXKK0Okxxdddlccllc;,'..';oOXXXXXXXXXKKXKK0x:'',;::::::cll:;;,,'..';:cccc::::::::;;,;:c
XXXXXKKKKKKKK00OO00KKK0OOkkkxxxxxkkOOkxxxxxxxxxxxxxkkOOkkxdooooodoolooc:,,,,:cclloolclddxkxddxl',dOO00000000OOOOOOOOOOOOOkkkxxxkkOkOOkdlc::;,,''''.;dO00K0KKKKKKKXXXXX0kk0KKKKXXXXXXXXXXKKKXXXXXXXXXXXXXXXXX0OKXKKKKKXKKkl;;;,;,,;cccllc,.......,cdOKXXXKK0OOOOO0Oc''',;;;;::cc;;,,'';;,;cc:ccccccccccccclll
XXXXXXXXXXXXXXKXXXXXXK0OOOOOkkOO00OkkxddxkxxxddxkOOOOkxdolc::ccccccc:,'',;;clccccccc;:dOOOkkxo,.:xO000000000000OOOOOOOOOOOkxxkkOOOkxol::;;,,,,,'''',;ldxO0KKKKKXXXXXXKOxkKKKKXXXXXXXXXXKKXKXXXXXXXXXXXXXXXX0OKXKKKKKOdol:...',,,,,,;;:lol:,',,,,;:;;lk0XXKK0OkxxkOk:.';::::::::::;,,;ol,:cccc:::::::ccclllcc
XXXXXXXXXXXXXXXXXXXXXKKKKKXKKKKKKK0O00OOOOkkkkkO000Oxxxdolllllc:;;;;,;:::clc;;;::;::,;loooxxoc''lkOO0000000000OOOOOOOOOOOkkkkkkkOkdlc:::;;;;;;,',,,;;::cokO0KKXXXXXXXKkxOKXKXXXXXXXXXKKKXXKXXXXXXXXXXXXXXXKOOKKKKKK0l......'lOOo,,:;;ccoxkdccc:;:odlclok0XXXXK00O00xcldxxxddddoolc:;lko;;ccccccccc::::::::::
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKK0O000000000OOOkkkkxxxxxxdollclllllc:;,'',::,,,,,,,,,:cc:,;oxkO00O0000OOOOOOO00OOkkkkkkkkkOOkxdddoooool:,,;;;::ccllddddxOO0000OOkxxOKKKKKXXXXXKKKKXXXKKXXXXXXXXXXXXXXOx0KKKK0kxocccllloxkkd::l;;okocclc:cllcclddolclxKXXXXXK0Okxxk0XXXXXXXKK00O00Ol:llllllllllllccccccc
XXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKK000000OO00OOOkkkkkkkkOOOkkxxxxxdoll:;;::cll:,,,,'',,;;:::::clloodxkkkkkkkkOO00OkkkkkkOOOOO00000OOkkkxdl:;clccllloddxddxxdddxxxxdxdxOKKKKKXXKKKKKKKXXKKKXXXXXXKXXXXXXKxd0KKKKOkO000000000Okdl;,'..,:ol;,,;:llc:::cccccd0XK0OkxxxxddxOKXXXXXXXXXXXXX0xoooooolllccccccc:::
XXXXXXXXXXXXXXXXXXXXKKXXXKXXXKKK00KKK0000OOkkOOOOOOkkkkkkOOOOOkkkkxdddddolloolc:;,,'',,;;;::::::::coddddooooddddxxxxxkkkkkOOO0000K0OOOOOkkdc:cdolddddxxdddkkddxdddddddddxk0KKXKKKKKKKKKXXKKKKXXXKKKKXXXXKOod00000000000KKKKK000Okdc,.....'.....''',;;;;;;;cx0Oxxdxxdddddx0XXXXXXXXXXXXXXKxolllc:;;;;;;,,,,,,
KXXKKXXXXXKXXXXKKXXXKKKXXXKKXXXKKKXXKK0OOkkOOOOkkkOO000OOOOOOOOOOkkxxxxxdddolc;,,,',;;;;;:::::c::oxkkkkkxdoooooooooooooddxxxkO0OOOkkkOOOkdlccdxldkxxkxddxxkxxkxxxdddddooodxOKXXKKKKKKKKXKKKKKKXKKKKKXXXKKxdk0000000000KKKKKKK0000Okdc,.....''..',,'..','.':clxkkkkkkkkkOO00KKKKKKXXXXXXXXOolc::::;;;;::;;;,,
KKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXKKKKKKK00OOOOOOOOOOO00000000000000Okkkkkxdol:;,,,',,;;::::::cc:cdkxkkkkkkxxdooooooooooooooooodddxxxkOOOkdolldkookOkOOxddxkOxdkkkxdodoollloodkKXKKKKKKXXXKKKKKKKKKKKXXXKK0O00000000000KK00KKK000000OOkdc;...;,...''.........''ckOOOOOOOOOOOO00O00000000KKK0doolc::::::::cc:::
KKKK0000OOO00000KKKKKKKKKKKKKKKKKKKKKKK0OkkOOOkkkxxkOO000000000000Okkkkxxdo:;,,'',;;;;::::::ccoxkxxxxxxxxxxxddoollllllllloooooooooodxkxddoodkdlkOOO0OxodxkOxdkkkkdllllccclllokKXXKKKKKKKKKKKKKKKKKKKKK000000000000000KKK0000000000O00OOxoc;'....  ....''',;,,;dOOOOOOOOOOOOOOOOOOOOOOOOOOkdoooolllllc:::cccc
KKKKK00OOOkkkkOO000KKK0000KKK00KKKKKKKK00O000OOOkkkkkOO0KKKKKKKKK0Okkkxdoc;,,,',,;;;:::;;:::cdkOkxxddddddxddxxxdlccclllllllllllllolooodddxkkkddOOOOOkxdddxxxxkkxxdlcc::ccc::coOXKKKKKKKKKKK0KKKKKKK00000KKK000000000KK0000000OOOOO000000Okxo:'.........''''..;dOOOOOOOOOOOOOOOOOOOOOOOOOOkkxdddddollccc:::::
KKKKK0000OkkkOOO0KKK000000KKKKKKKKKKK000OOOOOO0OOkxxkO0KKKKXXXXXKK00Okkxl:,,,'',;;;;::;:::::dOkkkkxxxxddddxxxxxxolcclllllllllllllllooddxxkkxxxkkxxxddddddxxxxxxxdoolc::;;;,,;:dKKKKKKKKKKKK0KKK0000000000000000000000000000OkkkOOO00000OOkxdol:,.............,okOOOOOOOOOOOO00OOOOOOOOOOOOOkkkxddddoolcccccc
KKKKKK0000OkkO00KKKKKK00000KKKKKK000000000OOOOOOOOOOO0KKKKXXXXXK00000Oko:;,,,',,;;::::::c:;coxkkkkkkxxxxxddxxxxdddoolllllllllllllloooddxkxxxxxxxxxxxxxxdddddddddddoolc:,...'';lOKKKKKKKKKKK000000000000000000000000000000OOkkkkOO00000Okkxxddol:;.............:kOOOOOOOOOOOOO0000OOOOOOOOOOkkkkkxdddddddoood
XXXXKKK00OO000000KK0000000KKKKKK0KKK00000000OkkkOOO00KKKKKKKKKKKK000Okd:,,,',,,,,;:::::::;:lllodxxxxxxxxdddddddddddxddoollllllllloodddxkkxxxxddxxxxxxxxxxxxxxxxxxdddoool::::::lkKKKKK0KKK00000000000000000000000000OO000OkkkkkOOO0000Okkkxxddol:;'..........;cdkkkkkkkkOOOOOOOOOOOOOOOOOkkkkkkkkkkxxxdxddddd
KKK000KKK0000000000K00000KKKKKKKKKKKK000OOOOOOkOO000KKKKKKK0000K0000Od:,,,'',,;;;;::::::;:ccclllodddddolodxxddddxxxxxkxdlllccllllodddxxxxxxdddddxxxxxxxkkkkxxxxxxxxddolodddxxxxkO00K0000000000000000000000000000000O000OkxxxkkkOOO00Okkxxxxdddl:;,..........:dxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddo
00000000KK0000KKK000000000KKKKKKKKKK0000OOOOOOO0000000KK00KKKKK00OOkd:;,,,,,,;;::cc:cooodooodxxdooxxdolccokkxxxxxxxkkkkxolcccclooddddxkxxddddddxxxxxk0KKXKK0xdxxxxxxdolllooddddxxxO0OO00000000000000000000000000000000OkxxxddxxxkOOOkxxkxxxxdol:;,...........:ddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkxxxkkkkxdolc
0OOO000KK0OO00000000000O00KK000KKK00000000OOOOOOOOOO0000000K000000OdlclllllodxdoodxddxkxxxxxxkkkkkkkxkOdldkkkkxxxddxxxxxxdlcccodxxddxkxxxddddxxxxxxxk0KKK00kxxxxxxddoollllooddddxxOOOO0000OOOO00000000000000000000000OkkkkxdoodxkOOkkkkkkkxxdoc:;,..........,clloodddddddddxxxxxxxxxxxxkkkkkkkkkkxxxkkkkxo:;
0000000KK0000000000000OO000000000KK0000000OO0000000000000000000OOkxoddxxxxO00kxdxkkkkkxxxxxxxxxkkkkkxkxlokOOOkkxdddddxxxxxxolldxxddkkxxxddxxxxxxxxxxxxxxxxxxkkkxxxddoolllooooddxxkkOOO000OOOOOOOO000OOOO000000000000OkkOOkxddddxkkkkkkkkkxxdol:;;'.......';;;:::ccloooodddddddddddddddxxxxxxxxxxxxxxkkkkkxol
O00000000K0000000O0KKK000K00000000K0000OOOO0000KKKKK00KKK00OxddooooddxxxxO00xoxxxkkkkxxxxxxkkkkkOOkkkdlldkkkkxxddxkkxxxxxkOkddxxddxkOkxxdddddddxxxxxxxxxxxxkkkxxxxdddooooooddddxkkOOOOOOOOOOOOOOO00OOOOOOOO00000O00OOkOOOOkxxxkkkkkkkkkkxxxdoc:;'. ......',,,;;;;;::ccllooooooooddoodddddddddxxxxxxxxxxkkkkx
OO0OOO000KKK00000000KKK00KKKK0KKKK0K00OOOOkO0000KKK0KKKKK0dloxkOkdoddxxooxkocldxxxxxxxxxxkkkkkkOkkkkkoccloddddxxxxkkxdxxkkOkxxxxxkOkkkxxxddddxxxxOO00OOOkxxxxxxxxxdddddoooddddxkkOOOOOO0OOOOOOOOOOOOOOOO00OOOOOOOOOOkOO0OOOkkkOOkkkkOkkkxxdolc;,.    ...'''''''',,,,;;::cccclllloooooooooooooddddddddxxxxxxx
OO00OO00000K00KK00000KKK00KKKK0KKKK000OkkOOOOO00KKKKKKKK0l:lxkOOxoodddollclcoxddxxxxxxxkkkkkkkkOkkkkdlccllllodxkxxkkxxxxxkkxxxxxxkOOkkxollooodddk0KKKK00kddddddddddddddddddddxkkkOkkOOOOOOOOOOOOOOOOOOOOOOOkOOOO0OOkOOOOOOOOOOOOkkkkkkkkxddolc,.   ..............'''',,,;;;;:::ccccccccccllllloooooddddddxxx
O000KK0000000000000000000000KKK00K00OO0OkkOOO0000KKKK0KKd;coxkkxooddddollllldxxxxxxxxxxkkkkkkkOOkxxxoccccccccldxkkkkkkkxxxdxxxxxOOkkkxookkkkxddddxxdoolllclccccloddxxddddddxxxkkkkkkkkkkkkkkkkkkOOOOkkkOOOkkkOOOOOOOOOOkkkkkOOOOkxkkkkkkxdool:.  .......................''',,,;;;;:::::::cllooooooodddddxxkk
000000KKKK00000OOOO000000KKKKKKKK00OOO0000OOO00KKKKK0OKOllxkkkkdoddddolloodxkxxxxxxxxxxkkkkkkkkkkxkdc:cccccccccldkkkkkkxxddxkkkxkOOO00OO0KKKKXXXXXKK00OOOkkxd;'',cdxxddddddxkkkkkkkkkxxxxxddxxkkkkkkkkkkkxxxxkkkkkkkkkkxxxkkOOOkxxxxxkkkxdool,.   .................'',;,''..'',;;;:::::cccllloooddxxddddddxx
KK0000000K00000O000OO00000K000000OOO0000000OOO000KKX0OKkdk00Okl;,;:llllllooxkxxxxxxxxxxkkkkkkkkkkxxl::cccccccccccldkkkkkddxkkkkkkOKKOdlcllooddddxxkkkOOOO00KOxo,.;xkxxxdddxkkkkkkkkxxxddooodxxxxxxxxxxxdoodddxxxxkkkkxxxkkkkOkkxddddxxxxdoloc'            ......'',;;::cc:;;;;::ccccccccccccllllllllllllllll
KKKK00000000OOOO000OOO000OO0000OOOO00OOO00OOOO00000K0O0Ok0000kdoll;';cllodxxxxxdxxxxxxxxxxxxxxxxxkxllolccccccccccccoxkkkxxxkkkk0KXXkc'.',,,;;::::ccccclllllllkXklokOkkxxdxkkkkkkkkkxxxdoooodxxxxxxxxddolllloodddxxxxxxxxkkkkkxdooodddxxddoll:..............''',,,;;;:::ccccccclcclllllllccllllllllllllllllll
000K0O0OOOOOOOOO000OkkOkkkOO0000OOOO00OOOOOOOOO0000K0kxxxxxdolc:,'...';loxkkxxxdddddddxxxxxxxxxkkxllxkxdlccccccc:::clxkkxxkkkkkKXKd:;::::;;;,,,,,,,,,,,,,,;,:kXKkxxkkkkkkOOkkkkkkkxxxxollooxxxxxxxxddolcccllloodxkkxxdddddddddolloodddodoolc,......',;;;:::cccccccccccccccccclllccccccclllllllllllllllllllll
0OO0OOOOOkkkkkO000OOkxxOOOO00OO00OOOOO0000OkOOOO00O00Odlooodl,.........';lodddxdddddddxxxddxxdoddl:oxxxxxdlccccc:::::codxkkkk0XX0o::odxxxddddddooooollllccc:ckXXkdxxkOkOOOOOOOkkkkkkxdolccoxxkkkxxxdollcllllloddxkkxxxddddooollcloooooooolc:'...'''',,;;::clllloddxxddolcccc:::::cccclllllllllllllllllllllll
0OOO000OOOkkxxkOOkkxkxdxO00000OOOOOOOOOOOO0OkkO00K000Oxdxkkd:''.....'''..',,;:clooododxxxdool:'''':oxxxxxxxocc:::ccc::coxkkk0XX0o:coxxkkkkkkkkkkkkkkkkkkkxkxdkXXkdxkkOOOOOOOOOOOOkxxdool;:lxxkkkxxdooolllccclodxxddoooooddolcc:ccoooodooll:,...'',,;;;:cclllllooodxxxxxdlcccccccllllllllcccclllllllllllllllo
000O000OOkkkkkkxxxxxxxxkOOOOOOOOOOkOOOkkkkOOkkO00000OOkxkkd:,'''.''',;;;;,,'.',',,,,,;;;;;,'....':odddxxxxxxdlc:::c:::cdxkxx0XKxlldxxkkkkkkkkkkkkkkkkOOOOOOkxONKxdkkOO0OOOOOOOOOOkxxdol:,;oxkkkkxxxdddolc::codxkxxxdddddolc::;:cloodoolccc,..''''',;;:coddddddoooodddddoddddddoollllllllllllllllloolllllllll
0000OOOOkxkkOkkxddxkOkxdkkkxkkOkOkxkOOOkkkOOOOOO000OOOOOkxl;''''',;;;:;;:::;;ccc:::;;:clllccllooodddddxxxxxxxxdl::::::oxxxdodO0K0000000000000OOkkkkkkOOOOOOO0KXkodkO000OkOOOOOOOkkxdol:,';oxkkxxxxxddolc:;;lxkkkkkkkkxdolc:;;:looddddolc:;,',,,,,;;;;;:cloxxxxxdooollodddxxkkkkxxddoollloooooolloooooooooooo
KK000OOkxxxkOkxxdddxkOkdxxxxxxkkkkxxOOkkkkkOOOOO000OOOOOOx:,'''',;;;;;;;::;:ccccccccclloxkkkkkkxxdddxddddxxxxkkkoc:::ldxxddolcccllloooddxxxxxxxxxxkOO0000000Okl:lxO00OOkkkOOOOOOkxdlc;''':xkkkxxxxdoollc;,cxkOOOOOkkxdool:,,coxxxxxxdolc;,;:cc:;;;::::::::codxxddddddddddddddxxxkkkkxdooooollloooooooooooooo
000OOOkkkxkkkkxddddxxxxxddxxkkxxxkkkkkkxxkOOOOOOOOOOOkkOxl;'''',;;;;:;:::;;:ccc:cccccccclodxdxxkkxxxddddddxxkkkkkdc::oxxxdddoc:;;,,,,,,,,,,,'''.'',,;:::cclc;'':xO00OOkkkkkkkOOkkdol:,..,okkkkxxxxdoolc;';okOOOOkxxxddol:''cdxkkkkxxdolc;,:llllllc::::::::::cooooddxdxxxxdddddddxxxxxxxxddolllooooooooooooll
0OOOOOkkkkkkkkxdxxxxxxxddxxdddxxxxxxkkxkkkkkOOOkkkkOOkkko;,'''',;;;::;;;;;:ccc:::ccc:::::ccodxxkkkkkxxddddddxkxxxxocldxkkxxddollllllcccclccc:;;,,,,,,,,,,''',:ok0OOkkkxxkkkkkkxxdol:;'..cxkkxxxxddddol:'.:xOOOOOkkkxxdoc'.:dkkkkkkxxdoc;,;ccloodddoc:::;:c::ccllllooddxxxxxxxdddddddxxxxxxxddoooooooooooooll
0OkOOOkkkxxxkkkkkxdxxxxddxkxdddxxxxdxkxxkkkkkOkkkkkOkxxxl;''''';;;;;;:::;;:ccc:cc:::;;;;;:::ldxkkkkOOkxdddddddxxdddooxxkkkxxxxdddddddddxxxxxxxdddddddddooodxkOOkxddxxddxxxxxxxxdol:;'..,dkkxxxxxxdddl:,',lkOOOOOOOkkxdc,.,lxkkOOkkxxdo:,;;ccclloooooooolccccllllllllloodxxxxxxxxdddddddddxxxxxxddooooooooool
kkkkOkkkkkkxxxxxxxddxdoodxxxdddddxxxkkkkkkkkkxxkkkkkkkxo:,'''',;;:;;;:::;;:cccc::::;;;;;;;:::cldkkkOkkkxdddddodddddodxxxxxxxxxxkxxxxxxxxxkkkkkxxxkkxxxkxxkkkkxdolldxxdddddxxxddll:;'..'okxxxxxxxxddoc,..;xOOOOkkkkkxdl;..;dkOOOOkxxxdl:;:::ccccloolooooodddoolccccccllloooodxxxxxxxxdddoooodxdddddddoooooool
kkkkkkkkOOkxxxdddxxdddoodxdxkkxxxxxxxxxdxxxxxkkkkkkxxxdl;''''',;;;;;;;::;:ccc:::::;;;;;;;;;:::ccoxkkkkkkkxddoooddxddxxxxkxxxxxkkkkxxxxxkkkkkkkkkkkkkkkkxdooollc:;cxxdooddxxxdollc;'..'lxkxxdddddddoc;. .lOOOOkkkxxxddc...:dkkkkkkxxdoc::cllllccllccclooddxxxxdoolccllllllllloodxxxxxxxdddoollloddddxxxddolll
kkkkkkkkOOkxdddddddoloooddodxxxxxxxddxxxxxxxxxkkkkkxxddc,''''';,,;:;;::;::c:::::;:;;;;;;;::;::cccldxkkkkkxxdddddddodxxxkkxxxxxxxkkxxxxkkkkkkkkkkkkkkkkkxdc::;,'.'lxxxdooollc::cc;...'lxkkxdodddoool:'..;xOOkkxxxxxxdo;. .cdxxxxxxxdddc;clllooolooollcclodddxxxxxddoolllcccllccllodxxkkxxdolooooooddxxxxxxddo
OOkkkkxxxkxxdooodxddloooddoddxxdddddxxddxkxxxkkkkkkxddo:'...',;;::::::;;;::::::::;:::;;;:::;;;::cccoxkkkkkkxddddoodxkxxxxxxxxxkxxxxxxxkkkkkkkkkkkkkxxkkkxl;'....;dxxxxdollcc::;,...'cxkkxxddddooolc,. .oxxxxddddxxddl'  'ldddddddddoo:,:cclllooodddooolllodddxxxxxxdoolcccclclllllooddddddddooolllooddxxxxxx
kkkkOOkxxdddoodoloddollloooodxxdxxxdxxxxxkkkkxxxxkxxdoc,....',,;::;;;:;;::::::::;;;::;;:::::::;;::ccldxkkxxxxxxdoodxkxkkxxdxxkkxxxxxxkkkkkkkkkkkkkkkkkkxoc,.....lxxkkxxddolc:;'...'cdddddooooooolc;. .:doooddoooooooc.  .cddddoolllll:,,;;:cloddddddxdddoooodddddxxxxxxdolccccccclccllooddxxddooooloooddxxxx
xxkxxxkkxdoooooooloolcllllodxxkxxxxxdxxxxxkkkkkxxkkxddl'...',;;;:;;:::;;::::::::;;:::;::::::::::;;:ccclxkxxkkkxdoodxdxxxdddxkkkkxxxxxkkkkkkkkkkkkkkkkxxdl:,'...;dxxxxxdddolc;'....:ddoddooolllllc;'. 'odoolllllcc:cl;.  .:lddddoolccc;,;::::ccloddddxxxxdddoooddddddxxkkxdollcccccccllllooddxddddddooooooodd
xxkkxxdddddooollolllllodolldxkkkkxkkxxxkkxxkkkkkxxkkkkl,...'',;;;;;;;,,;::::::::::::::::::::::::::;;:cccoxkxxxxxddxddxxdddxxkkxxxxxxxxkkkkkkkkkkkkkkxxddolc:;,;lddddddoooolc;'...'cddddddoollcc:;,.  ,oddollc:::c:::,.  .:odxxxxxdocc;;:::ccccccclodddddddddddoddddddxxxxdddollllllllllllllloddddxxxxdoollol
dxxxxxddddddddolccclllooddodxkkkkkkkkkkkkOkkOOOkkkkkkxc'......';;;,,,,,;::::::::::::::::::::::::::::::ccclodxxxdddxddxxdddxxxxxxxxxxxkkkkkkkkkkkkkkkxxxxddollclddoolllooolc;,,,'.,lddoolccccc:;,,.. .:ddoollcccc::;,.  .'codxkkxxdolc::::ccccccccllooddddddddddddddooolooooooooooolllllllllllllodddddddolcc;
odxdddoooooloxxdocclllooodoodxxxxxxkkkkkkkkkOO00Okkkxdc'.....',;;;,,,;,,;;;;::::::::::::::::::::::::::::cccldxdoodxddodddxxxxdxxxxxxxkxkkxkkkkkkkkkkxxxxxxdddddddoollllool:,,::;,:odddolllc:;,''..  .cdxddooollc::,... .,ldxxxxdddol:::::::cccclllllllloddxddxxxxdoolooooooooddddoooolllllllllccclodddolc:;,
dddxdddolllldxkkxdlcclloodooodddxxxxkOkkkOOOO000Okxxxo;'.....',,;;;,,,,,;;;;:::::::::::::::::::::::::::::::::coooxxdxxddddxxxdxxxxxxxxxxxxxxxxkkkkkkkkkkxxxxxxxxddoooooolc:,;:;;;ldxxxddool:,'...  .,ldxxxxdolcc:;......:oddddddddoc;;;:::ccccllllllllllllodxxxddddodddddooodddddddddoolllllllllllclll:;;;;:
dddddddolloooxOOkdllcllloodddddddxxxkOO0OOO000000Okxdc,........,;;,,,,,,;;;::::::::::::::::::::::::::::::;:::::cdxxdxkdddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkxxxkkxxdddoooooolc;,;;;;:ldxxxxdolc:;'..  ..:odxddooollc:,.....,lddddxxdddoc;:::ccccclllllcclcclllllooooodddddddddddooooodddddddoolllllllllcc:;;,;::
dddddddollllodxxxollllooooddxxxxkkkkOO00000000OOOOkxd:'......',;;;,,,,,,;;;::::::::::::::::::::::::::::::::;;;;cdddddddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkxxxxkxdddollloolcc:;','',codxxddoolc:;'..  .'cddddoooollc;......cddddddoooll:::c:cccllllllllcllllllcclcclooooddddxddoodooooddodddxddolllllcc:;;::cc::
dddoolllccclloooooooooooodxxxkkkOOOOO00000000OOOOOkxo;......',,,,,,,,,',;;;;::::::::::::;;;::::::::::::::::::;:odddxxdddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkxxxxxddooooollcc:;'.'.';loddoolllcc:,'.....;loddoolllcc:,.....,ldddddollccc;;::cccccllllllllllllllcllllllooddxxdddddddoooooooddxxxxdolccc:;;,;::c::;
ooolllllllllooollodoodddddxxxxxxkkOOO0000K000OkOkkxdl,.......',,,,,,,''';;;;;:::::;;;:::;;;;;::::::::::;::::;;coddddxddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkxxxdxkOOOkoc::,.',,,:oooooolllc:;,.....'cooooollcc::;'.....:oooooolcccc:;;;:::ccclllllllllllllllooooooooooddddddxxxddoooooooddddddoc:;;;::cc:::cl
clllooolooooooooclooddddddxxxkkkkkkOOOOO000K00Okxdddc'......'',,,,,;,,'',;;;;::;;;;;;:::::;;;;;::;:;::::::::;;lddddooodooddddxxxxxxxxxxxxxdxxxxxxxxxxxkkkkkxxdxkOkkkxocc:'.,,,:loooooolllc:;'.....;lllloollc:::,.....,cooxkkxoccc:,,,;;;::ccccclllcclllllollooolllooooooddddxddxdooooooooooolc::;,;::cc:::cc
clllloooollooooooooodddddddddxkkkxxxxkOOO00K00Okkdooc'......'',,;,,,,,'',;;;;:::::::::;;;;;;;;;;;:::::::::::;:oddddxxoooodddddxxxxxxxxxdxxddxxxxxxxxxxkkkkxxdoxkkxxxdlcc,..,,;coooooooolcc;,..''.,cllooooolccc;......;ldxOOOxocc:,',,;::ccccccccccccclllllllllllllllllllloodddddddddooololllc;::::::::cllc,'
ooolllllodoodxdoooooddddddoddxxkxddxxdxxxxkOOOOkxdolc'.......'',,,,,,,,',;;;::::::::::;;;;;;;;;;;;:::::::::;;codddoddoooodddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkxdoodxddddolc;..';;:loooddooolc:;'.',,,:clcclllllll:,..'',';oxkkxxdolc;',;;:cccccccccccclllllllllllllllccccccccclloodddddddooollc:;,;:;;:::;cc;,'.
oooooollddxxddddddddddddooooddxxxdodxxdxxxxxdxxxdollc,......',,,,,,,,,,',;;;;;::;;::;;;;;;;;;;;;;;;;:;;:;;;;;lodddooooooodddddddxxxxxxxxxxxxxxxxxxxxxkkkkxxdoc:::ccc:;,...,;;cloooooolllc:,'',;;;cc:::ccccllc;'.',,,'':oxxdollc,.',;:ccccccccccllllllllllllllllllllllllccclcccloooddddoolc:;;;;:;;;;cc:,''..
oooooddodxxxxxxxkkxddxxxoloolodddddxxddxxdddoooooollc,......',,,,,,,,,'',;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;,:lddddxxdoooodddddddxxxxxxxxxxxxxxxxxxxxxkkkxxdol:;;;;;,,,,...',;cllllllllcc:;'.',;;:c::;::cccc::,.'',,,'..',,,,,,'.',;:cccccccccccclllllllollllllllllllllllcclcccccclooooolc:;,;::::;;;;;'.''..
doddddxddxxddxxxxxxxxxkkxooolldxxddxxxdddoooooooooodo;......''',,,,,,,,',;;;;;;;;;,;;;;;;;;;;;;;::;::;;;;;,;:odddoooooooodddddddxxxxxxxxxxxxxxxxxxxxxxxxxdolc;:cccc::;'....':llloddolcc:;'.',,;:ccclloolc::;,...',,,,'.........,;;::::c:::cccccccllllllllllllllllllllllcccccccccccloolc:;,,,::;;;:c:;'......
ddddxxkxddxxdxkkkxxxxxxkxddxdodxxdoooddooodooddxdolll;.......,;;;;;;,,,,,;;;;;;;;;;;,;;;;;;;::;;::;;:;;;;,,;codddollooooodddddxxxxxxxxxxxxxxxxxxxxxxxxxxxdol:;;cccc:;;'....'coldkOOOxlc:;,'',;;clldxxxxdc:::,..'',,,;,,'.....',;;:::::::::cccccccccllllllllcccccclccclccccccccccclollc::;;;:::;;;:c:''......