..lNNNXXo..'::::;,''...................'',,;,..',,;cllc,.....'',,,,,.'....................'''.....'.........''..:loloollc;ooodddddo,ol;ccc;cc:,ccclll:l;c,::;;,;;,''..'O00Kx  .xKK
.'cNNXXXo..,lloodddxdd:;lcc::;;;,,.......................................''''...:xxkd...dXXXXc..dxdo:..',''.......',,',,,';::cccccl'::c::;,;;;':;:::;;,,,',,,,''........',,.. .,::
..cNNXXXo..'llloodddxx:lddxkkkkxxx:lxxkkkkkOOk:OOkkkxdddo,clcclloodd;oxxldxdd,..oKKXX;.'xNNNNl..0XXKd..lxkkxxdl',::::;;,'.''''............................'''',,,,;,..'Od,lk,.'KXX
..cXKKKKo..'lllooodddd,doxdddkkxxx:oxxkOO00KKKlXXXXXKK00O:xOOOOOOOO0:kOOdokxx:..oKKXX:.'xNNNNl..d0XKx..lOOOOOOkckOOkkkkkx:kkOOOOxod;ldool:lllc,lll:ccdddd;looolllcc:'.'xKXXK,.'KXX
...'''''.....''',,;;::';lodxxddxxx,'dxkkOO00KKcXXXXKK00OO:xOOOOOOO0O;oxxooxdo;..dKXOk;..okxxx,.  ,KKx..lOOOOOOk:0OOOOkkkk:OOO00kk00:dOkkdoxxxx:xkoodkkkxx:dddooolllc,.'0XXXK,''k0X
'.'collc....'''''...........';,',,..0:'',,,;;:'loooooolll,lc:;;,'''..'...........,c,.....'''...  .''...',;::clc,dddddddxx;O00O0KKKKld0OOokxxxx;xlclooooll,:cccclcc:;..'lolll'''::c
.';KXXXK,..,cccllllooo'loolllcc;;,..:;,,,,,,,,.,,,;:;;;;:';;;;;;;:::';:c:l:::c..,O0XK,..ONNX:..  'kxl..;cc::c:;.'''.......'..',,;::;;c::';;,,,.'.....'''...':l:;,,,'...':ccc''.,c:
.'dXXXKK:..,:cccclllol'oddddxxddoo,;:lodxxxkOk:0000OOkkxxcdddddxxxkk:dkkxolldo..;KKXX:.'kNNk''..'kXKx'.:kkkkkkx,xxdddddxx;lxkxooolo:okxdlcclol,cdddxddool:cdkkxxdddo,''kXXXXc''dXX
..:dddxk;..';::ccclllc,loddddddddo:,cooodxxkkk:0000OOkxxd;odddddxxxk:dkkxo:loc..cOO00l..xXXk,';'dXKKx'.:xxxkkkx;xxxdxxkkk:0KXXXXXXXddK000OxxOl;O000K00000ldkkkxdddoo,''kKKXXl''xXX
.................'',,,.;:ccllllllc,':cclllodxx:OOOOkkxxdd;ooolllolll':::;;,,'............;;;..'.cOOOd'.,llllllc,llllllllk:kOO00000Oolkkxxxxxdkck000000000ookxxddxddo''.dO00Kc''l00
                    ........................'............                                                                    ....''..,;;:coodd:oxxddddddo:;ccc;,''................
                                                                                                                                                     ...........................  
                                                                                                                                                                                  
'::::;;;,''.....................           ...........................''',,,,;;;'...,c::ccccc:;;;.;;:::::;;;;,.....''................                                             
;dkxxxxxddddoo:.''',;;,',,,,,''''''..'''''.'',,,.,,,'..';::ccclooddlcdddxxkkkkOOd,''cK0KKKXKK0OOol0000KK0000Oc'.,lxxxdddddooc::cc:;;,,''....''..............................',,;::
lcO00OOOxxdddo'',,;::::,:::::;':::,.,,;;;;;':::::,;clc;'.';:ccllooddocldxxxkkkkkO:,',O0KKXXXXK0O:OKK000000Oo,''cxkkxxxdddolclllccccc;,'.';cloodxxoooxxoccdddo:loool;cllc,;,,dxxkkk
o,dkkkkkxdddd;',,;cccc::llllll:cll. kc:cllllccooloolldddl;'';coodddxxxocdxxkkkkkkd,,'lOOKXXXK00ldKK0OOOOOx;',:xkkkxxxxolodxddddlc:,'':coooodkxdodxxdoooxxxxlldxddo:looxd;;,lxxO000
'.............,,..'''''',;;;;;;,;:'.dc;;:::cc:;c;cccc;::::;''.',;;,,,,''.'''''''''.,'....'............''..''.,,,,,,;;,';:::cc:;'.':lollodddlloxxxdlldxxxxoldxxxxd;lolll;;;,lccclll
do:xxxddoolc',,',,,,,''''''''''...'.''''....'''''.'''''''',,,;,''',:ccclol:looooodd;;,ldkO0OOk:dokkxdol;,;oddoddocclcc::;'''',;,'.'''''......'''...'''''..'''''..''''''.,,,;;;:::c
oocoxxxxddo;;;,;:::::;;;:::::::;;::;:;;;;,::::::;;:cccccc;;:llllc:,,:coddxdllddooodc;;:dkOOkxccdlxddl:,;coddddoooooolc:;,:cloolccllooolccooolcccloooooccooodddl:looooo:;::dxdddxdl
cc::oooocc;;;,;:::::::,:cllllllc:cc:cccclccllllcooooooooolcccloooool:,;codddlclllooo;:,codddc,c::lol;;:loddolloxdoc:;:colxxxxkkkkkodddddddddoloddddddodddodddocoooooll,:;lxxolloox
;;::::::,'',,''''''''..''''''''''''''''''''',,,',,,,''',''''''''',,,,';;''';;;,',;::;:;':ccc,'.   ',:;,;;;;;;,''',;,,,,,,,,;;;;;;;,,::::;;;;;;;::;;;,;;;;;;;,',,,,,,,'';,;;;;,,;::
ccllclllc,;,,;;;;;;::;,cccccccc::;;;:::::ccc:c:clllllccccc:ccclcc:cll:ccc:;;ccc:;clll;:,cllc;;.   ;:c::clll:;;::lllllloooldddooddddlloolllooooclollooooooolc:lllllllc;;::oooc:lllc
,;::,;;;,,,'''''',,,,,',,,,,,,,,'''',',,,,,,,,,,,,,,,,,,,,,,;;;;;;,,;;;;;;,,,,,,,,,;;',,,:;'...   ',,,,,;,;;;:::;;;;:::::::::::::::c::::c::::c::;:cccccccc:;::::::;;;',,,;;,;;;,,;
'..'.....'................................................'''''''.............''......'''.'..',,'.....''''''''''''''''''''''',,,''''''',,,,,,,''',,,''''''''''''''''''''......''..
,'','''.',''''''''''''.''''''''''''''''''''''''''''''''''''''''''''''''''',,,'',',;;;,',,;::c;,,,;:;,',',,,,,,,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;,;;;;;;;;;;',,;::cc,,,;c
,cWWWNN0,'.,;;:::::cc:,cccccccccc:,:::cclllooo;dxxxddoool;cllllooodd:oxxxddddo,,:XNWWK,,dMMMM0,,oWWNNc;;dxxxxxxl:doooooodocxkkkkkkkk:dxxxddxdll:kkkkkkkkkkcdxxxxdddoo;;,ONNWWo,,kW
,cMMMWWX.    ;ccclllol;odddxxxxddd;looodddxxxc.;d00OOkxxd:odxxxxkkOOldOOkkkxxd,,:NWWMX,,dMMMMK''oMMWNc;;kkkOOOkockxxxxxkkxl00KKKKK00ckOOkkdc   .0KKXXKKKKKlk0OOOkkxxx:;,OWWWMd,,xM
,lMMMMMX.    ;lllooodo:xxxkkkkkkxx;oddddxxkk.    xK0OOkkx:dxxkkkOOO0lxOOOOOkkx,,cWWMMX,,oMMMW,  ,MMMWl;;kOOOOOOdlOkkkkkO0koKXKKNNXXXlOKK00Kd   .XXXNNNXXXXokK00OOkkkx:;,kNWWNd,,oN
,;xxxxxl'.    .,::::c:,ccclllllccc,::cccccll;    .cllllcc,::::::cccc;:cc:::::;',,cccc:',,::::.   '';c,,,;::::::;,:::::::c:;:'  .cccc;:cc::::'   ..',,;:;;;,;;;;;,,,,,',,',,,,...',
,',,,,,'''.      .''''''''''''''''''''',,,,,,'      .;;;;';;;;;:::::,;::::::::',,loool,,:odddc    .ld;,,cllllll:;cccccllll;.     'dd:lddddooo'.       :dddccdooooooll;,,lOOOO,. ;O
,lWWWWW0,.        'dxo:xkkkkOOkkkx:dxxkkOOO000'.     .O0OckO0000KKKKokKKKK000O,,:NMMMN,,oXd:'.    .lNo,,OKXXXXXklKKKKKKKXKoK.     OWo0NNNXXXK:         ,KKxd000OOOkkkc,,xWMMMl  .c
,oMMMMM0,.         .ddcOOO00000OOO:kkkkkOO00K0l;      'OOcOKKKXXXXNNdkXXXXKK0O;,:NWMMN,,.            .,,OXXXXXXOlXXXXXKKkl';      .NdONNXXKK0c          x0xo0OOOkkxxxc,,dWMMX.    
,oMMMMM0,.          .lcOO000000OOO:kkO00KKXXNKo,       kKl0KKKXXXXXNo;:xXXXK0O,,;NWMMN,.              ,,k0KKKK0xc00OOOxc,.         klokkxxxddl         .ddl:oooolllll;,,:OOOl     
':kkkkxl'            .,cccccccc:::,:::::::::::,.       ';';;;;;,,,,,.   ',,,,'''',,,,,'.              .'',,,,,,,,,,,,,,,'          ,,,,,,,,,,,       .',,,,','''''''''''''''.     
.........            .';;;;:::::::,::cccclllol;.       ;o;looooooood;    loolc'',dxxxd,';l'       ':;'',lxxxxkxd;kkkxxxxxx.       .dooOOOkkkd.      :kkkkkd:xddddoool:''cXNNX.    
  .                'kxl0KKKKKKK000cO0000KKXXNKo;       lKckOOOOOO000;    xOOOk,';XNWWW;'lK'       xWWd,,dO00000k:0OOOkkkOl         .lo0OOOkx.       kkkkxxd:xddoooollc'':NNWk     
