.....................'....................................................''''''''''''''',''''''''''''''''...... .......... .....  ....'''''''''''',,,,,,''''''.''...................................... .             ...    . 
.......................................................................'''''....'''''''',,,,,,,'''''''''''....'.......... . ..... ......''''''''''',,,'''''............................................. .          .  ..     . 
....................................................'.....................'....''''''''''''''''''''''''''...... ..'... .  ...... ..'...'''''''''''''''''............................................... .                     ..
.............................................................................''''''''''''''''''''''''''''. ............................'''''''''''..................................................... .    .    .. ....     ..
.............................................................................;;'..'''''''''''.......'''',....' ..........................................................................................  ..............      .
...............,,.............................................................'....'''''''''.......'''',' ...' ............................................'.......................................... ..................... ...
.'....................................................................................'''.........'''',,. '''..............................................................................................................   ..
''''''''''....'......'''''''.......................................................................'''''..'';................................................................................................................. .
''''''''''''''''''''''''''''''''..................................................................'''''. .,,, ..................................................................................................................
''''''''''''''''''''',,,,''''''''''..............................................................''.'''..,,;....... .....................................................................................'......................
......''''''''''''''''''''''''''''''.....................................''............................ .',,. ................................................................................ ......''''.....'.................
.'....''............''''''''''''''..........................................'.......................... .''.. .....................................................................................'''''.....''.............. ..
''........................'''................................................................''.........''' ......................... ..................................................... ......'''''''.......................
,''................................................................................................... .'.........................'..................................................... ........................,'.'...........
'..................................................................................................... ..,........................... ..............................................'.............................'..'..........
'''................................................................................................................ ........'........ .......................................'..... ............................................
......'.............................................................................................. .'............................. ..........................................................................................
.......''............................................................................................ ..' ..'........... ...................'''''''''''''''','....''......................................................... ..
.......''...................................................................................'''''''...'.. .................................'''''''''',,,,,,,,.....''''''...... ..............................................  .
.........................................................................,'...........''''''''''''''..,'..'.'........................  ..'''''',,,,,,,,,,,,,'......'''..................................................''.... .
.........................................................................''.........''''''',,;,,,,,,.':,..'.'.........'.............    .''',,,,,;,,,,,,,,,,'.............................................................'... .
..................................................................................'''',,;codxxddooodddoc,'..'.''.....'........'.............',;;;;;,,,,,,,,,'.......................................................''..........
..................................................................................''',colooooddddddxdddxxxdllc:;'.'..,...''''.........';......',;,,,'',,,,,,'................................................................  .
.........................'''''.................................................'..',:ddoooooooooddddddddoooodxkkxol;,,...,'........l:,,k'.... ..',,,,,,,,,,,'........................... ......................''...............
...................''''''''''''''''.........'.................................'..':oddooooooddoooooooooollllloooodxkkddlc:,'''...,.kk.lk.,'..'',,,,,,,,''''............................. .....................',,..'.'..........
...............'''''''''''''''''''''''''''''''..................................'cdodddoooooooooolccc::ccccclllllllloodxxkxol::'.';cO'l0.o..,,,,,,,,'''''......''.................... ........................''''......'''.....
....'''''''''''''''''''''''''''''''''''''''''.....''''.........................,oooooodollcclc:;,,,,,,,,;;;;::::cccllllooddxdxxxoc;','',...',,,,,,,',.........'.''..............    ...........................'','.............
'''''''''''''''''''''''''''''''''''''''...........'.'.........................:ollcc:;;,,,,''..............''',,;;::ccclloooooddxkkxool;,'',,,,'''.......'.'...................     .............. .. ... .........'............
'''''''''''''''''''''''''''''...............................................'llcc:;;;'.'........................''',,;;;::ccclllooddddxkxol:;'.......'....''....................   ............ .......... ..''.................
,,,'''''''''''''''''''''.'........................................'........;l::::::;,,'...........''',,,'''.........'''',,,;;;;:::ccccc::;;:c:;'....................................  .. .............. .......'...''''.........
,''''''''''''''''',''.....................................................:c:;;'''......'''',,,;;::::::;:;;;;;,'''.....''''',,,,,,;;;;;:c:;,'';c,.............................. .. .. .......................,',,'..............
'''''''''''''''''::;''''................................................,c:;;;'.......'',;:ccccclllllllccccc:::::;;,......'''''',,,,,,,;:llc;,',c,'............................ ...... ........,;...........''.',,..............
..........'''''''',''''................................................;::;;;,.....'';:cllooooooooooodooooooooooooolc:'......''''''''',,,;clc:,';c,............................. ........................'','..,;...............
..............'''''''''...'..........................................,:;;;,''.....',:loodddddddddddddddooolllllolllllll:,..........''''''',:::;,,;:'.......................... .  .........................,,'',,..,......;.'...
..........................'.........................................,:,,,,'.....',;cloddddxxxddolccccllloodxxkOOkxdollc:;,............''''',,;;,,,;;,......................................................:;,;;'....'........,o
''..............................................'...............'''',,,,,''',:ll::clodxxddocccllodddxxkkkkOOOO0000OOkkxxdol:'..............',,,,,,;,;'....................................................':c:;;..';',''''..',,,
,;,,'''....................................................''''''''',;::cldxxxdolcllodolloxkkkkxxxdddddxxkkkkkOOOkkkxxdoodxxdl,.............'',,,,,,,;'.............................................'::,';c::c:,'',;'''''.',,,,;
;;,,,,,''...........'..'..................................''''',,;ldxOOOOkkkxollcccll;cxOdolccclloooloooddxxxxxxxxddoolcloddoooc,............''''','',;'.........,..'..'....'..',...,..,'..,'..',..;:c:cccc::c;,::,,,'''';:::;;;
;,..,,',''..'.........'..................................'''';lddxxdddodoooolcc:::cl;:do:;;,;;;;::;:::lloodddddddoollcc:c:c:,,,,;,'...........''''''.''..................'.......'...'.':,...;'';:;cdl:;cccc:,',,;;,'',ccccclcl:
;,''',,'''''''.............''''''''''...................'';cdxdoollcccccc::::;;;::cc'll:,,:o:''';:cc,;cclooodddooollc:;;,;;::ll:'';,..........'''.''',.................................;:''..::::::co:,;;,,''',;;;,',:loooooollc
,,,'',,',,''''...............'.''''',,,'',,,',''''''''.':odoollcc::;;;;;;;;;,,,,;c:',ll:,xod.......o:;:cclooooooollc::;'...','cdo',,;'.......'''..,;:lc;'.............................':,;llc;,:;;;::.......'',,,'';lodxxOK0kddd
,'''''.'',''.'.',.................',,,,,,,;;',,'''',;,:oollcc:::::::c::cc:;;;,,,,::.:lol:xxkc....':o;;ccloddddddddol:::;......coOlc',,'..''',,;;,;;::ccll;..................'..........,.::clllc:::;'''''.''',,'';cloddxKKXXOkxx
...'''...'.....'',..................',,'',,,''''.'',,:olcc:::::::cccclccccc:;,,,;c:.cllollddollcllc::llllodddddddddllccll:;::cxkxcc.,,,;;:cccc::::;;;;::cc,.................''........'';::ccoolll,'''''''''''',:lloodkxO00Okxdo
......................................''''''''..'',;cc:;;;:::ccccccccllllllc:;:lol;'cccodddoloooooddddooc:cclllllccccloooooooolcloc,c;,:cllccccccc::::;;:c:'.................'........c;cll:ccc:cl;'''',,,,,,,clooloooddkxkOOkxo
.........................................'''''...',::;;;::::cclllllcccccccccccll::,'::clodddddddddddddoolc:;;;;;;;:ccloddddddddddc,:olcclllllccccccc:::;;;:;................'.......';:cldl:lccc:c:''',,,,,,;colldodoodxk0KKKKK0
.........................................'.''''..';;;;:cc:ccccllllcccccccc:::;;;;;,';:::loooooolllllllllccc::;;;;:ccllllllllllodl:'::c:cccllllllllccc:::;;;:,......................'colcclc::c:cl:cc;,,,;,:dxkxdoddxddxkx0OK0OkO
....  ........... ........................''''''.';;;:c::cccllllllcccccccc::;,.....';:;::ccccccc:;;;;;;;,;,,,,,,,,,;;;;;;::cccll:,,;::ccccclcllllllccccc::;;;,'..............'';;;;,,,,';;c:clclc;;:;,,::kKXXXKKOxxxxxdddxxkxddo
....  ...........    .. ..........  ........,,,'',;;:llc::ccllllllllllllccc:'....  ..'..',;::::::::;;;;;,,,,,,,,,,,,,,,;;;::;;:::',,;ccccllllllollllccccc:;;;;''..'.....''',;;;,'''''''';;::::ccl::;,,;cl0K0000XXOkkxxddddooollc
       ..... ....    .. .........    .......'''',;;:lll:ccccccclccllllccc::'....     ......',;;;;;;;;;;;;;;;;;;;;;;;;;;;,'........'',clllllllllooollcccccc:;;;,'....',;:cc:;,'......''''',,',;;:;;'',:cclokkkkO0XOOOOkkkxdooolcc
                ..   .. ...........  ........'''',;lllccc::ccccccccccllllc:...       .........,;;;;;;;;;;;:::::;;;;;;,.............;clllllllllllllllcclllc:;;;;,;;;:cc::;,'''..'....''.'',,,;:;,'..,;;::cloddxkOO0KKK0Okxdollcc:
                 ..  .. ......................''';:olc:::::cccc:::::clllc;'..       ... .......';;;;;;;;;;;;;;;;;;;;'..............;lllllccccccllllllcloll:;;cllc::;;;;,'.........''''''',,;:,'..',,,;::ccloodxkO0NNXXKK0dlcc::;
                 .. ..........................''.,;ol::::::cc::'''.',ccc;....          .. ......;:::::::::::::::::c:'...............cclc::c:cccccccllllool:;:cc:c::,'.............'',','';,;'..',',,,;;:::cllodddx0KK0OOO0c:::;;
    .... ..        ............................''';ooc:::::::,........'.......    ...'''........:::ccccllllllc:;;;;;;..... .........,:;,;:;':ccccccccllool:;;:;;;,.................'','',,''..'''',,,,,;;;::cllllodxkxdxdl:::;;,
................  .............................''',lolc:::::::............ ......,,,;;..........;;:::;ldooodo,,,,,,;:.....   ...............':c::ccccclll:;;,;;;,'''..............''',','...''''.''',,,,;;::;:::cccccccc::;;;,,,
...................................................:ddolc::::;.....         ...,''''............,::::;cdooodc;,,,;:::.....  ........  .......;:::ccccllll;,;,'''''.'.........'......''....'.'''..''',,,,,;;;;;;;::;::;;;;;;,,,'.
...................................................'llccllcc;.....        .  ..',,''............,ccc::coddddc;;;::::l,.... .........  ......,::c::clllll;,''..................'''..''...';,.'.....'','',,,,;;;,;;,;;;,,,,,,,,,'.
....................................................,;;:::c;. ... ..    .   ....'''............';lllcccddxxxl::ccclodo'.............. .......;cllllllll;''''''...'...........'''.'.....''''.........'''',,,,,,,,,,,;,;,,,,,,'''.
.......................................  ........  ........ ......''...........',,...........;lcooollocdxxxxlcc:codxxxdll,...''...'.. ........;clccccc;''..''..''..'...........'.......''''...........'''''',,'''',,,,',,,'''''.
...................................      .........     .    ...''''....................';:lxdoddxxxdoolxxxxxdooodxxxxdddxxddlc;'..,,...........;;;;;;,''........'..'...'''''............'''............''''',''''''''''''''''''.
................ .... .  ........        .........     .. ...''''....................',cddooxxodxkxxxxxxkkkdxkkxxxddoodxddddddd:,',;..........',,,,'''''....'.''.',''''...''..........''''............'''''''.'''''''','''......
................ ....... ...              ........    . ...'''.................',,;::ldlccclodxdddxxxxxxxdddddddooloddol:::clokkxdll;''.......,,,,'''''''..''''''''''''.....'.....'..'''',........................'''''''.......
.........................                 .'...... .....'',''................''dxdddolddollc:coddxxxxxxxxdooooooodll::;;:cloodox0K00kxxl,....'',....'''''''',,,,,',,,'''.......'..'..','',........................''''..........
...............  .....                    .'..........''''''.................''cdoccloloooollcddddddddxxdoooooooolllcccclllc:cllokdxxdc,,..'''''....'',,,',,,,,;;,,','''.......'..'..'''''.........................'............
........                              .   ..........'',''.,''...............''':oolcllc:cloollooddddddddooooollllllc::ccc;,;::::c:ldocoo:';,,'.....'''',;;clxxxkKXd,'''............''''.'''.....................................
......  ......  .............  .     ..   .'.......',,,'..'.................'''clcclcccccccloldoodddddoollooolllllo:ccc;;;;::;:cc:ccccdkx:;,'.....'.',:occ::cllldOW:''..'..........'''..'.............................'''''''.''
.............................  .....       .......';;,,'.....................',cc::llolllllloldooloodddooollllclllo:cc;:::;;:lc:,;::::lol:,.........';,;:::::::::::'..''',....'.....'''.'''..........................,,,,,,,,.''
....................................................';'......................',,::;:,:cllllolcolllooooolllllllccllc;:cc:;:::;,',,;;;,;;;coc..........'''.'''''''''...'''.'.'.........'''''.'........................','',;;;..''
......  .....................................................................',,,:;,,',:clllocollooooooolllllll::c::c:;;:;,'..'',;:,',,:ldx:''.......'''''''........'''..'.''...'.....'.'..'........................'',,,,''..''
...... ......................................................................':'';;,'..,::llccccclooooolllllll::::;;;;:;'';,.'.',;;.''',:odd'.........''',::''...''..''.....,.....'...'''.............................';cc:'.,:;
...  ........................................................'........,......;;,'';,'...,,;:lcclcloooolllllll:ccc:;:;,''..,,...';:'','',;:okx,'.......''',;;'..'''''''.'..........''.'.''..................'.........'.',,,'...'
...  ..................,'...................................'::,............::,,'','.''.';;::clcclooooolllcccc::::,,'''''','....;,.','',,;;lxx:'.....,,''''.'xl''''....'......'.......';'...'...............,''..'.',;',.......'
.... ................';:.....................................cc.',.........;c:,'''','',;,,:ccclllloooolllllccc::::;;;,,,;c;...';,..,,'',,;:looc;..'''',''..',cxl,.....................,,;''....'..;.'c,,,,;;::c;,::,,,,':''',,,,
....................',;...............................'....'';:',,;,,;;;,;;::,,,'..';,:;,'ccllllodoooollllllllolccc::::;:;;;;;;;;'''..',;;;;:cod;.''.''..'',;',:l;............c........,:;;,;;;;;;llllooooooooddxxkxdoo,'.',:lll
............................................'',,,......',,'.''''''',',,,,,;:;,''''..',:'..lllllldooooolllllolcolllllcccc;:,;;;;;;,,'.'',,';:;;lxxc,''''',,',c,',,l,...........c;...,'.',:lccll:;ccclllolooloooddddxOxox:...,ldld
...........................................',,'.',,'..''''''''''''',,,,,,:c:;,,,'''';::,,:olodoolooooolllcccloodoclloooloo,,,,,,,,'',,.',;:,,:lkxko,',;::;:oO:',,;d:.......,'.'l,,:;l:';;cclococllcllllloxoodooddooxxxdc....lxlo
..........................................'.''''''...''''''''.''''''''';lclllcc:;,,,..'',cloolllooooolllllcccclloxxdolclxx,'''''..'''.'',;,;:::cddkxc::c:::l00;,,,,;''...'..;;;cc:::l:;::cllllccllllllllldlldlddxddkdddo'...ldoc
.....''.'''''''''''''''''''''..................................''''''';odocc:;;:ccco:''':lcolloodddddlllllllooloolcccloddd:.''.........;;:cllcc:coxOdoccc:c:lx0x;'''........:c;;:c:::cc:c:cclllllcollllololodddxdoddodoo,.''cdo,
................................................................''''',cccccc::,'''',,'''ldlo:clollccccclllc:cclloxkOkxxkdlc''''''..'''':;;;:c:cldddkxOoc::;;coo0d;,''''...,',;c;:c::cc:c::cclccloclollclollloooddoodoool:...;l':
.......'...................'...................................','''':c:::;;,''..'',''',,,,;,,'''''...'''',,,,,,;;;,,,,,::.,,,,;,,,,,;,,,:ccclcccccldxxlollldkK0xc,'.'''''';,:;;,;;:,;;:;;ccclcll::clccclccllloodolllollc....':c
............................................................'..'.''':ccc::;,'''''',,,,,:c:;,'.................'',;:cc:cllc.,;;;;;;;;;;:;',;;;;;;;:::coddkolddxkKo:;..,;;;;;;;c::;;:l;;;;;:c::l:c;:;:ccc:c;:ccllcccllcolcc....c:c
...''''.........................'..'''''''''''''.'...''....','''''';:::::;;,,'''',''''';:clcc::::;;;;;:;;,;;;::::::;;;;;:dd',,,,,''','''.',,;;;;;::::clod:,,',,:c:o'.,;;;;;;;;:c:::::::;:;::;::;;;;;;::;;;;;;;;;;,;;,,,,,....,',
'''''......'..'....'.'..................''....'.............'.''''lc:::;;,,'.',,,''','lx::ccccccc::::::::;;;;;;;,,:clodxkko,,,'','.'''...',,;;;;;;;;;:clll:''''''''''...'.'...'''.''''''....'.........'.........................
''''''.......................................................'''',o:::;;,,,,;::c'''''',xOkdocoololcclloox:;cloddddxooccclll:'''...........',,,,,;;;;,;:clxd,............................................................. ......
................................................................':oc:;;,,''c::;''.....,::cll:lccllollcoclollcc:;,,,,;;:::ocxc..............'',,,,;;,,;::ooc'..............................................  ... ............. ..
.................................................................cdlc:;,,'''..'''......,:;;;','.,',''.''''',,,,;,,''''',:ld:ll..............',,,,,,,,,;cdoo.....................................................................
................................................................'lodccc:;;,,'.',,......''........................'',,,,:cdkk:;c.............',,,,,,;;;coloo,.....             ...........................''........       .    .
................................                .. ... .........:oodd::cllc::'.,;;.....;,'.'................'...',,;;::cxkdodl,;........'....,;;;;;;;lllloo;............     .   ...................................     .......
...............................................................,looo0c;,,:dO0l.';;'....c;;,''''''....'''.....','';::;;cdxddkkkl',...... ... ..;:cc;;llcllooc... ..      ......   ...................................            
..................................                        .....collcdkdllc:;lx;.,;;....l:::,,,,;,,',,,,'..''';,,,;:;:cllccloollc''...........';;,,,lcccloloc;......        ...     ..    ..      .......   ..   ..     .    ....
.      .        ...   ..        ................ ..   .. ......'cc::,;;:cllcc;,'',,'..,c:::::;,;;;;;;,''',;;;;,,,;;:;;:;:coolclxl''..........,'.',:occ:cllclo'... ..                             ........     .......   .   ....
....................................................       ....;odddooox0Oxlc..'',''.'cc::;:::;,,;,,,,'',;;;;;,,,,,;;;:;cc::coOKd,,'..........,,;col:::clolc,'...               . .. ...............................      ...   
...............................................................loodooooxkdl:;...'...,dlcc::::::;;;,,,,,,;;;;,,,,,,;;:c::;;coxk0xc:,,,.........'';:;;;,,,;:l:....................................................................
  ........ ........................ ........     ..   ........'cloooollodc;;'...'..'lxocccccccc::;;;;;,;;;;;:;;,;;;;;:c:;codxkxoddl,,,'........,lolccccclloo'...................................................................
   ....  .   .    . ........      ......              ........,;;clccc::;,,,.....'.clxlcccccccc::::;;;;;;;::;;;;;;;,;::;clddocoxkkOc,,,'.......coollllcc:loo:...................................................................
     ........................................             ....:',;::;;,,',;.......collcccccccccc:::;;;;;;;:::;;;;,;;:::::clccoddxkKx;,,,'.....'llllllcc:;;clc...................................................................
   ............................                             ..;''';;;;,',,,......:ooolllccccccccc:::;;::::::;;;;;;;:::::ccloooodxkOxd;;;,.....'cccccc:;,'';cl...................................................................