'lOk,              .xdoKKKKKKK0000cOOOO000KKX0lx       x0cxkkkkkkkOO'    lkkkx,';KNNNN;'lWWX.    ;XNNd,'okOOOOOx:Okkkkkkx,        ..;lkkxxx,        oxxxxxd:dooollllc:'';XNNc   . 
'oK0,            .. cdo00000000OOOcOOkkkkOOOOx:'      .od;oddddddddd.    'dddo'',O0KKK;,cKKo     c0OOl'':oooooll,llcccccc.        ;:;,::;;;    ..   ';;;;;;,;;;,,,,,,'.''ccl;  .''
'::.,c:'        .,  ;;,:::;;;;;;,,',,,,''''''..       ....''''''''..     ......'.'''''','''.      ''''''......',',,,,,,,,.       ,,,,,,,;;.   .,'   .,,,,,,,,,,''........'''.   ..
...'''..          ....''''''''''',',,,,,,,,,,.        .,,.',,;,;,. .  . ......''.',,;;,;;;;;;.    '::;,'.'',,,;;,:ccccccc;.     ;ddolcooll,   cc:.   clclcc:ccc::::::;,,,:c.  .'''
.,;;;,.         .;;;,',::;'''ccccc:ccllllooo,    .;    .o:;,::,...,.   ..'cc.  .'ldddd,';xkkxd.   .xxc'':dddxxxdcdxxxxxxxx:,.   :kOkdlkxxx,  .doc:   lddddocooollllccc;;;xOxl'',;c
...            .looddc;'.    .cxxdcdxxxxxkkx.   'k0c    :cdo.     .c,...o' cd:   lOOOO,':00000,    kOo'.cxxkkkxx;dxxxxxddd:dx;   .dOdckxxx'  ;do:o   :xxxddcclcc::;;;;,''lodd;....
       ...      :llll:,        .::;lodxxkkx'   :000Oo.  .,odo.      .. :dl:dol. .lxkkk;';kkkkx.    oxl'':ooooool;loollllll:coc     .':lllc.  .c:;c.  .lcccc;;::;;;,,,,'',clloc,...
       ....     .;:::;;,.       ..,;::::c,.  .,oooooll,. .::::,       .,c,.::,. .:oddd:,;dxxdo.   .co:'';cccccc:;:cccc:ccc::lc  .; .::c,..   ':;..    :cc::,,;;;;;,,,''..,lol;....