.... .........................................................;'..',,,,';:'.....coolllcccccccccccc::::::::;;;;;;;;;:::::clcllloodxkkxccc;'....';;;;;,,''.'':l..................................................    ... .        
..............................................................;,'.,;,,,'ox;....;oollllllccccc:cc:c::::::;;;;;;;;;;:::::::::cllllloxkxlllc.;...,;,,,'''....';:............................... ..                     .        ...
..............................................................;,'';,,,',lxx,..,oollllllccccc:c::::::::;;;;;;;;;;;:::::::;::clllllloxdoool.,...,,'..''''....':......................                        ..                 ..
.    .........................................  ..............;'';:;cl.,;cdo..lollcllllccccccc::::::;;;;;;;;;;;;:::::::;;::ccllllllooolc,....','''.'..'...'';...........''''... .........        .   .         ......        ...
..     ..........      .................        ..............';;ld:;c:d;,,:..ollllclclcccccccc:::::;;;;;;;;;;:::::::::;;::cllllllcloo:''.....'''..',;;''.',,........''..... .     .  . ....    ....         ...................
....        ....   ................              ..............,;;ld:;ckk:...,llllccclclccccccccc:::;;;;;;;:;::::::::::;::ccccllcccclo:'......'',,.::;,,'..,............   ....    .........    ................................
...........................      ................    ...........';:dd;,cokd;.:lllcccccccccccccccc:::::;:;::::::;;::::::;::::::lccccc:cc.......,,;,,'..,;'....'.....     .........  .............................................
..........................  .......................   ..............','..'':,cccccccccccccccccccc:::::::::::;;:;;;:::::;;::::cl:::ccc:l............',:;'.......              ...........................         ...............
     .......      ........   ................................................cccccccccccccccccccc::::::;::;:;;:;;;::::;;;;;:::c;;::clcl,'........','.......    . .....    ..........  ........   ..............   ........   ...