.............     .;;,,;;.       ..,,,;;.   .;;cllllcc:.  .;::::.      .''','...':llll;,;loool'   .cl:'',:ccccc:;;:::::ccc;,,.  '',ll:c;'..  ':,..    ;c:::;;;;;;,,,,'''':lll;....
............    ..,,,,,,;;,.     ..,'.     .c::clllc:,'.   .;::::.     .,,,,'...':llll;,;loooc.   .ll:,',:cccccc;;cccccccc;.    .:cdo:ollc'  'cc;c.  .loollc;ccccc::::,.'lxxx,....
';::::;'..      .'',,,,;;;;;'. ..'';;;;,,. 'lccloool;      .ccccc.      ',ccc;'.'oxxxx,';xkkko.  .;xxo'.;ooooooo;:olllllodccxl  ;c ;o;odoo;  'oo;l.  'xxxxxccooolllccc,..lOOO..   
..',;;;...      ...';,ccccc'      .:c:,..  'dccxxxxddo:.  .,lllc'       .'llcc'.'dxkkx,';kkkd'.  .lxxl'.;llllllc;;:::::ccc::ll. ....',::::,. .,;,,.  .:cccc;;::;;;;;,,'..;loo,....
............    .. .'.,,,'.      ..,'...   .',,:ccc::;'  ..,;,'.        ..;;,,..':cllc,,,clc'.. ..:cc;''',;;;;;;,,,,,,,,,,,','.  ..',,;;;;,....,''.  .;;;;;,,,,,,,'''''..,:::;'...
..........       .........     ........... ...',,,,,'......'..... ........''''..,;:cc:;,,::;......,::;''',,,,,,,'',,,,,,,,'.... ..',;,,;;,'........ ..,;;;;,',,,,''''''..';:c:,...
........        ..........   ..................',,,'......................''''..';:cc:,',;;,......,;:,'.',,,,,,,'',,,'',,'....  .',;;,,,;,'........ ..,,;;,,',,,,''''''..';:c:;...
.......        ..........  .........''''''......','.......................'''....,::::;'','.......';;,..',,,,,,,'''''''''.....  ..',,,',,''...........',,,,,'''''''''....';::;,...
.....          ..................................................................',,,,,...................''''''.............    .........................................',,,'...
','...         ...................................................................'',,'.......................................  ..................................................
.......         ..................................................................'''''.......................................  ..................................................
........         ..................................................................'''........................................  ..................................................
........         ............................................................................................................   ..................................................
.........        ................................  .........................................................................     ................  ...............................
..........       ...........................................................................................................      ..............    ..............................
..........       ...............................     ........................................................................      .............     ............................'
.........         ..............................     ....................................''''................................      .............  ...........................'''''
.........        ..............................     .....................................',,''................................    ..............  ............................''''
.........        ..............................    .....................................'',,,'..................................................................................''
..''''...        ..............................    .....................................'',,,,'...................................................................................
'.'''....        .............................    ......................................'',,,,,...'''......................................................'......................
,,,,,'''.....................................    ........................................'''''''..'''.............................................................................