..............      ........    ............................................'cccccccccccccccccccc:::::;;;;;;;;;;;;;;;;;;;;;::::,;;;;llc:.......'''.....        ...   . .........................................................
.  .  ..........   .........................................................,ccccccccccccccccc:::::::;;;;;;;;;;;;;;;;;;;;;;;:::;,,,,;odc'............           ............................................................... 
.  ....   ........     .. ..................................................;:::cccccccccccccc::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;:,,,,,;ol,'..... ....... .......................................   ........   ...................
............................................................................::c:c::::cccccc::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;,:;;,,,',l'......  .....  ........................................................................
    ... ...................................................................'::c::::::::::::::::::::::;;;;;;;;;,,,,,;,,,;;;;;;,,;:,,'''','.......................................................................................
  ....   ................  ................................................;:::::::::::::::::::::::;;;;;;;,,,,,,,,,,,;;;;;;;,,,,;,''',;:...........    ...............................................  ...................  ...
      .....................      ..  ............    . ..    .............':::::c:::::::::::::::::;;;,;;;,,,,,,,,;;,;;;;;;;,,,,,;,,,:cld,....   ......................  .......................................  ...............
   ...........   .  .........         .........        .. ......''''.......;;::::::::c::::::::::;;;;,,,,,,,;;;;,;;;;;;;;;,,,,,,,;,;ldodx0,.........................................................       .................   ..
. ..........  .....  ...........         .......      .....''''''...........'::::::ccccc:c::::::;;;;;,;,,;;;;;;;;;;;;;;;;;,,,,'';clcloodc,...............................................................       ............    
     .. .....  ..................             .........''''...................,::::::cc:::c:::::;;;;;;,,;;;;;;;;;;;;;;,,,,,',,,:c:;;:::col......................................................................................
...   ... ...  ...................         ....................................;;::c::::::::::::;;;;;;;;;;;;;;;;;;;;;;,''''''''''',,,;cdxo'................................................................................. ...
....     ..    .....           ......................................    ......c:,,;;;::;:;;:::;:;;;;;;,,,,,,,,,,,''.....'''''..'''',;:cox;........................     ...................       ......       ................ 
...      ...  ...... ....       ...............................      ..........c:,''''',,,,;;::::::;;;;,;,,''............',,'''''',,;;:coxl..............................     ................                  ................
.      ......               .............................         ............;olc:,,,,,,,,,,;;:::::;;,,'.................;;,'''',;::codddd'......    ......     .............     ................                        .....
....   ..........    ...............................         ............,:cllllodocc::;;;;::cllOKkdl,''''................;;;;,,,;:::cclodxl'..........   ......     .............      .................                       
..        ......................................          .............,ldxkxxolcccccccc::clddocKK000d'...................:;:::cccclodk0OOkk:,''..........  .......        ..............     .................                 
           ............................             .........''''...';cclcclooddddxxxxxkxxddxOOo0NNXNX;.......... ........cccccllooooodxkKXXKko:,,'..........   .......          ..........            ...............          
      ..............    .............................'''....'',,,,;cloooollccl:ccldxkkOOOOOO0OOxdXNNKc......         ....:cccccccclldxkO0KXXNNWNOc,'.............   ........           ........              ...............    
   .................................................'''''''',,;loxxxxxxdddolclcccllldxxkkkkkKK00oo0Oxo........  ........;looooddddxxO0000KKXXNNWNNx:,'..............   .........              .......              .............
........................................................'',,;:oxxxkOOOOkkxdol:cc:clxxxkkkkxkKKK0Oxxdol.....      .....';cooodddollllloodkO0KKKXXK0Od:,,'......... .          ........              ........              .......
.......................................................''cx0KNNNNXK00OOxxddollllllldxkO0KKK0XK0Oxxdol,..      ........',odoollcccloclooxk0KXXNWWNNNKx:;,''...................   .................   ..........                  
.......................................................':oxO0KXXNNXXK0OkxddolllloodkO000KNWN0kxoc;,'...................:ooolcl:lcllloodxk0KXXNWWWWWWXOdl;,'.......................................................              
.......................................................';;:clllodxxxdddollccccccllodxkOO0XK0xl:'.......       .    ....dxxdoccccclloddxkO0KXXNNWWWWKNWWW0o;''.....               ....................................           
........................................................''',;,,,,;;;;;,,,''''''''',,;;:;;;;;'..........           ....:xxxxxdddddddddddxkOO0KXXXKKXNWWWWWWKk,........                       .......... ....                     
.....................................................................................................           ......dxxxxxddddddxxkkk0KXNWWMMMWWMMWWWNXK00O...........                                             ...........
.................................................................................................     ................;ccclllllloooddxkk0KXXXXXXXNNWWNX0xl:,;.......                                    ........................
.................................................................................................          ..................',;;:cllloooooolllloodk0Oko;'.......                              .... ..   ..   ..................
....................................................................................''............             ....................',,,,,,;,,,,,,,,,:c;.......                                       ...........................
......................................................................................................          ...              ..........................   ......                    ........................................
................................................................................................. ......                             ....................              .........................................................
...................................................................................................                                .........               .....................................................................
.....................................................................................................                                  .........................................................................................
.......................................................................................................                       ..................................................................................................
.........................................................................................................            ...........................................................................................................
................................................................................................................................................................................................................................
.........................................................................................................................................................................................'''''..........'.......................
......................................................................................................''''''.......................................................'''''''''''''''''''''...''''''''''''''''''''''...............
......................................................................................................''''''''...........................................................'',,,''''''''''''''''''................................
...........................................................................................................'',,'......          ...........................................''''''''''''''''''...................................
.............................................................................................................'',,'......  ..................................'..................................   ......................        
..............................................................................................................'',,,''...............................................................     .....................          ........
.................................................................................................................'',,,'.............................................       .....................          ......................
.................................................................................................................''',,,,'........................                  ..................             .............''''.............
..................................................................................................................''',,;,,'.............                       ............                 ....................................