███████╗██╗     ██╗   ██╗██╗██████╗ ███████╗██████╗  █████╗  ██████╗███████╗
██╔════╝██║     ██║   ██║██║██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔════╝██╔════╝
█████╗  ██║     ██║   ██║██║██║  ██║███████╗██████╔╝███████║██║     █████╗  
██╔══╝  ██║     ██║   ██║██║██║  ██║╚════██║██╔═══╝ ██╔══██║██║     ██╔══╝  
██║     ███████╗╚██████╔╝██║██████╔╝███████║██║     ██║  ██║╚██████╗███████╗
╚═╝     ╚══════╝ ╚═════╝ ╚═╝╚═════╝ ╚══════╝╚═╝     ╚═╝  ╚═╝ ╚═════╝╚══════╝
ESPACE TRANSFÉMINISTE 
DE RENCONTRE,
D'EXPÉRIMENTATION 
ET DE HACKING EN TOUT GENRE
              ,---------------------------,
              |  /---------------------\  |
              | |                       | |
              | |      >A PROPOS        | |
              | |      >EVENEMENTS      | |
              | |      >CONTACT         | |
              | |                       | |
              |  \_____________________/  |
              |___________________________|
            ,---\_____     []     _______/------,
          /         /______________\           /|
        /___________________________________ /  | ___
        |                                   |   |    )
        |  _ _ _                 [-------]  |   |   (
        |  o o o                 [-------]  |  /    _)_
        |__________________________________ |/     /  /
    /-------------------------------------/|      ( )/
  /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ /
/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ /
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
██╗     ███████╗███████╗    ███████╗███████╗███████╗███████╗██╗ ██████╗ ███╗   ██╗███████╗
██║     ██╔════╝██╔════╝    ██╔════╝██╔════╝██╔════╝██╔════╝██║██╔═══██╗████╗  ██║██╔════╝
██║     █████╗  ███████╗    ███████╗█████╗  ███████╗███████╗██║██║   ██║██╔██╗ ██║███████╗
██║     ██╔══╝  ╚════██║    ╚════██║██╔══╝  ╚════██║╚════██║██║██║   ██║██║╚██╗██║╚════██║
███████╗███████╗███████║    ███████║███████╗███████║███████║██║╚██████╔╝██║ ╚████║███████║
╚══════╝╚══════╝╚══════╝    ╚══════╝╚══════╝╚══════╝╚══════╝╚═╝ ╚═════╝ ╚═╝  ╚═══╝╚══════╝
_|_     _|_     _|_     _|_     _|_     _|_     _|_     _|_     _|_   
 |       |       |       |       |       |       |       |       |    
    _|_     _|_     _|_     _|_     _|_     _|_     _|_     _|_     _|
     |       |       |       |       |       |       |       |       |
_|_     _|_     _|_     _|_     _|_     _|_     _|_     _|_     _|_   
 |       |       |       |       |       |       |       |       |    
    _|_     _|_     _|_     _|_     _|_     _|_     _|_     _|_     _|
     |       |       |       |       |       |       |       |       |
_|_     _|_     _|_     _|_     _|_     _|_     _|_     _|_     _|_   
 |       |       |       |       |       |       |       |       |    
    _|_     _|_     _|_     _|_     _|_     _|_     _|_     _|_     _|
     |       |       |       |       |       |       |       |       |
LES SESSION ONT LIEU TOUT LES MERCREDI DE 18H A 22H 
IMPASSE DELPECHE, DANS LE QUARTIER DE LA BELLE DE MAI A MARSEILLE.
 __   _  __ ___ ___  _  ___ __  ___ __ 
 )_) /_) )_) )   )  / `  )  )_) )_  )_)
/   / / / \ (  _(_ (_. _(_ /   (__ / \
 
Le FluidSpace ouvre ses portes tous les mercredis. Il n’y a pas de connaissance spéciale requise. Les personnes qui sont intéressées par le hacking, les technologies, les jeux, le féminisme intersectionnel, les pratiques collectives, la pédagogie, la science fiction (...), celles qui pensent qu’elles ne savent pas faire et n’osent pas à pour la même raison, sont particulièrement invitées à venir et à s’emparer du FluidSpace!

Si toi aussi tu es à la recherche d’un endroit où tu pourras faire les choses à ta manière, sans qu’on te fasse remarquer que tu le fais mal. Viens faire un tour et invites des cousin.e.x.s, des voisin.e.x.s, des ami.e.x.s... !
  _ ___ ___     ___ ___ __ 
 /_) )  )_  )    )  )_  )_)
/ / (  (__ (__ _(_ (__ / \

 

QUELQUES IDEES D'ATELIERS
(LISTE NON EXHAUSTIVE)


- Installer des systèmes d’exploitation libres et gratuits (linux, raspbian...)
- Atelier de découverte de jeux indépendants et queer.

- Atelier de création de jeux vidéo sans coder (Twine, RenPi, Bitsy…) et avec un peu de code /3D (Unity, Godot...)
- Atelier interactivité, électronique, programmation (arduino, processing, pure data)

- Atelier 3D (Blender)
- Ateliers Pure data, Processing

- Ateliers Vjing
- Atelier fanzines technofeministes

- Atelier circuit bending
...
       _ ___ ___ __  ___ ___   
 )\/) /_) )  )_  )_)  )  )_  ) 
(  ( / / (  (__ / \ _(_ (__ (__
 
Il y a également déjà du matériel et des outils à disposition :

- Raspberry pi 3+
- 1 Arduino uno et Kit de démarrage ( capteurs, composants)

- 3 Stations de soudures
- 1 imprimante 3D potentielle (  à venir)
- 1 ordi sur linux à emprunter si besoin. 

- des consoles un peu rétro(ps3, game boy, nintendo 64, Wii)
- des tutos (processing, unity...), de la documentation.
███████╗██╗   ██╗███████╗███╗   ██╗███████╗███╗   ███╗███████╗███╗   ██╗████████╗███████╗
██╔════╝██║   ██║██╔════╝████╗  ██║██╔════╝████╗ ████║██╔════╝████╗  ██║╚══██╔══╝██╔════╝
█████╗  ██║   ██║█████╗  ██╔██╗ ██║█████╗  ██╔████╔██║█████╗  ██╔██╗ ██║   ██║   ███████╗
██╔══╝  ╚██╗ ██╔╝██╔══╝  ██║╚██╗██║██╔══╝  ██║╚██╔╝██║██╔══╝  ██║╚██╗██║   ██║   ╚════██║
███████╗ ╚████╔╝ ███████╗██║ ╚████║███████╗██║ ╚═╝ ██║███████╗██║ ╚████║   ██║   ███████║
╚══════╝  ╚═══╝  ╚══════╝╚═╝  ╚═══╝╚══════╝╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝   ╚═╝   ╚══════╝
                                       .'''.       
        .'''.      .         *'''*    :_\./_:  *  . 
       :_\./_:   _\(/_   .:.*_\./_*   : / \ :  .'.:.'.
  .'''.: / \ :   ./)\    ':'* / \ * :  '...'.  -=:o:=-
 :_\./_:'..:::.    ' *'''*    *** '.\'/.' _\(/_'.':'.'
 : / \ :  :::::     *_\./_*       -= o =-  /)\    '  *
  '...'   ':::'     * / \ *       .'/.\'.   '
      *              *...*           :
>A VENIR
░ 13/12/2023 - Fête de rentrée du FluidSpace
+ d'info sur l'évènement ici
>PASSÉE
...
 ██████╗ ██████╗ ███╗   ██╗████████╗ █████╗  ██████╗████████╗
██╔════╝██╔═══██╗████╗  ██║╚══██╔══╝██╔══██╗██╔════╝╚══██╔══╝
██║     ██║   ██║██╔██╗ ██║   ██║   ███████║██║        ██║   
██║     ██║   ██║██║╚██╗██║   ██║   ██╔══██║██║        ██║   
╚██████╗╚██████╔╝██║ ╚████║   ██║   ██║  ██║╚██████╗   ██║   
 ╚═════╝ ╚═════╝ ╚═╝  ╚═══╝   ╚═╝   ╚═╝  ╚═╝ ╚═════╝   ╚═╝
      _____         _____         _____         _____
    .'     '.     .'     '.     .'     '.     .'     '.
   /  o   o  \   /  o   o  \   /  o   o  \   /  o   o  \
  |           | |           | |           | |           |
  |  \     /  | |  \     /  | |  \     /  | |  \     /  |
   \  '---'  /   \  '---'  /   \  '---'  /   \  '---'  /
    '._____.'     '._____.'     '._____.'     '._____.'
      _____         _____         _____         _____
    .'     '.     .'     '.     .'     '.     .'     '.
   /  o   o  \   /  o   o  \   /  o   o  \   /  o   o  \
  |           | |           | |           | |           |
  |  \     /  | |  \     /  | |  \     /  | |  \     /  |
   \  '---'  /   \  '---'  /   \  '---'  /   \  '---'  /
    '._____.'     '._____.'     '._____.'     '._____.'
************ N'HESITE PAS A NOUS CONTACTER ************
░ Pour venir découvrir l’espace écrivez à:   
FluidSpace[@]Riseup.org
░ Pour être au courant des prochaines sessions rejoins nous sur:
Le Matrix du Fluidspace
                                                                                                        ....::   .                                    
                                                                                                         ...;:   .                                    
                                                                                                         ...,c.  .                                    
                                                                                                          ..':'                                       
                                  ....                                                                    ...;,                                       
                               .colcc:,...                                                                ...,:.                                      
                             .d0Oko:;''....                                                               ...,c'                                      
                            .OX0d:'.',''.',;;;;;'........                                                  ...:;                                      
                           .kXKo,';lxOOOxclddooldxoollolooo:'.                                             ...,:.                                     
                          .lKKxodkxxdlck0o:dl:;;cdxoclclodoooolc;.                                         ...;c'                                     
                        .:,xKOkxkkdl;,':Oxlo:;clodddolc:l;'.'::clol,.                                      ...,:c.                          .......   
                     .''dxlKOkxdolll:,,oOOxlooooooooddkkkxdolc::loodc,.                                    ...':c,                         ..    .',. 
                    oxookOO0Oxdc;,;,,;oO0Oxxodl,',;...,ldd;',cdxOOxlddc.                                    ...,;;                              ....',
                    ...;OkO0kd;......xOO0Okxd,....,.   ........,cx0Oxdxl'                        .,'..      ...',;.             ... ...',,,'.....''',l
                       lOkOOko'....:x0OOkOO0o..'..,.          ....,kK0xko.                    ..',;,',,',;'.....','           ......''',,;:cllc;'';,;:
                      ;kkxkkxdc'..'dkOkxxxxkl...,,,.          .....'dK0xkc                 ......;lc;;llc,;cc,...,,.            ..........',:ldddc'...
                     ;dkdxkOkxol;...'coodlc'   .,;,'.        .','...,oOOkx.              ....'.'oo,..;,.....'::..',.           ..'..........';:cl:,;,,
                  .cdkkxdxxxxdlllol,..  ...     .;;'.    .. .,loollcccd000c           ....  .:cxo. .'..'......,,'.',.        ..';;,............''..'cd
                  dOkxxdooooolcclloc'..   ..    .';,.      'lo:;,,::looO00d.....  ..''..    ckkx' ..   ,  .'..,.''.'.      ....',,,'.........''.....:l
                  'dxdxolollccccllc;;..    ...   .,,'      ...  ...,',coO0k,..,.,:,'..  .;:ckOOOc..   .c   '..;:....'.  ...',;;;,,,''.......',,,....'c
                    ....'ccc:,',;;:c:,.    .....  .,,.            ......l00d..;;:.      ,Odl;.'...   .od.  .'.,:,.........'';::c;,;:;,....'...,......:
                       .,'....     'o:,...    ...  .,,.            .....;O0O;.:;.     .  ..    ..  .:xoo;   .'.;;'''',,,;,,;:::c'';;::;;''.'.........'
                       .;..'.      .ol;......   ..  .,,             .,,,,x00d;l,     .,,.     .. .ckOd:,l'   .',,,:;,;:lolcc::::..',:c:::::;,,;:c:,...
                       ';''.      .;oo;....      .....,.            .',',d0Oxoo'    .,..'.   .. .oOkc;:;cl.  ..;::ccccccloolc:cc;,'.,::;;;,,:c:ccclo:.
                      .,,'..     ..;:l;'..     ........,..          .....c0kxdd'    ''...,.....cx:'..',;:lc...;:ccl:clll::c:;ldoc:,...'',;,,;;;;;;codc
                     .',,'.  .oo:''.,::;,'.............''..  .      '....c0xddd,  .,;,'..'::''lx;  .....';::,'cllll:lllll:lloxdl::'........'',,',';cll
                    ..,,'.   .:kdodocc:::;,............',.... ...   c:...kOxodd:..;:;;,...;;:cl:..........,cllooolcclllllllddxo::;,...........''',;::c
                    .,,'.   ...'ldxdoc;,,,........,...',;.....  ...,;,;okOxdlddl.;::,',;,;..;,'.....,,'.',;:clllllcclllllllllll:,',.....,.......',;c:;
                   .',,...........''';,'','.......;,,,,':'..'. ...,0Okdxkxoocooo;:;;'.',:'..',;,'''';:,''::::cloooolcclllccc:cc:',,,'..''... ..''';;;:
                  .',,......       .....,cll:,''',dolclcc,'..... ..kkkxdddoollllooc,'';:;.,,',....;;;;;;ccc:cllloool:;:cc:;;:::;,,''''''........,;:;;;
                  .,;'.....  ...   ..',,,:cldl:,',oxxxkkxdoc,.......lkkxddooooooool:',cc;,,,,,'...::;'';ll:;cclllcl;..':::,';:;,''.'',,,'......',:c::;
                 .,;'...........,;::::::;;coodocoxkkkxddddxxx:........ckxddddddddooc;:c;;,,;;,'..'..'',:clcclllc;;c'...,,,;,,,,''.'',;:;,'''.'::,:l:,'
                .,;,..'........:ll;,,'...;llldxxxxddxoooodkkdxl,,'.....,xOkkxddddoolccc;,''''.....,;:cllllloolccc:c;''.''';,'',...,'',;,,;,,:lllc:lc;,
              .';:;'',,,,,,'.'oool'...  .ckdddkxddol:::loxdoooxxdl,.....;Okkxddoooocc;:c,...,,;;::::cc::ccccllcc:::;;''.',;;;...........',;cloodolll:;
            .':c:;,'''''''...odccdl'......dkxxxool;,,,;:loooclodddd:.....xOxdddolllccc:lc::lololc:;:c:::cll:;,,;,';:,,'..:,;:'..,,,'.....,coodoool;,'c
           .;;'.',...........,;,,;,.......lxkxlc:;,,;cll:;lxdoxdlcldl....,lollddlcc;;codxxdoollc;;cc:::cllc;'''':,;:c;'',;::,;.;;,,;,,,':cloddlodo:''c
         ..,,...,'...........',...........;okxo::,'',oooollolooc;cccoo'...:,::lodolcoodkxxdolcc::llcccccc:;;:c;;c;;::c,',lll:c:lc;,,::;:loolool:ldl';x
       ...,...';;............'.....''''...;xooo;;;;:cdllxkxxddolcc:::oo...:,clooxkxxxdodxxo::::lollllc;;;,,,;;::c::::cc:;cc::c;;::;:lloxkdcllcc:codld0
     ....'..';,'.................';;'....,:doooc,..,;oook0Okdccoooocloxocoxxxxxxxxxdddodxdoclolllllc:;;;;::;;;;;;;::;;clc,'::;'.'',clddddl,,:::cclodkk
....................''............'... .',:olccc;...'cdk0OOdolodddxkOOkkkxxxkkxdoddooodkdollolloll:,,',',,''''...',,',;',;,;::,...'cllllcc,;:::::lodo,
,',,,''........,'...''....',''............;oc;;::'.,.,d00Okxdddddxkxkkkkxxxxxxdloddoloddoooolodoo:,;,;;;:,..',.....'',,.,;;'::,...''.;;,',,,'..';coo;.
...',,,,,,,,''','...'.. ...'''............;ll:;:c,',..l00Oxxddxxdoddxxxxddodddoooddolddddoooooool;;ccc::c,.........',,;,:,;;c;.................;:cdc,.
                                                                                                        ....:c   .                                    
                                                                                                         ...;l.  .                                    
                                                                                                         ...'c'  ..                                   
                                                                                                          ...;,                                       
                                  ....                                                                    ...;;                                       
                               .:olccc,...                                                                ...,c.                                      
                             .o00kd:;,'....                                                                ..':;                                      
                            .kX0dc'.','...',,,;,'.......                                                   ...;:.                                     
                            dXKd,';cdkkkxclddooodxolllllool:..                                             ...,:.                                     
                          .:KKxooxxxdlcx0o:do::;cdxdllcloddodol:;.                                         ...,:,                                     
                         :,dKOkxkkxo:,';kkloc;:lodddolc:l:'.':cclol,.                                       ..,:c.                          ......    
                     ..'okc00Oxdolll:,,cOOxlloooooddxxxxkxdolc::llldc,.                                     ..';c;                         ..    .',. 
                    lxddkOO0Oxdl;;;;,;lO0Oxxddl;,,:...,oddc';cdxOOxlddc'                                    ...,;:.                              ...''
                    ...,OkO0kx;......dOO0Okxd:....,.   ........;lx0Oddxo'                         .'..      ...',:.             ...  ..'',''.....''''c
                       :OkOOko'....;dOOOOOO0o.....''          ..'.,xK0xko.                     .',:;'',..,.... .',,            ......',,,;:cllc;'',,;c
                      'xkxkkxdc'...dkOkxxxxOd...,,,'          .....'d00xkl.                 ..'..,cl:;lol;:cc,...,;.            ..........',cloddc,...
                     'okdxkOkxdl,...,ldddoc,.  .';,,.         .'....,lOOkx,               ......co:'.;;.....'::...,.            .,..........';cllc,;,,
                  .;okkxdxkkxdlolol,..  ...     .;;,.    .. .'clllc:::o00Ol.          ..... .;;dd'.....'......,,'.',.        ...;:;............''..':o
                  dOkkxdooooollclloc'..   ..     ';,.      .col:;;c:look00x... .   ..'..    ;xxx; ...  ,  ..'.'..'.'.      ....';,,'..........'.....;l
                  'xxdxdlolcccccllc;;..    ..    .,,'      .,.. ...;,,coOKO:..'..;;'..   .;;xOOOo...  .c.  .'.,:'...'.   ...',;;;,,''.......',,,.....:
                    ....'cll:;,,;;:c;,.    .....  .,,.            .....'c00x'.,,c'.     'Oxoc;,,..    ld.  .'.,c;..........';::c:,,:;,........,......:
                        ,'....     'o:,..    ....  .,,.            .....,k0O:.::.     .  ...   ..  .,ddd;   .'.;;''.''',,,,;:::c,';:::;,''.'..........
                       .;..'.      .ol;......   ..  .,,             .',,,d00x;l:.    .,,.     .. .cxOxc,l'   .'',,;;,;:lolcc:::c'.',;c:::::;,',;:;,...
                       ';'''.      ,oo;....      ... .;.            .',',o00koo;    .'..'.   .. .oOOl;:;cl.  ..;::c:cc:clooll:cl;,'.,::;;;,,:c:cccll:.
                      .,;''.     ..::l;'..      .......,.           .....:0Oxdx;    .'...,. ...;dc,..',::lc. .,::clcclllcccc:cooc:;...',,;;,;:;;::codl
                     ..,,'.  .ll;'..,::,,'.............''..  .      '....:0kddx:  .';,...':;'.lk:   ....';:;,';llllccllll:cloxdl::,........'',,',',cll
                     .,,'.   .:kxodoccc::;,.............,.... ....  ::...dOxodxc..,:;;,...;::co:..........'clcoooocclllllllodxd:c:;'..........''',;::c
                    .',,.   ...'oodxoc;,,,'.......,....';'....  ....,,,ld0kxoddl.,::,',;,;'.;;,.....','.'';:clllllcclllllllllll:;.,.....,'......'';c:;
                   .',,..........',,,;;',,'.......,,,,'':,..'. . ..OOxdxkxdocooo;;;;'.',;,..',,,''..,;,''::::cloooolccllllcc:ccc,';,'...''..  ..'';;;:
                   .,;'......     ......,clc;,''''oolcl:c;'.....  .kkxxdddoollllllc,'',::.',,,'...;;;;;;::c::lllooolc::ccc:;::::,,,',''.........',:;;;
                  .,;,...... ...   ..',,,;cldlc,',oxxxkxxdoc,......'okkxddooooooooo:''cc;,,,','...;c;,,;lc:;clllllo:'.':::;',:;,''.''',,'......'';c::;
                 .,;,...........';;:::::;;coodocoxkkkxddddxxx:.'.....'lkxddddddddooc,;c:;,,;;,'..'..'',:cocccloc:;c,...';,;,,,,''.'',;:;,'.'..,:,:lc;'
                .';;..'........;ll;,,'...;llloxxxxxdxoooldxkdxl,''.....,xkkkxxdddddlccc;,'',,.....,;:ccllclooolcc:c:'...,';;'',...,,',;;,;,,;llcc:lc;,
              ..,:;'.,,,,,,'.'lloc'...  .ckdddkxdxolc:cloxddooxxdl,.....;Okkkxdoooolc::c,...,,,;::::cc:::cccllcc:c:;;,'.',;;;'....'.....',,:looodoll:;
            .';::;,'''''''...odccdc'......dkxxxool:,,,;:ooooclodddd:.....xOxddddoolcc:;cc;;coooll:;:c:::cllc:;,;;';:,,'..;,,:'..',,'..'..':loooool:;,c
           .,;,,''...........,;,,:,.......lxkxlc:;;,;cll:;lddoxdlcldc....,ooolddl:c;:cldxxdoollc:;:lc;::cll:,''':,,;c:,',;::,;.';;;;,,,';cloodllooc'':
         ..,,...''...........',...........,okxo::,'',ooooclolool;cccoo....:;::lodll:lodkkxdolcc::clccccllc;;::;;:;;::c,',cll:c;cc:,,::;;cooooooccdo''o
        ..,'..';;............,.....''''...;xooo;;;;:cdllxkxxdddlcc:::oo...:,:coldxxxxdoxxxoc:::lollllc:;:;,,;;::c:::::c:;ccc:c:;c;;;llldkdclllcccodllO
      ...'..';,,'.................;;,....':doooc,..,;look0Okdccooooccoxo:oxxxxxxxkxdddoodxocclllllllc;;;;::;;;;;;;::;;cll,';:;,.'',:lodxdo,;:::cclodxO
.............'......''............''....';colccc;...'cox0OOxolodddxkOOkkkxdxkxxdoddooodkdoololllllc;,'',,;''''...',,,,;,;;,,:;;....cloolcc,;;::::cood:
,,,,''.........''...''.....'''...........';oc;;c:'.,.,d000kxdddddxxxkkkkxxxxxxdlodxolodddooolloooc;;,;;::,..',.....'',,'';:':c,'...,';:;',,,,'..,cloc.
...,,,,,,,,,,',,'..'''. ...'''............;ol:;:c,',..o00Oxxddxxxdddxxxxxdddddoloodocodddoooooool:;c:c::c,.........',,;',;;;::'...'......,.....,::do,.
                                                                                                         ...;l.  .                                    
                                                                                                         ...,c'  .                                    
                                                                                                          ..':,  ..                                   
                                                                                                          ...;;                                       
                                   ...                                                                    ...,:.                                      
                               .;olccc;...                                                                 ..':,                                      
                             .l00kxc;,'....                                                                ...;:                                      
                            .xX0xl,.','...',,,,'.......                                                    ...,:.                                     
                            oXXx;.,cokkkxlldxddodxollclcllc:.                                              ...,:'                                     
                          .;0Kkolxxxxolx0d:ooc:;coxxllcloddddoc:,.                                          ..';,                                     
                         ;,oK0kxkkxo:,',kkloc;:codddllc:cc,.':cclol,.                                       ..';c.                           .....    
                      ..ck:O0Oxddolc:,':kOklloooooddxxxxkdolc:;;cllol,.                                     ...;c:                         ..    .',. 
                    :dddxOO0Okdl:;;;;;:k0Oxddoo:;;:'..,odxo,;lxxkOdcddc'                                    ...,;:.                              ...''
                    .'.'OOO0Ox:'.....lOO0Okxxc'...,'   .......';lx0kooxo,                         ....      ....,;'             ...  ..',,,'.....''''c
                       ;OkOOkd'....;oOOOOOOOd..'..',          ..'.,xKOdxo'                     ..'cc'''.... .. .',,            .....'',,;;:cllc;'',,;c
                      .dkxOkxdc'...dkOkxxxkOx...',''.         .....'d00xxl.                  ..'.':l:;cooccc:,...',.            ..........',:loddc,'..
                     .okxxkOkxdl,...,lxdxdl:....';,,.         ......,lO0kk;               ......;oc,.':'....'::...,'            .,..........';cllc,;,,
                   ,lxxxdxkkxdlolll,.......     .;;'.     .  .:clc::;:l0OOo.           .... .,,lx;...,.'......,,,..,.        ...;:;............',..,:o
                  oOkkxdoooooollllol'..   ..     ';,.      .;ooc:;cclookK0k, . .    ..'..   'dxdc  ..  '  ..'....'.'.       ....;,,'..........'.....;l
                  'xxdxdollcccccclc:;..    ..    .,;'.     .;'....';;;cdO0Oc.....',,'..  .''oOOOo...   :.  .'.':....'.   ...',,,;,,,'.......'',,'....:
                    .''.'looc;;;::::;,.    .....  .,,.            .....,c00x,.''c;..    .kkdoc:c'..   :d.  .,.':;..........',::::,,;;,....'..','.....;
                        ',..'.    .'l:,..    ....  .,,.            .....,x0Oc.,:,       .,,.    .. .'oxd;   .'.,;,.'.''','',:::c;';:::;,'..'..........
                       .,'...      .ll;......  ...  .,,             ..,,'o00x,cc.    .,,.      .. ;xOkc,c'   .'',,;;,;;col:c:::c,.',;::::::;,'',;,'...
                       .;'''.      .lo;....      ... .;.             ',',l00koo:.    '..'.    ...cOOd::,:l.  ..,;::::c::looll:cl;,'',:::;;,,:c:cccll:.
                      .,;''.     ..;:l;'...     .......,.           .....;OOkdd:.   .,...'. ...,dl;,..;::lc. .';:clccllccclc:cooc:;...',;;;,;::;::cldl
                      .,,'.  .:c,...,::,'..............''..         .'...,Okxdxc.  .;,'..';,'.ckc   ....';c:'',clclccllll::clddo::;........',,,,',,:lo
                     .,,'.   .ckxoolccc::;,.............,.... ....  ;c...c0kddxl..':;;,...,c:coc..........':l:looolccllllllodxdc::;'..........''',;::c
                    .',,.    ..,oodxoc;,;;'.......,...'','....  ....,;;:lOkxodxo.,::;,,,,,,.::;'....','.'',:clllolc:lllllllllllc;','....''......'',::;
                   .',,..........,;;;:;,,,'..'....,,'''':,....  ...xOdoxOkddlodo,;;;'..,;;..',,'''..';,'';:::cloooollcllllcc::cc,';,,...''..  ...',:;:
                   .,,'......    .......,clc;'''''loccl::;'..'..  .kkkxdddoolllolcc;'',;:''',,'...;;;;;;::c::llloddlc:ccccc;::c:;,;'''''........',;;,;
                  .,;,..........   ...,,';cldl:,',oxxxkxxdoc,......,dkkdddooolooooo:'':c:',,','...;c:,,,lc::cllllloc,.';::;,,::;,,..'',,'.......',:c::
                 .';,...........',;:::::;:coooo:ldkkkxddddxxx:.'.....,okxdoddddddooc,,cc;;,,;,'..'''''':coc:ccol::c;...';,;,,,,''..',,;;,'....':;;lc;'
                .';;...........;ll;,,'...;llloxxxxxxxdooldxkdxl,''.....;xkkxxxdddoolccc;,'',,''...,;;:cllclooolcc:c:'...,';:'','..',';::;;,,,clcc:cc;,
              ..';:'.',,,,,'''lloc'...  .lkdookxdxdlc:cloxddooxxdl,.....,kkOkddoooollc:c;...',,,;::::cc:c:cclllc:cc;;,'.',,;,'.....''..'',,;clooooloc;
             .,:::;''''''''..odccdc'......dkxxxooo:,,,;cooooclodddd:.....xkxxdddooolc:;cc,;:looll:;;c:::cclc::;;;',:,''..;,,:'..',,'..'..':looddol:;,:
           .';;;,'...........,;,;:,.......lxkxlc:;;,;cll:;cddoddllldc....;xxdoddocc::cloxddoollc:;:cc;;:cllc;''':,,;::;,';;:;;'.;;;:,,,.,:clodolooc'';
          .,;...''...........','..........;okxo::,'',oooocllclol;ccloo....:;c:lodll:codkkxdollc:;clcccclll:;;:;,:;;;:c;',cll;:;:c:,,;:;,:looooolcdo;'l
        ..''...,;............,.....''.'...;xooo;;;;:cdllxkxxdddlcc:::oo...;,:colxxxxxdoxxxdc:::collllc:::;,,;;::c:::::c:;ccc:cc:c:;;clloxxllllcc:odlck
      ...'..',,,'.................,;,'...':doooc,..,;look0Okdlcooolccldl;lddxxxxxkxdddoodxdcclllllllc:;;;:c:;;;;;;;:;:ccl;';:;;.',,:lodxxd;;:::::loddO
............''......''......... ..,'....';colccc;...'lox0OOxolldddxkkOkkkxdxkkxddddooodxxooloolllll:,'',,;,''''..',;,,;;;:',:;;....:loooll;,;::::clodl
,,,,''.........'....''.....'''...........':oc,;c:'.,.,d000kxddddddxxkkkkxxxxxxdloddolodddoollloool;;,;;::,..',......',,'.;:';c;'...,':::,,,;,,'.':lol'
..',,,,,,,,,,',;,..'''. ...''.............;ol:;:c,',..o00Oxkddxxxdddxkkkxxddxdoloodocodddoooloodoc;c:cc:c;.........',,;',;;;;c,...''.....,'.....;;lx:.
                                                                                                         ...;l'  .                                    
                                                                                                         ...'c,  .                                    
                                                                                                          ...;;  ..                                   
                                                                                                          ...;:.  .                                   
                                   ...                                                                    ...,c.                                      
                               .;llccc;...                                                                 ...:;                                      
                              :O0kxc:,'....                                                                ...,:.                                     
                             dXKxl,.'''....'''''......                                                     ...,c'                                     
                            lXXk;.':oxxxdlldxddddxollclcllc;.                                              ...';,                                     
                           'OKklldxxxolx0d:odc:;:oxxlllloddddlc:,.                                          ...;;                                     
                         ,,lK0kxkkxoc,''xOloc;;cldddll::cc,',:ccloc,.                                       ...;c.                           .....    
                      ..:k:k0Oxddolc:,',kOkollooooddxxxxxdolc:;;:clol,.                                     ...,cc.                        ..   ..''. 
                    ;oddxOO0Okdl:;:;;;:x0Oxddooc;;c,'';oddd;:lxxkkocddc'                                    ...,;:'                                .''
                    .,.'kOO0Oxc'.....ckO00kxxl,...,'. ..''....';lk0kooxo,                           .       ....,;'              ..  ...'''.......''.:
                       'OkOOkd'....,lOOOOOOOx'.....,          ..'',x0Odxd,                      ..:l,'.. ..  ....,;.           .....',,,;;:cllc,'',,;c
                      .oOxkkxdc'...dkOkkxxkOO,..',''.          ....'d00xxo.                  ..''.;c:;coolcc;'. .',.            ..........,;ccoddc;'..
                     .lkxxkOkxdl,...,oxxxdoc....':,,.         ......,ck0xk:                .....'ll;..;,''..,::'..,,            .'..........';clll,;,,
                   .:dxkdxkkkdoolll,.......     .;;'.    ..  .,cc::;;;cOOOd.            .... '':xc...,''......,;,.',.        ...;:;............',..,:o
                  cOkkkdodoooollllol'..   ..     ';;.      .'lolc:cclolx00O:   .     ..'.   .lodo. ... '. .......'.''.      ....;,;,................,l
                  ,kxdxdoollcccccll:;..    ..    .,;'.     .c;....';;:ldO0Oo.... .'''...  ..cOOkd....  :.  .'..;..'.'.    ..'',,;,,,'.....'..',,'....:
                   .',,''ldoc:;:cc::;,.    ....   .,,.            .....;cO0k;..';:'..    okdxdlo:..   ,d.   ,..::...... ...''::::,,;;,....'..','.....;
                        .,..'.    .'l:,..    ....  .,,.            .....'d0Oc.';;.       ::,.   ..  .cxx:   .'.';,.'.'''''',:::c:';:::;,'.............
                       .,'....      cl;......  ...  .,,             ..','l00x,:c'     ',.      .. ,dkkl,c'   ...,,,;,,;col:c:::c;.'';::::::,,.',,,'...
                       .;'.'.      .lo:....      ..  .;.             .,,;c00Ooll.    ...,.    ...:kOx::,:l.   .';:::;:::loolc:cl;'''':c:;;;,:c::ccll;.
                      .';''.      .;cl;'...     .......,.           ...'.,OOkddc.   .,...'.  ..'oo:;..;::lc. ..,:cclcllcccllc:oolc;'..,,;;;,;:::::clol
                      .,,'.   ;:,..''::,'..............',..         .'.'.'kOxdxc.  .,'...';'''ckl.  ....,;c:'.';cccccllll::ccddoc::........',,,,,,,:lo
                     .',,.   .cOxooc::c::;,.............,... ....   'c...;0kddxl...;:;,...,cccol. .......',:c::ooollcllllllodxxc::;'.........'''',,;:c
                    .',,..   ..;dodxoc:,,;,.......'...'',,.... .....':;;:kOkddxo.'::;,,,'','::;'.....,'...,:clloolc:cllllllllllc:,''....''......'',:::
                    .,,'.........;:::::,,,...'....,,.'..:,....  ...okoldOkddlodd,,;;'..,,:'.',''''..';,..,:::cllooollclllllcc:cc;.,;,...',..  ...',:;;
                   .,,,....... .... ....,clc,''''.clc:c;:;...'. . .xOkxxddoollloc::;''',:,''',,'..,;;:;;;:c::cllldooccclccc:::c:;';,'''''.......',;;,;
                  .';,..........   ...,'',:lol:,''oxxxxxxdo:'......,dkxdddooolooooo:'';::',,','...,c:;,;ccc::llcllol;'';::;,,::;,,..'',,'........,:c::
                 .';,...........',,;::::;:coooo:ldxkkxddddxxd:.'.....;dkxdoooodddooc,,cc:;,,;,'...',,'';col:clllc:c:...';,;,,;,,''.',,;;;,.....;;;ll:,
                ..;;'..........;ol:;,'...;clloxxxxxxxdooloxkxxl,''.....:kkkxdxxdddol::c:;,,,,''...';;:cllcloooolc::c'...'';;,',,..',',::;;,',;lcc:cl:,
               .';:,.',,,,,'',lloc''..  .lkdookkdxdolccloxddooxxdl,.....,kOOkxdddoollccc;'..''',;::::cc:c:cclolc:cc:;,'..,,:;'.....''..'',,,:loooolol;
             .';::;''''''''..oxlcdc'.....'dkxxxddo:,,,;cooooclodddd;.....xOxxxddooolc:;:c,,:loollc;;:c:::clc:c:::,,:,''..,;,:,...','......;coooddlc;;;
            .;::;,.......'...;;,;c;.......lxkxoc:;;,;:ll:;cddoddolldc....;kxdoddocl::ccldddooooc:;;cc:;;:llc:,'.:,,;:;;,';;:;;'.,;;:,',.';clooooool,',
          .';'..''...........';'..........;okxo::,'',ooooccllloo:ccloo....::cclodcc;:odxkxdoolc:;:lcc::cllc;;:;,:;,;:c:''ccl;:;;l:,,;:;,;coodool:do:.:
        ..',...,;............,'....'......;xool;:;;:cdlcxkxxdddlcc:::oo...;,;:lldxxxxdodkxdl::;cllllccc::;,;;;::c:::::::,:ccccc:c:;,clclxxolllll:ldo:d
      ...'...,,;'.................,;,'...':doooc,..,;look0Okdlloool::ldl;cdodxxxxkxdddoodxdlcllllllllc:;;:::;;;::;;:::ccl:,,:;;'',;:loddxx:;:cc::coodk
...........'','......'........  ..,,.....;colccc;...'loxOOOxolldddxxkkkkkxxxkkxxdddooooxdoollolllllc;'',,;,'','..',;,,,;;:'';;;'...:llooll:,,;::cclodd
,,''''.........'....''......'...........'':oc,:c:'.'.;d000kxddddddxkkkkkxxxxxxdllddolldddoollloool:;,,;:;;..',......'',,.,:,;::'...,,:c:;;,;;,,'':coo;
..',,,',,,,,''','...''. ...,'.............;oc:;:c,',..oK0Oxkodxxxdxdxkkkxxxxxdoloodocldddooollodol;c:cc;c;..........,,;,.;;;,c,'...'.....';.....;::dc'
                                                                                                         ...,c,  ..                                   
                                                                                                         ...':;  ..                                   
                                                                                                          ...;:  ..                                   
                                                                                                          ...,:.  .                                   
                                   ...                                                                     ..':,                                      
                               .,llccc;...                                                                 ...;:.                                     
                              ;O0kxc:,'....                                                                ...,:.                                     
                             oXKko;..''....'..........                                                     ...,:'                                     
                            :XXO:..;ldxxdlldxddddxollccccc:,.                                               ...;,                                     
                           .OXOocoxxxdld0x;odcc;:oxxollloddxdl:;'.                                          ...;;.                                    
                         ',cK0kxkkxoc,''x0lol;;:loddll::cl;',:ccloc,.                                       ...;:'                           .....    
                       .;k;x0Okxdolc:,',xOkoclooooddxxddxdlcc;,;:clol,.                                     ...,:l.                        .......''. 
                    'lddxOk00kdo:;::;;;dOOxddool::c;'';dxxx::oxdxxocddc,                                    ...';:'                       .        .''
                    .,'.kOO0Oxc,.....;kO00kkxo,...,,....''....':lk0xlodo;                                    . .';,              ..  ...'''..........:
                       .OkOOkd,....,:O0OOOOOk'.....;.        ...'',x0Odxd,                       .,l;...     ....,;.           .....',,,;;:cllc,'.',;c
                       lOxkkxdc'...okOkkkxkOO:..''',.          ....'d00xxd.                   ..'.,::;:lllc:,'. ..,.            ..........,;:codoc;,..
                      cxxxkOkxdl,...,okxxxdl,...':;,.         ......,ck0xkc.               ......co:'.,:,'..,c:...',.           .'..........';clll;,,,
                   .;oxkdxkkkdoollc,.....'.     .;;'.         '::;,,,;:OOOx'             ... .',do'..,;'......';,..'.         ..,:;'...........,;'.,:o
                  :Okkkdoddooollllll'..   ..     ';;.       .:oll:cllold0OOc.  .      ....   :ldd.  .. '. .......'.''.       ...;;;,................,l
                  ,kxxxdoollcccccll:;..    ..    .,;'.     .cc,...,;:clok0Od.... ..'''..   .;kOkd. ..  ;.  .'..,..'...    ...'',:,,,'.....'..',,'....;
                   .,;;,'ldol:::cc::;,.    ....   .,,.            .....;cO0k:..''c,...   :ddxkxxo...  'd.   '..;:...... ...'';::c;;;;,'...,..','.....;
                        .,.',..  ..'c:,..   .....  .,,.            .....'o0Ol..,;.       cl:'.  ..  .;dx:   .'.':;...''.'.'';::::,;:::;,..............
                        ,'....      cl:......  ...  .,,             ...,'c00k,,:'     ''.       ..'lkOl,l'   ...,,,;,,;:ll::c:::;.'';::::::,'..','....
                       .;'.'.      .co:'....     ..  .;.             .,,;:O0Oo:c.    .'.,.     ..;kOkc:,;l.   .',;;:;:::cooll:cl:'''':c::;;;:c::cclc;.
                       .;''.      .,cl:'...     .......,.            ..'.,k0kdoc.    '...'.  ..'loc:'.;::lc.  .'::clcllcccolc:lolc;,..,,;;;,,:c:::clol
                      .,,,..  ','..''::,'..............',..         .,.'..xOkddl.  .','...;..':xl.  ....,;c:..',:ccc:clllc:ccoddc::'......'',;;,,,,:lo
                     .',,.    lOxolc::c::;,.............,... ....   .c...'OOddxo...;:;,...'cccdl.  ......',;c;;lllllcclllllodxxl:::'.........'''',,;:c
                    .',,'.   ..:dodxoc:,;;,.......'....',,....  .....c:,;d0kdddo'.;:;,,,'.,,:c:,.....''...':clloooc:cllllllllooc:;',.....'......'',:c:
                    .,,'........'::ccc:,,,...''...,,....;;....  ...:dl:oOOxdoodd;,:;,..,,:,.';'..'...;,..':::cllloolllllllllc:cl;.,;,...',... ...',::;
                   .',,............  ...,clc,..''.:cc:c;;;...'. . .dOkxxxxoollooc;:;'..,;;''',,,'.,,,:;;,::c:cllloooccclccc:::cc:';;'''''........',;,;
                  .';,'.........   ...''',:lol:,''oxddxxxdl:'......;xkkdddooolllooo:'.,:c,,,,,'...,c:;;;ccc::llccloo:,';:::;,:c;;,'.''','........,;c::
                  .;,'...........',;::::::loool:coxkkxddxddxd:.'.....:xkxdoooooddooc,,:c:;,,,,'...,,;,';col:cllllccc...';;;,,;,,''.',,;;;,.....,;;cl:,
                 .;;'..........;oo:;,'...,clloxxxxxxxdooloxkxxl,'......ckkxxdxxdddol::c:;,,,;,''.'',;:clllllooolc::c'...'',;,',,..',',::;;,'',clc:cl:,
               ..,:,.',,,,,'',llo:''..  .lkdlokkdddolcclodddooxxoc,.....;kOOkxdddddolccc;'.''''';;:::cc:ccccoolc:cc:;,,'.,,:;'.....''..,',,,:loooolol:
             ..,;:;'',',,'''.odlcoc'.....'xkxxxddo:,,,;codooccodddd;.....dOkkxddooolc:;:c'';llollc:;:::::clccc:::,,:,''..,;,;,...'''...'..,:looddol;;,
            .,:::,'.....''...;;,;c;.......lxkxo::;;,;:llc;cddoddolldc....:Okddddollcccc:oddooool:;,:c:;;:lll:,,.;,,;:;;,.,;;;;,.';;;;'''.,:llodoool;',
          .';,..'............','..........;okdo:;,'',ldolccllloo:ccldl....cllcoodcc::ldxxxddolc:;:llc::clll;,;;,:;,;::c,':cl:::,c:;,,;;,,:loddoo:ool.,
        ..',...,;............,'...........;xooo;:;;;:dlcxkxxodol:cc::oo...;;;:lldxddxdodkxdl::;:lllcccccc:;;::::c::::;::,:ccccc:c:;,:lccdxolllllcldd:l
      ...''..',;'.................';,,'...:doooc,..,,look0Okdoloool::cdl,:oodxxxxkxddddodxdl:clllllllc:;;:::;;;::;;:::clc:,,;;;',;;:loddxxc;ccc::coddk
...........',,'.....'.......... ..;,'....;lolllc;...'lodOOOxolloddxxkkkkkxxxkkxxdddooooddoollolcllll:'',,;,,','..';;,;,;;:'';;;'...;loddolc,,;::cclodx
,,'''...............''................ .',:oc,:c:'.'.;d000Oxddddddxkkkkkxxxxxxdolddolloddooolclollc;,,;:;;..',......''',.,:,,::,...,;:cc:;;;;;;,';cloc
..',,'''''''..','...''.....,''............;oc;;:c,''..dK0Oxkodxxxxxdxkkkxxxxxdollddocldddoolllodol:c:::;c;..........,,;,.;;:,c;'...,..;,..;'....':;oo,
                                                                                                         ...'c;   .                                   
                                                                                                          ...::   .                                   
                                                                                                          ...;:.  .                                   
                                                                                                          ...'c,  .                                   
                                   ...                                                                     ...;;                                      
                                'clccc:..                                                                  ...,:.                                     
                              ;k0Okl:,''....                                                               ...,:'                                     
                             lKKko;..''..............                                                       ..';,                                     
                            ;KXO:..,coddolldxddddxollccccc;,.                                               ...;;                                     
                           .kXOocoxxxdod0x;odlc;:oxxollcoddxxl:;'.                                          ...,:.                                    
                         .,:00kxkkkol;''d0ool;;:coddlc::cl:,,clcloc,.                                       ...,:,                            ....    
                       .'x;o0Okxxdol:,''d0koccloooddxxddxdlc:;,,;:lol,.                                     ...';l.                        .......''. 
                    .cooxOk00kxoc;:::;;lO0kddoolc:l:,,;dxxxlcoxddxlcddc,                                     ...;:,                       ..       .,'
                    .;,.xOO0Oxl,.....,dkO0kkxd;...',....,,'...':ok0xlldo;                                    ...';;.              .  ...'''..........;
                       .kkOOkx,....';k0OOOOOk;.....;.        ...',;x0kddd;                       .':;'..     ....,;.            ....',,,;;:cllc,'.'';l
                       cOkkkkdc'...okOOkkxkOOc..''.,.          ....'o00xxd'                    .''';;;:cccc:,.. ..,'            ..........,;:clooc;,'.
                      :xkxkOkxdl,...;okxxxdo;....:;,.         ......,ck0xkl.                ..'..;lc,.'c:;..;c:...',.           .'..........';coll;,,'
                   .,ldkxxkOkxoolcc,....','.    .;;'.         .;;,''';:OOkk;             .....'.ld;..';,......':,..,.         ..,:;'...........,;,';;l
                  ;kOkkdoddoodllllll,..   ..     ';;.       .,lllcllllco0OOo.  .      .....  ,cdx;  .'.'. .....'.,..,.       ...;;,,................,l
                  ;Oxdxxoollcccccllc;..    ..    .,;'.     .:l:,'.,;:look0Ox....  ...'...   .xkxd. ..  ,.  ....'..'...     ..'',;;,,'.....'..',,'....;
                   .;::;,ldolc:cccc:;,.    ....   .,,.      .     .'..':lO0O:..,.c:'..   ,lldOkkx,..  .o'   ...,:....'. ....',:cc;,;;,'...,..',''....,
                        .;',,'. ...,c:,..   ....   .,,.            .....'l0Od..,;'       ldl;......  ,dx:   .'..;;...''....',:::c,;:::;,..'...........
                        ',....      :o:......  ...  .,,.            ...,':O0k,';'     .'.       ...cxko,c,   .'.,,',,,,:ll:::::::.'',::::::,'...'.....
                       .;'.'.      .co:'.....    ..  .;.             .,,;:k00o:c.    .'.,.     ..;xOkl:,,l.   ..,;;:;;::coolc:cl:'''';c::;;;::::cccc;.
                       .;''..     .,cl:'...     .......,.            ..'',x0Odoc.    .'..'.   .'cdlc,.;::cc.  .';::ccllc:coolclolc;,..,;;;;,,:c:ccclol
                      .,;,'.  .'...',::,'..............',..          ,.'..d0kddl.   .''...,..':xo.   ..',:c:..',;ccl:ccllc:c:lddl::,......'',;;;,,,:lo
                     ..,,'.   lOxoc:;:c:;;'.............,'.. ....   .:....kOxddo. .':,,...':ccdo.  ......',;c;':lllllclllllodxxo:::,.........''',,,,:c
                    ..,,'.    .:dodxoc:,;;,.......'...'',,.... ......l:,'l0kdddo'.,:;,,,..';:cc,......'....;clloool:cclllllloool::,'.....'.......',;c:
                    .','........'ccllc:,,,...''...,,....;;....  ...;oc;lkOkxdodd;':;,.',,;;.';'......,,..':::cllllolllllolllc:cl:'';;....,... ...',:::
                   .',,.................'cl:'..''.;c:::,;;...'. . .dOkxxxxdollooc,;;'..',;'''',;,',,,;;,,;::cclloooolccllccc::cc:,,:,''''........',;,,
                  ..,;'.........   ...''',:col:,''lxddxxdol:.......;xkxdddooollloll:,.,;:,',,,'...'::;;;:c:c:clcclooc;,;:::;,;c:;,,.''',''.......';c::
                  .,;'...........',;::::::loool:coxkkxxdxdddd:.......cxkxdoooooddolc;':cc,,,,''...,;:,';colccllllccl'..';;;;,,;,''..'',;;,.....',;clc;
                 .,;'..........;oo:;,''..,clldddxxxdxdooloxkxxl'.......lkkxxdxxdddol:;cc;,,,;,''.'',;::lllllooool:;c'...',,;;',,'..,',:::;,''';cc::l:,
               ..,;,.'',,,,'',clo:''.. ..oxolokkddddlcllodddooxxoc'.....;kOOxxdddddolccc;'.''''',;:::cc:ccccoolc:ccc:,''.,,;;'.....'''',,,,,;clooolol:
             ..';;;'',,,,,''.odlloc'.....,xkxxxddoc,;;;codooccodddd;.....dOkkxddooolc:;:c'';cllllc:;;::::ccccc:::;;:;'...';,;,....'....'..,:looodol::,
            .,:::;,.....''...:;,;c;'.....'oxkxo:::;,;:llc;cddoddolodc....:Oxddddooolcc:;ooooooolc:,;c:;;;cllc:,';;',:;,'.,;;;;,..,;;;'''.';cloodool:''
          ..;,'''............','..........;oxdo:;,'',ldol::llcoo::cldl....looloddlc;;ldxxxddollc;;clc:;:cll:,;;';;,,;:c;'::c:;:'::;;,;;,,:looddocool',
        ..',...',............,'...........;xooo;:;;;:dlcxkddoool:cc::oo...,;;:lldxddxdooxxdl::;:llllcc:clc;;::::c:;:;;::,:cccccclc;,;cccoddoolllccdd:c
      ...''..',;'.................';,,'...:doooc,'.;,cook0kkdoloolc:;cdc';ooodddxkxxdddodddl:cllllllllc:::::;;;;:;;:::clcc;,;;;,,:;;loodxxl;ccc::coddx
...........',;'.....''......... ..;;'....;lolllc;...'lodOOOxolloddxxxkkkkxxxxkxxdddooooddoollolcllllc,',;;;,,,,'.';:;;,;:c,.,:;,...;lodddoc,,;;:cclodx
,,''................''................ ..,coc;:c:'.'.;d00OOxddddddxkkkkkkxxxxxxolddolloddooolclllll:,,;:;;..',.....'''',.':;,::,...':cccc:;;;;;,,;clol
''',,'''.......,....''.....,'......... ..':oc;;:c'''.'dK0Oxxodxxxxxdxkkkxxxxxdollddoccdddoolllodoo:c::c;c:..........'';,.,;:'::''..''.::'.,;'....;:lo:
                                                                                                          ...::   .                                   
                                                                                                          ...;c.  .                                   
                                                                                                          ...,c'  .                                   
                                                                                                           ..':;  .                                   
                                   ...                                                                     ...;:.                                     
                                'clc:c:'.                                                                  ...,:.                                     
                              ,k0Okl:,''....                                                               ...';,                                     
                             cKKkd:.'''..........                                                           ...;;                                     
                            ,KX0c'.,:oddocldxdddddolcc:c::;'.                                               ...,:.                                    
                           .dXOo:ldxxxod0x:lxlc;:oxxollcoddxxc;;'.                                          ...':.                                    
                         .,;O0kxkkkdl;''o0olo:;:coddlc::clc,;clcloc,.                                       ...';,                            ...     
                        .x;l0Okxxdol:,''l0kdccloooddxxddddcc:,,,;:col,.                                      ...;c.                        .......''. 
                    .:loxOkO0kxoc::::;;ck0kdddoolclc;;:dxxxoldxoodlcodc,                                     ...,:;                       ..       .,'
                    .:,'dOO0Oko;.....'okO0kkdd:...',....,;,...'cokOdcldo;.                                   ...';;.                  ..'''.. .......;
                        xkOOkx;....',x0OO0OOO:.....;.         ..',;x0kddx:                        .,;'.      .. .';.            .....,,;;::cllc;'.'',l
                       ;Okkkkdc'...lOOOkkxkOOl..''.,.          ....'o00xdd,                    ..',;;;;::::;'.. ..,'            ..........,;:clooc;;''
                      ,xkdkkkxdl,...;dkxxxddc....:;,.         ......,cx0xxo.                .....'co:.'cc:'.;c:...',.           .'..........';coll;,,'
                    .cdkxxkOkxoolcc,...',;,.    .,;'.         .','...,;kOkk:              ......:dc...;;.... .':;..''         ..,::'...........,:,';;l
                  ,xOOkdoddoddllllll,..   ..     ',;'       .'clllllcc:l0O0d.   .      ....  .:lxc.  '.'. .....'',..'.       ...,;;,................'l
                  ;Oxxxxoollcccccllc;..    ..    .';'.      ;lc;,',;:loox0Ok,....  ...'..   .okxd. ... '.   ......'....    ..'',;;,,'.....'..',,,....;
                   ':cc:,ldolc:clcc:;,..   ....   .,,.      ..    .''',clk0Oc..,.;:,...  .:coOOOk:... .l'   .'..;....'.  ...',:cc:;;;,'...,..',''....,
                        .;,;;,.....,c:,..   ....   .,,.            .....'l00d..,;;.      lkdc;.....  .okc   .,..;;....'.....,:::c;;:::;,..'...........
                        ',....      ;o:'.....  ...  .,,.            ...'';k0k,.;,     ... .     ...:dkd;c,   .'.';,,,,,;cc;;::::c''';:::;::,'.........
                       .,,.'.       :oc'.....    ..  .;'             .,;;;x00d;c'     '',.     ..,xOko:,,l'   ..';;:;,;;coolcccl:'''';cc:;;::::;cccc,.
                       .;,''.     .'coc'...      .....',.            .''',d0Oxoc.    .'..'.   .'cdoo;.;:;cc.  ..;::clllc:coolccolc;,..,;;;;,,:ccccccol
                      .';,'.  .....,,::,'..............',..          '.'..l0kxdl.   .''...,...;dd.   ..',:c:...';ccl:ccllc:cccddocc,.....''',;;;,,;:lo
                     ..,,'.   lkxl:;;:c:;;'.............,'.. ...     ;....d0kddo'  .;,,...'::cdo.   .....',;:;';lllllclllllodxxdc::,.........'',,,,,:c
                     .,,'.    .cxodxoc:;;;,'.........'.',,......... .lc'.;0Oxodd,.'::;;,...;ccc;......'....;clcooolcccllollloool:c;'.....'......'',,::
                    .',,. ......,llollc;,,...''...,,...';;..... ...'c:;cxOkxdodd;':;;'',,,;'';,......,,..';::cllllolllllolllccclc,';;....,'.. ...',;::
                   .',,.................'cl:'.'.'.,c::;,;:...'. ...l0Okdxxdoolodc,;,'..',:,''',;,','';;,',::cclloooolccllclc::cc:,,:,''''........',;,,
                   .,;'.......... ....''',:loc;,''lxddxxdol;.......;kkxdddooollloll:,'',:;',,,'...';::;;:c:c;cllclool:;;c:::,;c::;;'.'',''.......',:::
                  .,;,............';::::::loool;:lxkkxxxxdddd:......'lkkxdoooooooooc;';cc,,,,''...,;c;,,:llcclllllcl;..';;;;,,;,,'..',,;;,'.....,;:lc;
                 .,;,..........;lo:;,,''.,:lodddxxxxxdooloxkxxl''......lkkxdddxdddol:;:c:;,,;,,'.'',;::cllllllool:;c,....,,;;,,,'..',,;::;,''.,:c::l:,
                .,;,..''''''',cll:''.. ..oxoloxkddddocloodxdooxxoc'.....:kOkxxxxddoocccc;,',,,'',;:c::c:ccccooolcccc:,,'.,';;,''...','',,,,,,:looocloc
              .',;;'',,,,,'''odlloc'. ...,xkxxxddoc;;;;coddoclodxxo;.....oOkkxddooool:;:c,',cllllc:;;::::cccccc:c;;:;'''..;,;;.........'..,;cooodol::;
            .';::;,.....'''..:;';l:'.....'oxkxoc::;,;:llc;cddoddoood:....cOkxdddoooocc:;looollolc:,;::;;;:llcc;,;;,,:;,'.';;;;,..,;;;'''..;cloodoolc,'
          ..,;,,,'...........','..........;okdo:;;'',ldol::llcooc::ldl....ldoloddlcc:lddxxddoolc;;clc:;;cllc;;;';;',;;c:';:c:;:';:;;,,,,';cloddocldo,'
        ...,'..',............,'...........;xool;:;;;:dlcxkxdoool::c::ol...,:;:clddddddodxxdo::::clllcc:cll:;::::c:;;;;::,:lllccclc:,,c::lddooollccodc;
      ...''...,;,......'.....'.....,,''...:dooo:,'';,cook0kxdoloolc:;coc',loodddxkxxdddoxddl::llllllllcc::::;;;::;;:::clcc;,;;;;,::;coodxko:llc:::lddd
   ........',;''....'.............;;,....,lolllc;...'lodOOOdolloddxdxxkkkxxxxkxxdddooooddoollolccllll;',;:;,,,,''';:;;;;:c,.,:;,...,codddol,,,;:cclodd
,''.................''............'......,coc;:c:'.'.;d00OOxddddddxkkkkkkxxxxxxolddolllddooolclllllc;,,:;;'.';....''''','':;,::;...':ccclc:,;;:;,,clol
'',,,''........'....''.....'''........ ..':oc;:cc'''.'xK0Oxkoddxxxddxkkkxxxxxddoldxolcoddooocloooocc:::;::'..........';,'';:':c,,...'.c:;.';,....,:col
                                                                                                          ...:c.  .                                   
                                                                                                          ...;c.  .                                   
                                                                                                          ...'c;  .                                   
                                                                                                           ...;:. ..                                  
                                    ..                                                                     ...;:.                                     
                                .:cc:c:'.                                                                  ...,:'                                     
                              'x0Oko:;''....                                                                ...;,                                     
                             ;KKOd:''''... .....                                                            ...;:.                                    
                            'KX0l'.';loooccoxdddddlccc::::,'.                                               ...,:.                                    
                            oX0o:coxxxddOk:cxoc;;lxxdllllddxdc;,'.                                          ....;'                                    
                         .,;O0kxkkkdl:''l0oco:;;:oddlcc:cll;;:lcloc,.                                        ...;;                             ..     
                        .d::0Okxxxol:,''c0kdc:coooddxxdoodl:;,',;:col,.                                      ...;c'                         ......''. 
                    .;cldOkk0kxol:::::;:kOkdddoolllc:;:dxxxdoddoodc:odc,                                     ...,c:                       ..      ..,'
                    .c;'oOOOOko;'....'lxO0Okddc...',....,:;...,cokOdcldo:.                                   ...';:.                  ..'''..........,
                        dkkOOx;....''d0OOOOkOc.....;.        ...';:xOxodx:.                       ..,..      .. .','            ....',,;;::cccc;'.'',l
                       'OkkOkxc'...ckOOkkxkOOd..'..,.          ....'oO0xdx;                     .',;;,;;;,;;......,,.           ...'......,;:clooc:;''
                      'dkxkOkxdl,...:dOkxddxl'...;;,.          .....,cx0xxd'                 ..'..:oc,':ll,';c:'...,.           .'..........';loll:'''
                    .;okxxkOOxoolc:,..',,;,.    .,;'.         ..,....,;xOkkl.              .....,ol,..,:.... .':;..''.        ..,::'...........,:;';;c
                  .dkOkxddddddllllll,..   ..     ',;'      ...;cllllc::cOOOk'           .... .,:xo.  .',. .....'',..'.        ..,;;;................'l
                  ;0kxxdoollccccclll:..    ..    .';'.      'loc;,;::loox0OO;....   ......   ;xxx,  .. .'   ......'..'.     ...';;','.....'...,,'....;
                   ,cllc;ldolc:cccc:;,..   ....   .,,.      '.    .',';cok0Ol..,.';,'... .';:kOOOl...  c,   .'..;....'.  ....':cc:;;;,'...''.',',....'
                        .;;;;,....';c:,..   ....   .,,.            .....'c00x'.;,c..     cOdoc,,,... .ckc    ,..;;....'.....';::c:;:::;,..............
                        .,....      ;o:'.....  ...  .,,.            ...'',x0O;.:;.     . ...     ..;okx:l,   .'.';,',,,;:c;;::::c,'',:::;::,..........
                       .,,....      ;oc,.....   ...  .;'             .';;;dK0d;c,     .',.      .,dkOdc,,l'   ..',;;:,;;cooccc:cc'''.,cc::;:::;;:cc:,.
                       .;,''.      .coc,...      .....',.            .''',o0Oxol'    .'..'.    .:dxd:.,:;cc.  ..,:::cclc:coolccooc;,'.';;;;,,:ccccccll
                       ';,'.  .....,,:c;'.. ...........',..          .....c0Oxdo'   .''...'. .,od'   ..';:c:...',ccccclllc::ccddocc;.....'',,,;;;;;:lo
                      .,,'.   ckdc:,,:c:;,'.............''..  ...    ,'...l0kddd'  .;;,...';;coo.   .....';::;'':llllcllllloddxdc::;.........'',,'',;c
                     .',,.    .lxooxol:;;;;'.........'..',.... .... .cc'.'k0xodd,..;:;,,...;cll;...........,clccooolcclllllloooocc;,'...........'',,::
                    .',,........;lodolc;,,'..''...,;...',:.....  ...:;,:dkOkxodd;.;:;,',,,;,':,......','..,::cllloolclllolllccclc;',;'...''.. ...',,::
                   ..,,'..............'''cl;'''.'.':;;;,,:.....  ..c0Oxdxkxoolodc';,'..'';;'''','','.,;,''::cccloooollcllllcc::cc;,:;'''..'.......',;;
                   .,;,.......... ....''',:loc;,''cddddxdol;.......;kkxxddooollolcc:,.',;:,',','..';;;;;;c::;:llcloolc::c:::;,::::;'.'',''........,::;
                  .';,............',;:::;:loool;:lxkkxxxxdddd:.'....'okkddoooloooool;',:c;,,,'....';c:,,:llcclllllll:'.',;;;,,;;,''.'',;;,'.....',:cl:
                 .';,..........;lo:;,,''.,:lodddxxxdxxolloxkxxl'......'okxddddddddol:,:c:;,,;,,'..'';::clllllllooc:c;'...,,;,,,,,..'',;::;;....;c::cc,
                .';;'.',''''',cll:',.....oxoloxkddxdolloodddooxxo:'.....ckkkxxxxdddocccc;,',,,'',;;:::c:ccccooolcccc:,''.',,:,''...','',;;;,,:cooocloc
              ..,;;'',,,,,,''odllo:'. ...;xkxdkdddc;;;:coxdolcodxdo;.....lOkOxddoooolc::c,',:clllc::;::::cccccc:c;;:;,''..;,;;............,;:looddoc::
            ..,::;;.....'''..c;';l:'.....'okkxoc::;,;:clc;cddldooood:....:0kxxddooooc:;;cooollooc:;,:::;;:llcc:,;;',::,'.';;;,,..',,,..'..,:looddolc,'
           .,;;,,'......'....','..........;oxdo;;;'',ldol::clcodc::ldl....okdooddocc:codxxdooolc;;ccc:;;:clc:;;';;',;;::';:c:,:'';;;;,,,',:looddlloo;.
         ..,'...,............,'...........;xool;:;;;:olcdkddolol::c::ol...'c;:clddoddxooxxxoc:::ccllc::cllc:::::::;;;;;:,;lllccccl:,':::codoooolc:odl,
       ..''...,;,......'.....'.....,,''...:dooo:,'';,clok0kkdoooolc:;:oc.'coloddxxkxdddoxxdl::cllllllllc::::;;;;;;,;;:clcc:;,;::;::::loodkd:llc:::lddd
    .......',;''..................;:,'...,lollcc;...'lodOOOxollodddddxkkxxxxxkxxxxddoooddoolloolclccl:,,;::;,,,,,,;:;;;;:c;.':;,..',lodddoo,,;;:cclodd
,''.................''......... ..''.....,loc;:c:'.'':d00OOxdddoddxkkkkkkxxxxxxolodolllodooollllllll;,,:;;'.';'...'''''',';;,;;;....:clllcc;;;:;;;:coo
,',,,'.........'....',.. ...''...........':oc;;:c'''.'xK0Oxkdddxxxxxxkkkkxxxxxdoloddlclodoooccodlllc:::;::'..........',,'.;:,;c;,...,'cl:'';;''..'cclo
                                                                                                          ...;l.  .                                   
                                                                                                          ...,c;  .                                   
                                                                                                           ...::  .                                   
                                                                                                           ...;:. ..                                  
                                    ..                                                                     ...,:.                                     
                                .;cc:c:,..                                                                  ..';,                                     
                              .d0Oko:;,'....                                                                ...;;                                     
                             ,0KOxc'.''... .. ..                                                            ...,:.                                    
                            .0XKo,..,coolccodddddolc::;;;;,..                                               ...';'                                    
                            cX0d::oxkxddOk:cxol::ldxdllllddxxc;,..                                           ...,,                                    
                         .',kKkdxkkdo:,.c0dco:;;:lddocc:cll:;clcloc'.                                        ...;:.                                   
                         o:;0Okxxxdlc,'':Okdl:coooddxxdoodl;;'',;:cll,.                                      ...,c,                         ......''. 
                     ,:loOkk0Oxolc::c:;:x0Odddoollol:::dkkxxoxdlloc:odc,.                                    ...':c.                       .      ..,'
                    .l:'oOO00kd:'.....cdO0Okddl'..';....;::,..,cokOocldo:.                                   .. .;:'                  ...''.. .......,
                        lOOOOx:....''l0OO0OOOo.....;.        ...';cxOdooxc.                        .'..       ....,'            .....',;;::cccc;'.'',c
                       .kkkOkxl'...ckOOOkkOOOd..'..,.          ....'oO0xdx:.                    ..,::,,,'',,.... .',.           ...'.....',;cclolc:;,'
                      .okxkkkxdl,...:dOkxxdxd;...;;,'          .....,cx0xdd,                  .'..;cl;,:lo:,:c:' ..,.           ............';lool:'''
                     ,oxxdkOOxdolc:'..',;:;..   .,;''.         .'....,;x0kko.              ......lo;'.':'.....,:;..',.         .';;,...........,c:,;;c
                  .okOkxddddddolllll,..   ..     ';;'      . .':lllc:;;cOOOk,            ... .',dd,. .';. ......',..'.        ..,:;,........''......'c
                  ;Okxkdoollllccclll:...   ..    .';'.      .col:;;:cllod00Oc.. .    .....   .oxd:  ....'   ......''.'.     ...',;,',.........','....,
                   ,lool:cdolc:clcc:;,..   ....   .,,.      ,;.  ..',,;lox0Oo..'..,,''..  .',dOOOo...  :;   .'..,......   ...';ccc;,;;,...''.',',....'
                        .;c::;...'';c:,..   ....   .,,.            .....'cO0x,.,'c,.     ,kxdoc::'....:kl.   '..,;....'.....';::c:;::::;...'...'......
                        .,....      ,o:'.....  ...  .,,.            ....',d0O:.;:,     . .,,.    ..,lxxcl,   ...';,',,,,::;,;:::c;'';:::;;;,..........
                        ',....      ,oc,.....   ...  .;'              ',;;oK0x,c;.    .,'.      .'okOxc,,c'   ...',;:;;;:oollc:cc,''.,:c:::::;,,;c:;,.
                       .,,.'.      .col,...      .....';.             .,',l00koo;    .'..'.    .;dxxl',:;:c.  ..':::cclc:coooccloc;,'.';::;;,;c:clccll
                       .;,'.   .  .,;:c;'..    .........,..          .....:0Oxdd,    .'...'. .'ld,.. ..,;:c:...'':cclcllll::ccoddcc:'....',,,,:;;;::co
                      .,,,.   :kdc;,,;::;,'.............''..  .      .'...:0Oxdd,  .,;'...';,:od'   .....';::,'';ccllclllollodxdl:::'........'',,'',;c
                     .',,.    .oxooxoc::;;;'.........''.';.........  :l'..dKkddd;..,:;;,...;cll:...........,:cc:loollccllollodddcc:,'...........'',,::
                    .',,........;ooxdlc;,;'...'...,;...',:.....  ...';;;lxOkxodd:.;::,',,',;,:;'.....','..';:cllooolcllloollccclc;',;'...''.. ...',,::
                    .,,'.............','':c;'.'...':;;,',:'....  ..;0Oxokkxdolodl';,,..'';:'.','''''.,;''';::ccloooollclollccc:cc;'::'...''.......',;;
                   .,;,................'',:loc;,''cddodxdol;.......;Okkxdddooloooc:;,.'';:,,'''''..,;;;;;:::::cllloooc::c:c:;,:c::;,.'''''........,;:;
                  .';,.............,;::;;:lodol;;cdkxxxxxdddo:......,dkkdodooloooool;'':c;',,''...';c:,,:llccllllllol,'.,;;:,,;;,',..',,;,'.....',;cl:
                 .';,..........;loc;,,''.,:lodddxxxxxdooooxkxdc''.....'dkxddddddddoc:,;cc;,,;,''..',;::cllollllool:c:....,,;,,,,,'..,,;::;;....,c::lc,
                .';;'.''''''',ccl:',.....oxollxkxxxdolloodxdooxdl:'.....cOkkxxxxxxdoc:cc;,',;,'',;;:::c:cc:cloolccccc,'..',,:,'''..',,';;;;,,,clloccoc
              ..';:,'',,,,,,'odllo:'. . .;xkxdkxddl:;;:coxdollddxxo;.....lOOkxddddoolc:cc,'':ccllc::;::::cccclccc:;c:;''..,,;;............';:clooooc::
             .,;;;;.'''''''..c:';o:'.....'okkxoc::;,;:cll;cddloooood:....:Okkxdddooolc;;clooolooc:;,;::;;:clccc;::,'::,'..;;;,,...,;,'.'..';loooddll,'
           .';;;;,.....'''...',''.........;oxdl;;,'',cdol::clcodlccldl....dkdddddoll:coddxooooll:;:cc:;,;:ll::;,,:'';;::',:::,:,.;;;;,,,'':cloddoldo:.
         ..,,...'............,'...........;xooo;:;,;:olcdkddolol::cccdl...,c:cclodooddooxxxoc::::clcc:::lllc;:::::,;;;;c,;lclccccl:,';:;:ldoooolc:odo,
       ...'...';,......'.....'.....''''...:dooo:,,';,clok0kxdooollc:;:oc..:ocoodxkxxdddoxxdl::cllllllcccc:::;;;::;,;;::l:c:;,;;:;:::;loodkxcllcc::codo
    ........,;,'..................;:;'...,lolllc;...'lodOOOdolloddddddxkxxxxxkxxxxxdooodddolloolclcccc;,;::;,,,,,,;:;;;;:c:..;;;'',,clddxdo;,;;:ccclod
''..................''......... ..''.....;loc;:c:'.'':d00OOxddddddxkkkkkkxxxxxxolodolllodooollllllll:,,;;;'.';,...'''''',,;,,;:;'...:llloll;;;::;;:clo
,,,,''..............',...................':oc;;::'',.,x00Oxkddddxxxxxkkkxxxxxxdoloddlcloxooolcooolll::::::'...........,,,.;c;,c:'...,;ccc;,;:,'...:cld
                                                                                                          ...;l;  .                                   
                                                                                                          ...':c  ..                                  
                                                                                                           ...;c. ..                                  
                                                                                                           ...,:' ..                                  
                                                                                                           ...,;,                                     
                                .;c::cc,.                                                                   ...;;                                     
                              .o00kdc;''....                                                                ...,:.                                    
                             'OXOxl'.'''.. ..                                                               ...':'                                    
                            .OXKd,..,:lll:clooddool:::;;;,'.                                                 ...;,                                    
                            :KKx:;lxkkddOOccxdl:;lxxdllllodxdc,'..                                           ...,;                                    
                          .,xKOxxkkxo:,':0dcoc;;;lddocc:cllc:cllll:'.                                        ...,:.                                   
                         cc'O0Oxxxdo:,'';Okdc;:loodddddlldl;,'';;;cll,.                                      ...':,                         ......''. 
                     ':clkkx0Oxdlc::c:;:d0Ododdooooocccdkkkxxdolcl::odc,.                                    ....:l.                       ..     ..,'
                    .lc;lOOO0kd:,.....:dO0Okddo,...;....;cc;..;cdkOo:cdo:.                                   ....,;,                  ...'... .......,
                        cOkOOxc....'.cOOO0OkOx.....,.       ....';lxOdodxc.                         ...       ...',;.            ...'',;;::cccc;'..',c
                       .xkkOkxl'...:xOOOkkkO0x'.'..'.          .....oOOdox:.                     .':c,''...'. ....',.           ...''....',;cclll:;;,,
                      .lkxkkkxdl,...:dOkxxdxxc...;;,'          .....,cd0kdd;                  ..''':c:;:ldl;c:;'...''           ............';loloc,'.
                     .lxxxkOOxdol::'..,;:::'.   .,;,'.         ......,;xOxkd.               .....:oc,..,,.....;:;..',.         .';;,...........;cc,;;:
                  .cdkkxdddxddolllll,..   ..     ';;'.     ....;ccc:;;;:kOkO:            .... ''cd:...':. ......',..''.       ..'::;.........'......'c
                  ,Okxkxooolllcccllo:'..   ..    .';,.      .;ooc:;ccllloOOOl.. .     .....  .cddl.  ...'   ......''.'.      ..',;,','........'''....,
                   ;oodocloolc:cllc:;,..   ....   .,,.      ,:'....',,:lox0Od.... .,''... ...lOOkd. .. ;:    '..'......   ...';ccc;,;;,...',.',',.....
                         ,clc;'..,,;c:,..   ....   .,,.            .....,cO0k;.'.;:..    .xxddolo;... ,xl.   .'.':'...'.....',::cc;::::,...'...'......
                        .,....      'o:,....   ...  .,,.             ...',oKOc.,;:.      .::'.    .,cdxcl;    '..;;',,,,;:;,;::c:c',;:::;;;,..........
                        .,....      'ol;.....   ...  .;'            ...,;,l00x,:c'    .,'.      .'lxOxl,'c'   ..'',,:;,;cloccc:cc;''.,:cc::::,,,,::;'.
                       .,,.'.      .:ol;...      .....';.             .,',c00kooc.    '..'.    .,okko,,;,;c.   ..;:;c:cc::oolccllc;,'.';::;;,;c:cllclc
                       .;,'..     .,;:c;'...   ........',.            ....;OOxdx;    .'...'.  .ld;... .,;:cc....';cclccllcccc:lddlc:,....',,,,;:;;::co
                      .','..  ;xo:;'';c:;,'.............',... ..     .'...,OOxdx;   .,'...';';od,    ....';::,'',:cclllllolcodxxlc::'.........',,,,,;c
                     .',,..   .okdoxocc::;;,.........'..',.........  ,l...l0kddx:..':;,,...,llo:...........':c:;collllcllollooddccc,,'..........'',,;c
                    ..','.......:odxdlc;,;'.......,;...',;'.... .....,;;clOOxodx:.,::;',,'';,::'......,'..';:cllooolcclloolllcclc:,';,....,......'',:c
                    .','............',,,,:c;'','..':,,,'':'....   .,OOolxOxddoodc.;;,..',,:,'',...'..',''',::ccloooollllllllcc:cc:';c,....'.......',;;
                   .';,................'',:coc;,'';oooddool;.......,Okkxdddoollol::;,..',:;,'',,,'',;;;;;;:::;:lllooocc:c::c:;;cc:;;''''''........',:;
                  .',,'............';:;;;:loddl;,cdxxxxxxdddo:......;xkkddddoolooool;.';::',,''....,c:;,:lccccllcllol;,.,:;;;,;;;,,..'',;,'......';:cc
                 ..;,'.........,loc;;,''.':loddddxxdxxoooodkxxl'......,dkxddddddddoc:,;cc:,,,,''..',:c:clloollloolccc'...,,,;,,,,,..',,;:;;'....:::cc;
                ..;;'..''''''':cl:',.....oxoclxkxdxxdlloodddooxxl:'.....lOkxxxxxxddoc;:l:,,,;;,',;;:c::c:::coooolcccc,'..',,;;'''..',,,;:;;,,,;lolccll
              ...;;,.',,,,,,,odool:'.   .:xxddkxddl:;;:coxdollodxxo;.....lOkOxxddddolccc:;',:ccclc::::c::ccccllcc;;:::,''.,,,;'...........',;cloodolcc
             .',;:;'''''''''.c:,,oc'.....'dkkkoc::;;,;cll::ddooooodd:....;Okkxxddooolc:;clloolooc:;,,;;;;:cllcc:::,';:,'..,;;,,...',,'..'..,clooddll;,
           .',;;;,'....'''...',''........';okdl;,;,''cdol::clcldlccldl....xOdddddooocclodxoooool:;:ccc;,;:clc:;,;:'';,::,,::c,:,.,;;:;','.,:looddldoc.
         ..',..''............,,...........,xdol;:,,,:oocdxddolol::cccdl...'ollcoddloodddxxxol::;:clcc:;;cllc::::::,,;,;c;,cclccc:l:;,;:;;coooddol:ldd,
       ...''..';,............'.....''.....:dooo:,,,;,:lok0kxdooollc:;:oc..;lcloddxkxxddodxdl:;:clllcccccccc:;;;::;,,;;:c::::;;;:::::,clodkxllolc::codo
     .......',',..................,:;,'..'lollcc,...'looOOOxoolodddoodxkdxxxxxxxxxxdooodddolclolcccccc;;;::;;,,,,,;:;::;:c:'.;;;'.,,clodxdd:,;;:ccclod
'...................''......... ..,,.....,loc;:c:..'':d00OOxdddoddxkkkkkkxxxxxxdoodolllooooolllccllll;,::;'.';,...','''',,;;';;;'...:llloll:;;::;;:clo
;,,,'...............,,... ..... .........,coc;;c:'.'.,x00Oxkddddxxxxxkkkxxxxxxdoloxdllllddoolclolllo::::::'...........;,,.,c,,::''..':c:cc:,;;,'..;clo
                                                                                                          ...,c:  ..                                  
                                                                                                           ...:c. ..                                  
                                                                                                           ...;c.  .                                  
                                                                                                           ...,:,  '                                  
                                                                                                            ..';,                                     
                                .,:c::c;.                                                                   ...,;.                                    
                              .lO0kxc;,'....                                                                ...':.                                    
                             .kXOxl,.','.. ..                                                               ....;'                                    
                            .kXKx;..';cll::looooolc;;;,,,,'.                                                 ...,,                                    
                            ;KKx:;cdkkxdOOc:xdl:;ldxdllllodddc,'.                                            ...,:.                                   
                          .'dKOdxkkxoc,':Ox:ol;;;codocc:cloc:cllll:'.                                        ...':.                                   
                         :l'k0Oxxxdoc,'.,kkdl::loodddddllol,,.';,;cll,.                                      ....;;                         ......... 
                     .,:ckkd0Okdol:cc:::o0Oxodoooooollldkkkkxdoc:c;:lol,.                                     ...;l.                       .      ..,'
                    .ll;ckOO0kdc,.....;lk0Okddo;..';....;clc.';ldkOl:coo:.                                    ...,:,                  ...''..  ......,
                        :OkOOkc....'.:OOO0Okkx'....''      .....':lxOolodc.                          ..       ....,;.            ....',;;::cccc;'.'',c
                        oOkOkxl'...;dOOOOkkO0k'.'..'.          .....oOOdoxc.                      .,c;''..... .. ..,.           ...,'....',;:clll:;;,,
                      .ckxkOkxdl,...cdOkxddxxl'..,;,'.         .....,cd0kdx:.                  ..'';cc;:loo:c:,'. .''.          ............';ldolc,''
                     .:xxdkkOkdol:;'..;::l:,.   .,;,'.         ......,;d0xkx'               ...'.,ol;..';''...;:;...'.         .';;,..........';cc;;;:
                   ;okkxddxxxxolllol,..   ..     .;;,.     .  .,:c:;,,,;xOkOc             ... ..;dc'...c'.......',..''.       ..,;:;'........'......'c
                  'Okxxxoooollccccllc'.    ..    .';,.       'lolc::llcloOOOo.. .      .....  ;ldo.  ...'   ......''.'.      ..',;;'''.....'..'''....,
                   :ddddlcdllc:cccc:;,..   ....   .,,.      ,c,....,;;clox0Ox'... ..'''..  ..;kOkd. .. ':    .........'.   ...,:cc:,;;'...',.',',.....
                     ....'lll:,'',;:c:,..   ....   .,,.            ....';ck0k:..''c'..   .lxdxxdxl... .dl.   .'..;'..........,::cc:::;:;...'...'......
                        .,.....     'o:,..    ....  .,,.             ....,lKOl.',:.      .ll;'.   .':ldlo;    '..;;'',',,;,,,::::c,,;:::;,,,..........
                        .,....      .ol;.....   ...  .;,             ..',,cO0x,;c,     ''.       .cxOko,'c'   ...',,;;,;:loccc:cc:,'.';c:::::,'',;;,'.
                       .',...      .;ol;....     .....';.             .,,;cO0Oolc.    .'.'.     'okkx;,;,;c.   ..;;:c::c::lollcloc;,'.';::;;,;c::llclc
                       .,,''.     .':cc;'...    .......',.            ..'.,k0kddc.   .'...'.  .:d:.....,;:c:....';:clccllcccc:lddoc:,...'',;,,;:;:::co
                      .','..  ,ol:,'';::,,..............',..          '.'.'kOxdxc.  .,'...',.,ld,    ....';c:,''';cclccllolcloxxoc::,.........,;;,,,;c
                     ..,,..   .dkdodocc:::;,.........'..',.........  .:...:0Oddxl...;;,,...,clo:...........':c:;:lllllcllollodddlcc;,'..........',,,;:
                    ..','... ...:doxdlc;,;,'......';...'';'..........':;::OOkodxc.'::;,,,'.;;::,......''...,:cllooolcccloolllcccl:,',,....,......''';c
                    .',,..........',,;:;,::;.','..';,,''':'.... ....xko:xOOxdoodl.;:;'.',,;;.','......,'.',:::cloooollllolllcc:cc:,,c;'...'.......',;:
                   .',,................'',:cl:;,'';oloodooc;.......,OOkxddddolllo;;;,...,;;,'',,,'',,;;;,;:::::llloooccccccc:;;cc:;;,'''''........',;;
                  ..,;'............',;;;;;loool;,:dkxkxxxdddd;.'....;xkkddddooloooll;'',::,,,,'....,::;,:lccc:llcclooc,'';;;;,,:;;,'.''',,'.......,;cc
                  .,;'.........,loc;;,,'.,:loddodxxddxoooodkkxl,......;xkxdddoodddol:,;cl:,,,,''..',:c::llooloooolccc,...,,,;,,,,,'.',,;::;'....;:ccl;
                 .,;'..'''''',:cl:',.....oxollxkxdxxdllodddxooxdl:'.....lkkxxxxxxddoc;:c:;,,,,,'',;:c::c:::clooolllcc,....,,;;'',...,,,;::;,',;colccll
               ..,;,'',,,,,,,odool;'.. ..:xkxdkxddo:;;:loxdollodxxo;.....cOkOxxxdddolcccc;',;ccccc:::::::cccclllc:;cc:,''.,;,:,.....''....',;;looddlcc
             ..',;;'.''''''''l:,;ol'.....'okkxolc:;,,;cll::ddooooddd:....,Okkkxddooolc:;:ccolllolc;,,;;;::cllcc:::;,::,''.,;;,,...'','..'..,:looodol:'
           ..,;::;,...'''''..''''........':oxdo;,;,''cdol:;clclooccldl....xOxdddddoolclodxoooool:;::c::;;::lc::;;:,',;:;,';::,;;.';;:;'''.,:cooddlool'
         ..','.''............,'...........;xdol::,,,:oocdxddolllc:cccol...,oooloddlooddddxxol::;:cccc:;;cclc:;;:::,,;,,c:,cclc:c;cc;,,;,;:loodddlcldo;
        ..''...,,............,.....''.....:dooo:;,,:;:lox0kxdooollc:;coc..,lcllddkxxdddddxdoc:ccllccllccccc:;;;::;,,;;:c::c:;;;c:c::,:lloxxololc:ccodo
     .......',,,..................,:;,'..'colllc,...'oooOOOxoolooddooddxddxxxxxxxxxdooodddolllolcccccc:;;:::;,,,,;;;:;:::cc,.;;;,',;:loddxx:,;::::clod
............''......''............,,'....,loc;:c:..'':dO0OOxdddoodxkkkkkkxxxxxxdooddlllodooooloccllll:,;:;,.';,...',,''',;;;';:;,...:llooolc,;;::::clo
;;,''...............''......... ..'......,clc;:cc'',.,x00Oxkodddxkxxkkkkkxxxxxxoloddolllodoolclollloc;::::,...........,,,.':;,::'...'cc:ccc;;;;,..,clo
                                                                                                           ..':l.  .                                  
                                                                                                           ...:l.  .                                  
                                                                                                           ...;:'  .                                  
                                                                                                           ...';,  '                                  
                                    .                                                                       ...;:                                     
                                .':c::c;.                                                                   ...,:.                                    
                              .cO0kxc:,'....                                                                ...';'                                    
                             .kK0xo,.''''.                                                                   ...,,                                    
                             dXKx:...;ccc::colooolc;,;,'''..                                                 ...,;.                                   
                            ,KKx:,:oxkkxOOc:dxoc;cdxdlllloddd:'..                                            ...':.                                   
                          .'dKOdxkkxoc,';Oxcol:,,codoc:cclolccllll:'.                                        ....;'                                   
                         ;o.x0Oxxxxoc,'''xkdo::looddddolcol,'.';;;cll;.                                       ...;;                         ........  
                     .';:kko0Okdolccc:;:lOOxooooooodlllxkkkkxdlc;:;;ldl,.                                     ...;l'                       ..    ...,.
                    .oo:ckOO0Odc;'....,ck0Okxdo:'.';....;lol,,;ldkkl:coo:.                                    ...,:;                  ...''..   .....'
                        ,OkOOkl.....';kOO0OOkx,....''      .....,;okkolodl.                                   ....,;.             ...',;;::cccc;'''.,c
                        lOkOkxl....,dkOOOkOO0k,.'..''          ..'..oOOdoxl.                      .'::'..  .  .....,.           ..','....',;:cllc:;;,,
                       :kkkkkxdl,...cdOkkxxxkd' .,,''.          ....,ld0xdxc.                   .'',::::colcc;'....',.          ............';looll;,.
                      ;dkdxOOkdol:;'..;cclc;'.  .,;,'.         .... .,;dOkxx,                ..'..co:...;;,...;:;...,.         .';;,..........';ll;;;;
                   ,lxkkdxxxxxdlllll,..   ..     .,;,.    ..  ..;:;,'',;xOkOl              .....'ol,...:, ......';..''.        .,;:;'........'.......:
                  'Okxxxoooolllcccllc'.    ..    .';,.       .colc:cllcclkOOx.  ..     .....  ,cdd'  ...'   ......''.'.      ...,;;,,'........'''....,
                   cddddllollccccccc;,..   ....   .,,.      .l:,..',,;cood00k,...  ...'..    'dkxd. ....:    ....'....'.   ...';cc:;;;'...',..,,,'....
                     ....,ool:;,,;:::;,..   ....   .,,.      .     .'..':cxKOc..'.:,...   ;oodOkkd'....dl.   .'..;'..........';::c:c:;:;...'...'......
                         ,.....     'l:,..  . ...   .,,.             ....,l0Oo..':,      .ddc,.....';ldoo:    ''.,;'.'',,;,'';:c:c,,;:::;,,,..........
                        .,....      .ol:.....   ...  .;,             ..',,:k0x,,:;     .'        .:dkkd;,c'    ..',,,:,;;loc:c:c::,'.';:::::;,''',,'..
                        ';....     .,ol:.....    .... ';.             .,,;ck0Oocl'    .'.'.     .lkOx:,;,;c.   ..,;::cc:;:lollccll:,'.',::;;;;:::llccc
                       .,,''.     .':cl;'...     ......',.            ..'',d0kdoc.   .'.....  .:oc'....,::cc.....,::cllllccccccodoc:;'..'',;;,;::::cco
                      .';,'.  'lc;''',::;'..............',..          '.'..dOkdxc.  .'''...,..cd;    ....,;c:'..';ccllcclllclodxol::,.........';;,,,;c
                     ..,,'.   .dkdodlccc:;;'............','..  ....  .:...,OOxdxl...;;,,...'clo:...........';c:;;cllllcllollodddocc;,'.''.......',,,,:
                     .,,'.. ....cdoxdlc:,;,'......',...',;'...........::;;xOkddxl..;:;,,,..,:c:,'.....''...,;clllooolllllolllllllc;',,....'.....'''';c
                    .',,.........,,;;::;,::,.','..';''''':'....  ...oxc;dOOxdoodl';:;,.',,;;'',.......,'..,:::clloooolcloolllc:clc,'c:'...''... ..'';:
                   ..,;................'';:cl:;,'';llloolol,........Okkdxxxdolloo;;;,...',;,''',;'',,';;,;:::::lllooolcclccc:;;:c:;,;.''''........',;;
                   .,;'.............,;;;;;coool;,:okkxxxxdddo;.'....cxkkddddoolooolc;'.';:,,,'''...'::;,:cccc:clcclooc;',:;:;,;:;;,,..',,,'.......,:cc
                  .,;,.........,clc;;;,'.,:ooododxdddxoooodkxxl'.... .:kkxdoooodddol:,,:c:,,;,''..',:cc:lloolloolllcl;...,;,;,,,,,'..,,;::;,....,::cl:
                 .,;,..'''...':cl:','...'oxoclxkxddddlloddddooddl;......okkxxdxxxddoc;;:c;,,,,,,',;:c::::::lllloollcc;'..''';;,,,'..,,,;:::,''':llccll
               ..,:,'',,,,,,,odoll:'..  .:xkxdkxxdoc:::loxdolldxxdo,.....lOOOxxdxddooccc:;',;:cccc:::::::cccclllc:;cl:,''.';;:'......'...',,;;cloddocc
              .',;;'''''',,,,oc;;ol'... .,okkkocc:;,,;col:codooooddd:....'kkkkxdddooocc::clllloolc;,,;;;::cclcc::c;,;:,''.';;;,....'''.....,:coooool:,
           ..';;:;,...'''''..'''''.......':okdl;,;,',cdol:;clccooccldl....xOxdddddoolccloxoooool:;::::;,,;:cccc;;:,',;;:,';::,;;..,;:;'''.';cloddoool,
          .',,'''............,,......... .;xdol;:;',:oo:dxddllllc::ccdl...,dooooddoooddddxxolc::;:ccc:;;:cllc::;::,,,,,::,cclc:c;:c;,,;,,:clooddoccdd:
        ..''...,'...........',............:dooo:;;,:;:lokOkxdooollc:;:oc..'c:clddkxxxddddxxoc::cllcclccccclc:;;;;;,,,,;c:;::;;;c:cc;,;lloxxolollcccldo
     ....'...,,,..................,:;,'..'lolllc,...'looOOOxoooooddolodxoddxxxxxxxxdoooodddoccolcccccc::::::;,,,,;;;:;::::c,',;;,',;:ooodxxc,:::::clod
...........'''......''......... ..,;,....,lo:;cc:..'':dO0OOxdddoodxkkkkkkxxxxxxdooddolloolooolll:ccllc;;::,'',;'..','''',;::',;;,...:llodolc,,;::::cld
;,'''...............''......... ..''.....,loc;:c:'',.,xK0Oxkdoddxkkkxxkkkxxxxxxollddolllldooocllcllll:::::,........''',,,.'::,:;,....cl:cll:;;;;''':cl
                                                                                                           ...;c.  .                                  
                                                                                                           ...;c'  .                                  
                                                                                                           ...':,  .                                  
                                                                                                            ...;:  .                                  
                                                                                                            ...,:. .                                  
                                 .:c::c;.                                                                   ...':'                                    
                              .;k0kxc:,,'...                                                                 ...;,                                    
                             .dKKko;'''''. ..                                                                ...,;                                    
                             lXXkc'..':c:;;:lclllc:,',,'....                                                 ...':.                                   
                            .0Kkc,:ldkkkOOl:dxoc:cdxdlcllodod:'..                                            ....;'                                   
                          ..lK0ddkkkdl;';Ok:lo:;;:oddc::clooclolol;'                                          ...,,                                   
                         'l'd0Okxxxdl,'''xOdo:;:loodddolccl,..';;:clc;.                                       ...,;.                         .......  
                      .,;kklOOkxollllc;;:kOxooooooodddddkkxxdol:,;,;loc,.                                     ...,c,                       ..     ..,.
                     ldclkOO0Oxl;'...'':xOOkdddc,'':'...:odd:,:ldxkl;coo:.                                    ....;:.                  ...'..   .....'
                        .kkOOkl......,dOO0Okkx:....''    .......,cdkkocodl'                                   ....';'             ..'',,;::::::;'.'.':
                        :OkOOxl....'lkOOkkOOOO;.....'           .'.'oOOdoxl'                       .,:'..     .. ..,'            .';,....',;:cllc:;,,;
                       ,xkkOkxdl,...lxOOkxdxkx;..,;''           ....,ld0xoxl.                   ..',;:;;cccc:;... .',.          ..'.........';looll;,.
                      'dkdxkOkdol;,'..:lool:,.  .,;;'.          .....,;dOxxx:                 .''.;ll,..;c:'..:c;...''          .,,,..........';lo:;;;
                   .:oxxxxxxxxdlllol;.    ..     .;;,.         .','..',;dOkkd.              .....cdc'..;:.......';..''.        .,;:;,........'......':
                  .kOkkxdooollllllllc'.    ..    .',,.       .,lllccllc:cxOkk'  ..      ....  .;ld:.  .,'   ......''.'.      ..',;;,,'.........''....'
                   lxdddoloocccccccc;,..   ....   .',.      .:o:,'';;;loooO0O;....  ...'..    ckxd'  ...;.   ..'....'...    ..';cc:;;;,....,..',,'....
                    .....'oxoc:;;::::;,..   ....   .',.     .'.    .,'';clx0Ol..,.,;'...  .:cokkOkc ...co.    ''.''..'.......';::cc:;;;;'..'..''......
                         ''.''.    .'l:,..    ...   .,,.             ....,lO0d'.,,:.     .dxoc;'''..,;odo:    .'.';'.',,',''',:::c:,:::::,,,..........
                        .,....      .ll;......  ...  .;'             ...',:d0k,.,;.    .. ...    .:oxkx:,c,    ..';,,;;,;coc:::c:c;'.';::::c:'........
                        .,....      'ol:.....    .... ';.             .,,;:o0Oo::'.   .'''.     .cxkkl;;,,:.   ..';::c::::loolccll:,''',:c:;;;:::clcc:
                       .',''.     ..:cl;....    .......',.            .''''l0Oxoc'    ....'.   ,oc,,...,;;c:. ...':ccllllc:llccodol:;'..'',;;,;:cccccl
                       .,,'.. .::,''',::,'..............',..          ..'..c0kddc.   .'....'..:d:.   ...',;c:...',:clllllloccloxdl::;........',,;,,;;c
                      .','..  'xkdooc:cc:;;'.............,'.. .....   ,....d0xddl' .,;,,...,:ldc.   .....'.';c:,,:clllclllollddddcc:,,'.'......'',,,,:
                     .',,. ....'ldoxdlc:,;;'.......,....',,......... .c:''l0Odddo'.;:;,,,..':cc;'......'...';clccooollllloolllllll:,';'....'.....''',c
                    ..,,.........;:::cl:;::,.'''..,;'...':,....  ...;l:,lkOkxdddo''::,''',,;,,;'......,,..';::cloooollcllolllc::cc;':c'...''.......',:
                   ..,,'...............'';:cc:,'''':clllloc,........kOkddxxddolod;,;,...',;;,''''''''',;,,;::cccloooolclllclc:;:cc:,:,.'''.........';;
                   .,;,.............',;;,;cldol;';oxkxxxxdddl;.'....ckkxddddooloolcc,'.',:;,'''''..';:;;;cc:c;:llcllol:;,:;::;,::;,,..'',,''......';:c
                  .';,.........,clc;:;;,',:ooododxxddddooodkxxc'.....'lkkdddoooddoolc,';cc,,;,.'..',:cc:clllllooollloc'..';,,;,,,,,..',;;:;,.....;:clc
                 .';,...''...';cl:','...'ldoccxkxdxddolododdooxdc;.....'dkxxxdxdddolc;,cc:;,,,,,'';:ccc:c::lloooollcc:'...',,;;,,'..',,;:c;;''',clc:cl
               ..';;..,,,,,,,odooc;'..  .cxxddkxddol::cloxxdoodxxdl,.....lkOkxxxxxdol::lc;,,;c::ccc:::::::cccllllc::lc;,'.',,;,.....'''.',,;;;:loodocl
              ..';;'''',,,,,,dc;:ol,... .,dkkxoll::,,:cllccodloodddd;....'kkkkxdddddolcc::cllllolc:,,;;;;::ccllccc:;;:,''..;;;,.....'......';cloooooc,
            ..,;;;,...''',''.','''.......':okdl;,,,''cdol:;clccooccldc....xOkxddddoolcclodooooooc;;;::;;;;:cccc:::,',;;;,',;:;,;..';;;,''..,:lloddool;
          ..,;,,,'.....'''..',,...........;dddl;:;',;ol:dxoollll:::cldl...;xxdooddoooddddddolcc:::clc:;,;:clc::;;;,,,,,::,:llc:c:;c:;,;;,,:looddolcodl
        ..'''..''...........',............:dooo:;;;c;:loxOkxdoooolcc;:oc...:cclodxxxxddddxxol::cllcccc::clll:;;;;;,,,,;c:::::;;:ccl:,,clldxdooolcccldd
      ...'...',,.......'..........';;,,'.'colllc,...'looOOkxoooodddocodxlldxxxxxxxxddooodddoccllcccccccc::::;;;;;;;;::::c:c;,,;;;,;::coddxxo;::::::cod
............,,......''............,;,'...,lo:;cc;...'cdOOOOxdddoodxkkkkkkxxxxxxxooddolloolooolll::cccl::::,'',;,..',,'''':::'';;;'..;lloddll;,;;:ccclo
;,'''...............''............,,.....,lo:,cc:'',.;xK0Okkdoddxkkkxxkkkxxxxxxdllddolllooooocllcclllc;:::,........''',,,'';;,:;,...'llcllcl;;::;,';:c
                                                                                                           ...:l'  .                                  
                                                                                                           ...,:;  .                                  
                                                                                                           ...';;  .                                  
                                                                                                            ...,:. ..                                 
                                                                                                            ...':' ..                                 
                                 .;::::;'                                                                    ..';,                                    
                               ,k0kxl:,'....                                                                 ...,;                                    
                             .oKKkd:'',''..                                                                  ...':.                                   
                             cXXOl'..';::;;:cccll::,'','....                                                 ....:'                                   
                            .OXOc,;ldkkkOOl:dxdlccdxdlclloodo:'..                                            ....;'                                   
                          ..cKOddkkkdl:,;kkclo:;;:lddlcccllollolol;'                                          ...,,                                   
                         .o'o0Okxxxdl;'''oOdoc;:ooodddol::l;..';;:clc;.                                       ...':.                         .......  
                      .',xkckOkxoolll:;:;xOkoooloooddddxkkkxooc;,;,;lol,.                                     ...':;                       ..    ..',.
                     cdllkkk0Oxo:''''',:dOOkxddl,'':,...:odd:;:ldxxc;coo:.                                    ....:c.                  ......   .....'
                        .kOOOko'.....'oOO0Okkkc....''   ........,cdkxocldl'                                    ...,;'             ....,,;:::c::;'.''':
                        ;OkOOxo'....cxOOOkOOOO;.....'           .'',oOOdoxo,                        .;'..      ....,,.         ...';,''.'',;:cllc:;,,;
                       .dkkkkxdl,...lxOOxxxxkkc..,,,'           ....,ldOxoxo.                    .',;:;;:::::,... ..,'          .',.........,;lolll:,.
                      .okxxkOkddl;,..':oddoc;.. .';;'.          .....,;o0kdxc                  .'.':l:..,cl;.':c;. .',.         .,,'..........':lo:;;;
                   .,ldxxxxxkxdlllol;.   ...     .;;'.          .'...',;oOxkd.              .....;ol,..':'......,:'..'.        .,;:;,........''.'...,:
                  .xkkkxooooloolllllc'.    ..    .',,.       .':clcccc:;:xOkk,   .       .... .;:dl'. .,;   .....'''.''.      ..,,;,,,.......'''.....'
                   okxdxoloocccccccc;,..   ....   .',.       ,ol:,,;;:llooOOO:....   ......   ;xxo'  ...;.   .......'''.    ..',c::;;;,....,..'',,....
                    .'''.'ddoc:::::::;,..   ....   .',.     .,.    .,,';lld0Oo..,..;,'... .,;ckOkOl....:o.    .'..'...'.. ...',:cccc;;;;'..'..'''.....
                         ',',,.   ..'c:,..    ...   .,,.             ....,ck0x'.,':..     okdoc;;;..',ldd:.   .'..;,.',,''''',;::c:,;:::;,,'..........
                        .,'...       cl;......  ...  .;,             ...',:d0k;.;;'     . ';.     ,lxkx:,c;    .'.;,,,,,;clc;:cc:c:''';:c::c;'........
                        .;....      .ll:.....   ....  ';.             .';;:l0Oo;:;.    .''.     .;dkko:;',:.   ..',;;:::::ldllccll:;''',:c:;;;::;:lcc:
                       .',''.      .:cl:'...    . .....',.            ..'',c0Oxlc'    .'..'.   'll;;,..,;;:c.  ..'::cclllc:lllcldolc;'..',;;;;;:ccclcl
                       .,,'.. .;,'.',,::,'..............',..          ..'..;Okddl'   .'....' .:dc.    ..',;c:...'':clllllloccloxxoc:;'.......'',;;,;:c
                      .',,.   'xkdllc::c:;,'.............,'.. .....   ,....cOkddo'  .;,'...,:loc.    .....',;:;,,;ccllccllollodxdlcc,,,.........',,,,;
                     .',,..   .'odoxdlc:,;;,.......'....',,...........cc'';OOxdxo'.';;;,,..':ll;.......'....,clcclollllcloolllllllc;','....'.....''',:
                    ..','........:ccllcc;::'.'''..';,...';,..... ...'c;':xOOkdddo'.::;,',,';;';,......,,'.',;:cllddoolclloollc::cc:';l,....,.......',:
                    .','..............''';:cc:,,,'':ccclclc'.... ...x0kddxxxdoood;';,'..',:;'''''''''',,'',:::ccloooolcclllll:;:cc:,:,.,'''........',:
                   .';,.............',,,,,:lool;',lxxxxxxdddl;.'....lkkxddddoolloc::;'.',;;,'''','..;:;;;:c::;:clcloooc:;;:::;,:::;;'..',,''.......,:c
                  .';,.........,ccc;:;;,',:ooodloxxddxdooodkxdc'... .,okkdddooooooolc,.;:c,';;.....,:cc:lololloolllllo;''';,;;;,,,,'..,,;:;,.....;;clc
                 .';,'.......';cl:,,'....ldoccxkxdxddooooodxddxdc,.....,xkxddddddddlc;,:cc;,,,''',;::c::c::llllooolccl'...',,;;',,'.',,,:c:;''.':ll::l
                ..;;'.',,,,,,odooc;'.....cxxddkxxddlc:cloxxdoodxxdl,.....okkkkxxxxdol::cc;,,;::cccc::::::::ccllllc::cc;,'.',,;;......''.',,;,,;cooodll
              ..';:,.',,,,,,,dl;:dl,... .,dkkkdllc:,,;clolcodloodddo;....'xOOkxdddddolccc::llllolc:,';;;;::ccllccc:;::;''..,;;,............';;coooolc,
            ..',;;,..'''',''.','''.......,:dkdl;,;,''cdol:;clc:oollodc....dOxxxddoddocccldooooooc:;;::;;,;::ccc:::,',;;:,',;:;,;'.',;;,.''.';cloododo:
          ..,,;;;,'...'''....,,...........;dddl;;,'';oo:ododlcllc::clxl...:Oxddddooododxdddolcc::;:cc:;,;:cccc::::,,,,'::,:llc:c:,;:;;;,,,;clodddo:odl
        ...,'..''...........',............:dool:;;;c;:llxOkxdooooccc;co:...clllodxxxxdddddxol::ccllccc:;:cllc:;;;,,,,,,::;::;;::ccl:,,:ccoxdooollcccod
      ...'...',,.......'..........',,'''..colll:,...'looOOkxoooooooo:ldxccoxdxxxxxxdddddoddoccllccccccccccc:;;;;;;;;;;:cc:c:,';;;;;::cooddxo::c::::cod
............,,'.....''............,:;'...,lo:;cc;...'coOOOOddddoodxkkkkkkxxxxxxxdoddolloolooolll::cccccc::,',,;,'..,,,''';cc'.,;;'.';lloxdoo;,,;:::clo
,''.................''............','....,lo:;cc:..,.;xK0Okxdoddxkkxxxxkkxxxxxxdllddolllloooocll::clllc:::,........',',,',';;,;;;'..,cllolco:;;::;,;:l
                                                                                                           ...,:;  .                                  
                                                                                                           ...,:;  .                                  
                                                                                                            ...;c. ..                                 
                                                                                                            ...,:. ..                                 
                                                                                                            ...':' ..                                 
                                 .;:;:::'.                                                                   ...,,                                    
                               ,x0Oxl:;,'...                                                                 ...,:.                                   
                              lKKkd:'''''..                                                                  ...':.                                   
                             :XXOl,...,;;;;:c:ccc:;''''....                                                  ....;'                                   
                            .kXOl,,cdxOOOOo:oxdlccdxdollllool:'.                                              ...,,                                   
                           .:K0xdxkkxo:,;kOcldc;,;lddlcccloooooolc;.                                          ...';.                                  
                         .l,c0Okxxxdl;'..o0xdc;;lloddool::c;..';;:clc;.                                       ...';.                         .......  
                      ..'okckOkxoolclc;;;d0kolloooodddxxxxkdol:;,,,;lol;.                                     ....;;                       ..   ...',.
                     :dolkOk0Oxo:,''',,;o0Okxdol;,,:;...:oxxl;:ldxx:,:oo:'                                     ...;c.                  ......     ...'
                      . .kOOOkd'......lOOOOOkxl.....,.   .......,cdOxlcldl,                                    ...';,              ...,;;;::::;,'.''';
                        .kkOOko'....:dOOOkOOOOc.....,          ..'',o0Odlxd,                        .''..      .. .',.           .';;''''',;:lloc:;,,;
                       .dOkOOxdl,...lxOOkxxxkOl..',''.         .....,lx0xoxo'                     .';:;,;;;;;'... ..'.          .',.........,:colooc,'
                      .lkxxkOkxdl;,..'cddddc:'...';,,.         .... .,;o0kdxl.                 ..'';lc,.,co:',:c;. .''.         .,,,..........':loc;:;
                    .:oxxxxxkxdlloll;.......     .,;,.          .....',;oOkkx'               ..'.'ld;...;;.... .;:'..'.        .',;:,.........'.''..,:
                  .dkkkxdooooooccllll,.    ..    .';,.        .,:cccc:;;;oOkk:   .        .....',oo'.  ,;. .......''.''.      ..,,;,,,.......''......'
                  .okxxxoloolccccccc:;..   ....   .,;.       .loc;,;;:llllOOOl....    .....   'oxo;   ..:.   .......''..    ...,c::;;;,....,...',,....
                    ',,,''dxoc:::::::;,'.   ....   .',.     .:,.  ..,,,:loo0Od..''.,,'...  .',dOOko. ..;o.    .'.....''.. ...',:cccc:;:;'..''.''''....
                         .,,,,..  ..'c:,..   ....   .,,.            ....';cxOk,.,.;'.     :kdddc:c,..,cdd:.   .'..;'..',,''''';::c:;::::;,'''.........
                         ''....      cl;......  ...  .;,             ...',;l0O:.;;;       ,c;.    'cdkkc,c,    .'.;;,,;,,:lc;;c::c:''';:::;::'........
                        .,'...      .ll:'....    ...  ';.             .',;;cO0d;c;.    .''       ,dxkd:;'':.    ..,;;;:;;;collccloc,'''':c::::;:;:cc:;
                        ',''.      .;co:'...       ....',.            ..'',:k0xol,.   .'..'.   .co::;..,;;:c.  ..':::clllc;lolclddlc:,'.',;;;,,:ccllcl
                       .,,''. .,'..',,c:,'..............,;..          .....,kOxdo'.  .''...'. ,dl.    ..';;c:....';ccllllllccloxxol:;,.......'';:;,;:c
                      .',,..  .xOdll:;:c:;,'.............,'.. .....   ''...,Okddo'  .,,'...';:ol.    .....',;:;,';cclllclllloodxdlcc;,,.''......',,',;
                     .',,...  .,ddoxdlc:,;;,.......''...',,......... .;c'''xOxddo,.';;,,'...:ol;............,:cc:clllllclooollllolc:',,..........''',:
                    ..','........cooool:;;:'.'''..';,...';;..... ....;,,;ok0kdodd,.;:;,',,',:;;,......','..,::clloddolcllooolcc:cc:,,c;....,.......',:
                    .','..............,,,;:c:;,,,''::::cclc'........lOkookkxdolod;':;'..',;:,.',...'..',''';::ccloooolcllllllc::ccc;::''''''........,:
                   .';,..............',,,,:lool;',lxxkkxxdddl,.'....lkkxddddoolool::;'..';:;,''',,..,;;;;;c::;;cllloooc::::;:;,;:::,'..',,''.......';c
                  .';;'........':cc;;;:;,,:ooddlldxddxoododxxxc'.....,dOxdddooooooolc,.';:;',;'....';cc:cloolllolllllo:''';,;;;;;,,'..',;:;,'....,;:ll
                 ..,,'.......';co:','...'ldoccdkxddddooooodxddddc;.....;xkxddddddddlc;,:cc,,,,'''';:ccccc::llloolollcl,...',,;;,,,'..',,:::;,...;cc:cl
                ..;;'.',,,,,,odolc;'..  .lxxddxkxddlc:cloxxdoodxxdl,.....dOkkxxkxxdol:;cc;,,;;::ccc::::::::ccllollc:ll:,''.',;;'....',,'',,;,,;cooodll
              ..';;,'',,,,,,,dl::dl,.  ..,dkkxdolc:,,:clollddooodddd;.....xOOkxxxxdoolccc::llollll:;,,;;;::cccllcc:::::'...,;;;'...........',;clooooc,
            ..',,;;..'''''''.',,''.......,:okdl;,;,'':dol:;clc:lollodc....dOkkxxdddoolccloooloooc:;;:::;,;;:cccc:c;,,;;:;'';::,;'..,;;,.''.';:loooodo:
          ..',;;;,'..'''''...,,...........;xddl;;,',;oo:ododlcclc::clxl...:Okddddddddddxddddocc::;:cc::,,;:cccc:::,,,,';c,;lcc;:;,;;;;,,,,,:looddo:odo
         ..,,.'''...........',............:dooo:;;;c;;ccxOkxdooolccc;co:...coloodxxxxdddddxol::ccllccc:;:cllc:;;;;,,,,,::;:c::::c:l:;,:cclddoddolcccod
      ....'...,,.......''..........,,,'...colllc,...'cookOkxooooodol:coxc:odddxxxxxxddddoddolcllccccccccccc:;;;;;;;;;;:cc:c:,',;;;;c:cloodxx:clc::c:cd
............,,'.....''............,:;,'..,lo:;cc;...'cdkOOkxdddoodxkkkkkkxxxxxxxdoddollodoooolll::ccccc:::,',;;,'.',,,,'';:c,.,:,,'';loodxdo;,,;;:cclo
'''.........''......''.............,,....,lo:;cc:..,.;dKKOkxddddxkkxxxkkkxxxxxxdooddolllloooolll::clllcc::,...'....,,'''';;;;';:;;..;lllodll:,;:c:;::c
                                                                                                           ...,::  ..                                 
                                                                                                           ...';:  ..                                 
                                                                                                            ...,:.  .                                 
                                                                                                            ...';'  .                                 
                                                                                                             ...,,  .                                 
                                 .,:::::'.                                                                   ...,;                                    
                               .dOOxo:;,'...                                                                 ...,:.                                   
                              :KKOdc'''''.. .                                                                ....;'                                   
                             ;KX0o,...';;,,;::::c:;''.'....                                                   ...,,                                   
                             xX0o,':oxOOO0d:oxdocldxdollllool:..                                              ...,;.                                  
                           .,00xdxkkxoc;,xOccdl;;;codlcccloooooooc,.                                          ...':.                                  
                         .c,c0Okxxkxl;''.c0dol:;cloddolc::c:'.';:;clc;.                                       ....;'                         .......  
                       ..lk:x0kxdooclc;;,d0Oolllooodddxxxxxdoc:;',,;cll;.                                      ...;:.                      ..     .',.
                     ;dolxOkO0xd:,,'',,,lOOkxddo:;,:;...:oxdo:coddx:,:oo:'                                     ...,c'                  ......     . .'
                      .. xOOOkd,......:kOO0Oxxo'....,.   .......,cxOxl:lol,                                    ...';;.             ..'';;;::::;,'..'',
                        .kkOOko'....:oOOOOOOO0l.....,.         ..',;oOOdldd;.                        .'..      .. .',.           ..;;'..'',;:cllc;;,,:
                        lOkkOxdl,...lxkOkxxxkOd..',.'.          ....'lxOxoxd,                     ..;c:,,,'';'......''.         .,;.........,:cllooc,.
                      .ckxxkkkxdl;'..'lxxxxol;....;;,.         ......';oOkdxo.                  .'',cl;',:ol',:c;. .''.         .,''..........':lol;:,
                    .,lxxxxkkkdoooll;.......     .,;,.          ......';oOkxx,               ..'..:dc...':'... .;:'..'..       .';;:,.........'.''.',:
                  .okkkkdooooooccllll,.    ..    .',;.        .';:c::;,,;oOkkc   .         ....''ld:.. ':.. ......,'.''.       .;,;,','......'''......
                  .dkxxxdooolccccclc:,..   ...    .',..      .cdl:;::clllck0Oo.. ..    ....   .cddc.  .':.   .......''..     ..,c::;;;,....'...',,....
                    ';;;,,dxol::ccc:;;,..   ....   .''.     .::.. ..,,,:loo00x'..' ',''... ...oOkko. ..,o'    .'.....''.. ....';clcc:;;;'..''..'''....
                         .;;;;'.....'c:,..   ....   .,,.            ....';cx0k:.,',;..    ,ddddoooc..':dxc.    '..,'..','..''',::::;::::;,''..........
                         ''....      co;'.....  ...  .,,              ...,;cOOc.,,;       :oc,.   .:oxkl;l;    .'.,;,',,;;lc;;:::::,'';:::;::'........
                        .,'...      .cl:'...... ....  ';.              .,;;:O0x,c:'    ..'.      'oxkxc;'':.    ..';;;:;;;colclcllc;'''':c::::;;,;cc:;
                        .;''..     .;lo:'...       ....,;.             .',,;k0kol:.   ....'.   .:occ:..,:;;c.  ...;::clllc;looclodo:;,'.',;;;;,:ccllcl
                       .,,''. ..'..',,c:,'..............',..          .'.'.'xOxdo;.  ..'..... 'oo'.   ..';;cc.....,ccclllllcclldxdo:;,......''';::;;:c
                      .',,..  'xkdlc;;:c:;,'.............,'.. ...     .,...'kOddo,. .,,'...';:ol.     ....';::;'',:ccllclloolodxxocc;,,..'......';,'';
                     ..','.   .,ddlddoc:;;:,.......'.....',...........,l''.lOkddd;..;;,,'...:ll:............':cc::cllllclooollooooc:,,,..........'',,;
                    ..',,.......'coddoc:;;;'..''..';'...,,;..... .....,;;loOOxodd;.,:;,,,'.':;:;'.....',...';:clloodolcclooollc:clc,'c:....'.......',;
                    .',,..............,,,:ccc;,,,'.::::::cc'........c0OllxOxddood:':;,..',;:;'',......','.';::ccloodolcllllllc:::c:;;:''''...... ...,;
                   .';,'.............'',,,;lool;',:dxxxxxdddl,.'....ckkkddddoollol;:,'..',:;,'.',,'',;;,,;::;:;:cllooolc:::;:;,;c::;,..',,''.......';:
                   .;;'........':c:;;;:;,,:oooolldxddxoooddxxxc'... .;xOkdddoooooool:,.',:;',,'.....;cc:coooolloollllol,'';;;;,;;;,,..',;;;,'.....,:ll
                 ..,;'..''...',co:,,'...'ldocldkxdddddoloodxddxoc;.....:kkxdddddddolc;';cc;,,,'''',:cccccc:lololllolcl;...',,;;,,,'..',;;::;,...':c:cl
                ..,;'.'',,,,,lool:,'..  .lxxdoxkxddocccloxxdoooxxdl,....'dOkkxxkxxdol:;:c:,,,;:::cc::::c:::cllllllccll:,''.',;:'.....,,'',;;;;,:looool
               ..,:,'',,,,,,;xl::do,.....,dkkxdolc:,;:cldolddooodddd:....'xOOkxxxxddocccl::clollll:;,,;;;::cccllcl:::::'''.';;;'.....'...'.';;:looooc,
            ...',;;'.'''',''.',,','......,cokdl;';;,':ddo:;clc:clllodc....oOkkxxdddddlcllodoloooc:;;;:;;;;;:::ll:c:,';;:,'',;:,,'..',;,..'.',:loooooo:
           .',;;;;,...'''''..,,...........;xddl;;,'',ld:odoolcclc::cldc...:0kdddddddoodxxddolcc::;:cc::,,;:ccccc::,'',,,:,;lcc;::,,;;;;,,'';cloddoccdo
        ...''.'''...........',............:dooo::;;:;;clxOkxdloolc:c;co:...ldooodxxxxxddddxdl::ccllcc::;;:llc:;;;;,''',;::;c:;::c:cc;,;c:cddoodoolc:ld
      ....'...,,.......''...'......',''...colll:,...'cookOOxoooooool:cldc:cdddxdxxxxdddddddollllllcccccccccc:;;;;;;;;;:ccc:c;',;::;:::loodxxc:llc:::cd
............',''..................,:;,'..'lo:;cc;...'cdkOOOxdddoodxkkkkkkxxxxxxxdoddollodoooololc::cccccc:,',;;,'.',,,,'.;:c,.,:;,'';coodxdo:,,,;:cclo
''.........'''......''..... ......';,'...'lo:;cc;..'.;dK0Okxdoddxkkxxxxxkxxxxxxdooddolllloooolll:;:lllcc::,....'...,;'''.,;;:',:;,..,cooodllc;;;:::::c
                                                                                                            ..':c.  .                                 
                                                                                                            ...;c.  .                                 
                                                                                                            ...':'  .                                 
                                                                                                            ....;,  .                                 
                                                                                                             ...,;  .                                 
                                 .,:;;::,.                                                                   ...':.                                   
                               .oOOko:;,'...                                                                 ....;'                                   
                              :0KOxl,',,'.. .                                                                 ...,,                                   
                             ,KX0d;....,,,,,:::;:;,'.......                                                   ...,;                                   
                             dX0d,';ldkOO0d:lxdolcoxdolllcloc:.                                               ...':.                                  
                           .'O0xodkkxdc;,d0lcxl:;;codocccloodddol:,.                                          ....;.                                  
                          :;:0Okxxkxo;'''c0xol:;cloddolc:;::'.';::llc;.                                        ...;,                         .......  
                       ..:kcd0kxddoclc;,,l0Ooclooooodxxxddxdlc:;',,;cll;.                                      ...,:.                      ...   ..',.
                     ,odoxOOO0kdc;,,,,,,ck0kxddoc;;::''':dxxdclodod:,:lo:'                                     ...,c,                  ......      ..'
                      .. dOOOOd,......;dOOOOkdo,....,.   .''....,cxOdc:loo,                                    ....;:.             ..'';;;:::;;,'..'',
                        .xkOOkd,....,lkOOOOOOOl.....'.         ..,;:oOOdodd:.                         ..       .. .','            .;:,.''',;:clol;,,,:
                        cOkkkxdl,...lkkOkxxxkOx..',''.          ....'lk0xldx;                      .,c:,,,'.'. .....''.         .';'.......',:cllool:'
                       :xkxkkkxdl;'..,lxxxxdoc....;;,.          .....':oOkddo.                  .'',:c:,;:lo;;::,. ..'.         .,''..........,:lol,;,
                     'cxkxxkkkxoooll,.....'..    .,;,.          ......';lOxdx;                ..,.;ol'...;;'....;:'..''.        ';;:,.........'.'''';:
                   ckkkkdddooooccccll'..   ..    .',;.        ..,::;;,,,;lOkOo.   .        ......:dc'...:,.  . ...,'..'.       .,,;;',.......''.......
                  .dkxxxoooolccccclc:;..    ..     ','.       ;ooc;::clclcx0Od.....     ..... .;lol.   .:.   .......''...    ..,cc:;,;,.....'..',,....
                   .,:::;,oxol::ccc:;;,..   ....   .''.      :c,....,,;coolOOx,..'..''''..  ..;kkxd'  .,l,    ........'..  ...';cccc:;;;'......','....
                         .;;;:,.....,::,.    ....   .,,.            ....,:cd0Oc..,':'..   .lodxxdxo,..;oxc.    .'.''..'''.....,:::c:::::;,'''.........
                         .'....      :l:'.....  ..   .,,              ...';ckOo.'';.      ;xo:,. ..;lxko:l,    .'.,:,',,,;:c;,::::c,'';:::;::'........
                        .,'...      .coc'...... ....  ';.              .,;;:k0x;::'     ....     .oxxxl;,':.    ..',;;:;;;colclclcc;'''';c::::;,,,::;,
                        .;'.'.     .,co:,...      .....,,.             .,,,;x0kooc.    ...'.   .:ollc'.';;;c.   ..,:::cllc;coolcodoc;,'.',;;;;,:cclllc
                       .';''.  .....;;c:,'..............,;.            '.'.'d0xdd:.   .'..... 'od,.   ..';;cc.....,ccclllllcclldddoc;,'.....'',;::;;:c
                       .,,'.  .xkdl:;;:c:;,..............,,......     .,.'..dOxdx:. ..,'...',;oo,    .....';::,'',;ccllclloooodxxdlc;,,'.'......';,',;
                      .','.   .;ddodxoc:;;:,'.. .........';.........  'c.'.;Okddd:..,;;,'...:lo:............':cc::cllllclooolloooocc,,;.........'',,,;
                     ..,,.......,loddoc:;;;'......';,...,,;...........':;clO0xodd:.,;;;,,'.';::;''.....''...;:cllloooolclooollc:clc,':c'...'........,;
                    ..,,.............';;,;:::;,,,'.;:;;;:cc'........,xxc:xkkxdoodc.:;;''',;:;'',......','..;:cccloodolccloollc:::cc;;c,''....... ...';
                   ..,;'..............','';lool;,';dxxxxxdddl,'.....cOkkddddoollol,;,'...,;:;'.',,,'',;,;,;:;:::cllooolccc::c:,,:c::,'.',,''.......',:
                  ..,;'........';::;:::;,;cooooccdxxxxoooddxxxc'.....;xOxdddoooooool:,..,;:'',''....,:c:cloollllollllol:'',;;;,;;;,,...,,;;,'.....,;ll
                  .,;,..''...',cl:'''...'cooccdxxdddddolooddddxoc;.....ckkxddddoddolc;',:c;,,,'.'',;cllccc:loloooooollc'..',,;:,',,...,,;c::,....:c::l
                 .,;,.'',,,,,lool:;'....'lxxdoxkxdddlccloxxddooxxdc,....'dkkxxxkxxdol:;:c:,,,;:::cc:cc:::::clcllolccclc,'''.,;:,.'...',,,;;;;,,;cooool
               ..,;;'',,,,,,:xo:cdo,.....,dkxxxoolc;,:cldolododddddd;....'xOOkxxxxddoc:cc;;:lolloc:;,,,;;::cclllll:::cc,''..;;;'......''...',;;lloool;
            ...',;;'.'''',,'''''','......,cdkdl;,;;,,:doo:;clc:collddc....lOkkkxdddoolllloooooool:;;;;;;;;;::ccl:c:;,,;:;'',;:,,'..',;,..'..,;coooodoc
           ..,;;;,,...'''''..,,...........;dddl;;,'',ld:odoolcclc::cldl...:0kxdddddddodddddolccc:::cc:;;,;;:cccc::;,,,,,:;,lcc;::,';;:;,,'',:cldxdlcoo
         ..,,''''.......'...',............:dooo::;;c:;ccxOkxdooolc::;:o:...ldoooddxxxxddddxdl::::cccc::,;:lllc;;,;,''',;::;:::::cccc,,;::codoodddlc:ld
      ....'...',........'...''.....'''....colll:,...'cookOOxdooooool;clx:;:oddddxxxxxddddddolcllllcccc:ccclc:;::;;;;;;:ccc:c:',;;:::::coodxklcllc:::cd
............',''..................,:;,'..'lo::c:;...'cdkOOOxodooodxxxkkkkxxxxxxxddddollodldollolc::cc:ccc:;',;;,''',,,,,';:c;.';;;'';cloddxdc,,,;:ccco
''.........'''......''..... ......,;;''..'lo:;cc;..'.;dK0Okkdddxxkkkkkxxkxxxxxxdooddollllloollll:;:ccllc:c;...'''...;,''.,:::'';;;..,clodxoll;;;:;:ccl
                                                                                                            ...:c.  .                                 
                                                                                                            ...;c'  .                                 
                                                                                                            ...';,  .                                 
                                                                                                             ...,;  .                                 
                                                                                                             ...,:. ..                                
                                 .':;;:;,.                                                                   ...':.                                   
                               .oOOko:;,'...                                                                  ...;'                                   
                              ;0KOxl,',,'....                                                                 ...,,                                   
                             .0X0x;....','',;:;;;;'......                                                     ...,;.                                  
                             lX0d,.;ldkOO0d:lxdolldxdllclcllc;.                                               ...':.                                  
                            'O0xodkkxdc:,d0lcdl:,;codocccclodddol:,.                                          ....,'                                  
                          ::;0Okkxkxo:,'';Oxoo:;cloddocc::::''';c:llc;.                                        ...,;                         .......  
                       ..;k:oOkxddoccc;,':OOdllooolodxxxddxoc:;,'',;cll;.                                      ...';.                       ..   ..',.
                     .ldoxOOO0kdl:,,,,,,:k0kdddoc:;c:''':dxxdllddoo:,:loc'                                     ...':;.                 ......      ..'
                     ... oOkOOx;......;okOOOkdo;....,.   .','...,cxOdc:cdo;.                                    . .;:'             ..'',;;:::;;,'...',
                         dkOOkd'....,cx0OOOOOOo.....,.         ..';:oOOdldd:.                          ..       . .';,.           .;:,.''',;::col;,,,:
                        ;kkOkxdl,...lkkOkxxxkOO..''.'.          ....,lkOxldx;                       .::,'.....  ....',.         .';'........,:cllool:'
                       ;xkxkkkxdl;'..,lkkxxdoc'...;,,.          .....':oOkddd'                   .',;cc;;:co:::;'. ..'.         .,''..........,:loo;;,
                     .:dxxxkkkxoooll,....',..    .,:,.          ......';ckxxx:                 .,.'co;...':;...'::'...'.       .';;;;...........','';:
                   :xkkkdoddooolllclo,.    ..    ..,;.         ..,,,,'',;lOkkd.             .....,do,...:;. ..  ..,'..'.       .,,,;','......',.......
                  .dkxxkdoollcccccclc;'.    ..     ','.       'lol::ccl:c:d0Ox.  ..      ....  ,:do,   .:'   .......''.'.     .':c::,;;'.......'',....
                   .;c:c:,oxol::ccc:;;,..   ....   .''.      ;l:'..',,,loolkOk;..'.....'..    ,xkxo'  .'l,    ........''.   ..',:ccc:;:;,...'..'',....
                         .;:c:,...'',c:,.    ....   .,,.     ..     .'..;c:o0Ol..,.;,...  .:loxkxkk:..,oxc.    .'.',..',,.....,:::c:::::;,'.'.........
                         .,....      ;l:'.....  ..   .;,.             ...';ckOd.',,.      ;kxo:....,coko:l,    ...';,',,,;:c;,;:::c;',;:::;::,........
                        .''...       :oc,...... ....  ';.             ..',;:x0x,,;'     .....    .lxdxo:,':.    .'',,,;:,;cllcccllc;'''';c::::;,,,,;;,
                        .,'.'.     .'coc,....     .....,;.             .,,;:d0Ool:.    .'.'.    ,oool;.';,;:.   ..,:::cllc;:ooccldoc;,'.',;:;;,::clllc
                       .';''.  .. ..;;c:,'..............,,.            ..'.'o0kdd:.   .'..... .od;..  ..,;;cc.....':cccllllcclloxdoc:;'.....',,;::;:cc
                       .,,'.. .dxdc;,,:c:;,..............,,.. ..      .'.'..o0xdxc.  .'....',,oo;.    ....';c:,''',:cllclllllodxxdlc:,,'.'......,;,,,,
                      .,,'..  .:xdodxoc::;;,'............',.........  .c...'kkxdxc..';,',...:oo:............':c:;;:llllclooollooooc::';'........'',,,;
                     ..,,.......,oddxocc;;;''.....',,...'';............c;::k0kdddc.,;;;,,'.';:::,'.....''...':cllclooollloooolccccc;';c'...''.....'',;
                    ..',............',::,:c::;,,,'.,;,;;::c'........'dxc:xOOxdoddc.;;;'.',,;;,','.....','..,c:ccllodolccloolllc::cc;,c;''..''.......';
                   ..,;'..............'''',cool;,';oxxxxxdddc,''....cOkkddxxdollol,;,'..',;:;'.',,,',,,,,,;:;:::cllooolcccc:::;,:cc:,,.'',,'........,:
                  ..,;'........';;;;::;;;;cooooccoxxxxdooddxxxc'.....:kkkdddoooooolc;,..';:,'''''...,:c:cloollclllclool:,',;;:,,;;;;'..',;;,,.....';cl
                  .';,..''...',co:,''...'cooccdkxdddddoloodddddoc,.....lkkddooooodooc:',:c:',,'.''';:llcccccllooololllc'..',,;;,',,'..,,;:::,....,cc:c
                 .';,.'',,,,,lool:,'....'lxxooxkxddolccloxxddodxxdc'....,xkxxxdxxxdoc:;;cc;,,,;:::cccc:::::clllllolcclc,'''.,;;,''...',,,;:;;,,,:ooool
               ..,;;'',,,,,,:xo::ol,... .;xkxxxoolc;;:cldolddddddxdo;....'x0Okxxkxddoc::c:;:collllc;;,;:;;:cclllllc;:cc;,'..,;;,......''...',,;cloool;
             ..',;;'.''',,,,',,,,,'......;ldkdl;,;;,,:ool:;clc:clllod:....cOkOxxxdddollllooooooolc;;;;;;,;;:ccclccc;,;;:,'.,;:,,'...','..'..';:looodol
           ..',,,;,..''',,''.,'...........;dddl;;,'',ld:odool:ccc::codl...:0kxxxdddddodddddolcccc:;:c:;;;;;::cccc:;,,,,,:,,ccl;;:,,;;:;,','';cloddocoo
         ..''',,,'....''''..',............:dool:;;;c;;ccxOkxdoollc:c:co:...dkddoddxxxxddddxdl:::cccc:::;,;:llc:;,,,'''';:;:cc:c::ccc;,,:;:looooddlc:ld
       ...''..',........'...,'......''....colllc,...':lokOOxoloooolc;:ld:,:lddddxxxxxddddddolcclllccc:::ccllc;::;;;;;;:cc:::;,,;;::::;clooxkoclol:::co
  ..........''''..................'::,,...llc:c:;...'cokOOOdodooodxxxxkkkxxxxxxxddddollodloollllc::cc:cccc;',;;,'',,,,,,';:c:..;;;',;cooddxdl,,;;;cccl
...........','......''.. .. ......':;,'..'ll:;cc;..'.;d00Okkdddxxxkkkkxxkxxxxxxdooddollloloollll:;;cccllcc;...'''...;,''.,ccc'.;;;'.'clodxdlo;,,;;cccl
                                                                                                            ...;c'  .                                 
                                                                                                            ...':,  .                                 
                                                                                                            ....;;  .                                 
                                                                                                             ...,:. ..                                
                                                                                                             ...':. ..                                
                                 .';;;::,.                                                                   .. .;'                                   
                               .lOOkoc;,'....                                                                 ...,,                                   
                              ,OKOxl,'''''. .                                                                 ...,;                                   
                             .0X0x:....''''';;,;;,'......                                                     ...':.                                  
                             cXKx,.,coxOOOx:lddolldxdlcccccc:,.                                               ....;.                                  
                            .kKkooxkxdl:;dOocdo:;,codoclcclddddoc;'.                                           ...,,                                  
                          ;:;OOkkxkko:,'.;kkld:;:coddocc:::c,',;c:clc;.                                        ...';.                        ......   
                        .'k:l0kxddolcc,'';OOdlcloolodxxxdddoc:;'.',;cll;.                                      ...':.                       ...  ..',.
                     .cooxOkO0kxl:,,,,;;;x0kddddlc;cc,,,:dxxxoodoll:':loc'                                     ....::                  ......       .'
                     .'..lOOOOx:......,lkOOOkdd;....,.  ..';,...,lxOdc;cdl;.                                    ...,c,             ..'',;:::::;,'..'.'
                         okOOkd,....':dOOOOOOOo.....'.          .';cdOkdldx:.                                   ....,,.           .;;,'''',;::col;,,,:
                        ,kkOOkdl'...ckkkkkxkkkO,..'.'.          ....,ok0xlox:.                      .,c,'.....  .. .',.         .':,.......',:clcool:'
                       ,dkxkkkxdl,...,oOkxdddo,...:;'.          .....':oOkddd'                   ..,;::;;cloc::,'. ..''         .;,...........,:loo;;,
                      ;dkxxkkkxoollc,...',,'.    .,;,.           .....';ckkxxc                 .''.;oc....::,..':c'...'.       .';;;;........''.',,,::
                   ,dxkkddddodollllll,.   ...     .,;.          .,,''.',;cOkkd.             ....''oo;...;;'... ...,,..'.       .,,;;','.......,'......
                   dOxxkdooolcccccclc;..    ..    .','.       .:ol::ccl:::o0kk,   .      ..... ':oo:.  .:,   .......'''..     ..cl::,;;'........',....
                   .:lclc;odol::ccc:;,,'.   ....   .''.      'lc,..,;,;loocx0k:.... .......   .dkxo.  .,l;     .......'..   ..',:ccc:;:;'...'..'',....
                         .:lcc;'..'';:;,.    ....   .,,.     ..     .,'.;cclOOl..;.,,'..   ':cdOOkkl..'oxc.    .'..'..'',.....';:cc:cc::;;'..'........
                         .,....      ,l:'.....  ..   .;,.             ...';:x0d..;;,.     ,Oxol;.,;,:oxocl;     ...;,'',,,;:;',;:cc;',;:::;;:,........
                         ''....      ;oc,...... ....  ';.             ..',;:d0x,';,     ...''.   .cxdxo:,':.    .''',,;;;;:ll:ccccc:,''';c::::;,'',,,,
                        .,,...     ..clc,....     .....,;.             .,,;:o0Ooc:.    .....    ,oddo:.';,,:.   ..,;::cccc;:oolcloo:;;,'.,::;;;;:ccllc
                       ..,,'.     ..;:lc,'..............';.            ..'.'l0kddc.   ....... .ld:..  ..,;;cc. ...';cccllllcclclddoc:;,.....',,;::::cl
                       .,,,.. .odl:,'';c;,'..............;,..          '.'..l0kddc.  .''...'',ld;.    ....,;c;'''',:cclllllllooxxdll:;;'.'......';;,,;
                      .',,..  .:kdoddlcc:;;,'............';.........  .:....dOxdxl...,;,'...:loc'...........';c:;,:clllclooooooddolc:';,.........',,,,
                     ..,,.......;oodxolc;;;,......',,...'';'...........l:;,o0kdddl'':;,,,'..;cc:,......'....';clcclooollloooollccll;',c;....'.....''',
                    ..,,'.........'',;::;:::c;,,,'';;,,,;:c'.... ....co:,dkOkxoddl.;;;,'',,;;,,;,......,,'.'::clclodooccllooolc::cc:,c:'....'.......';
                    .','..............'''.,cooc;,';ldxxxdddoc,''....:Okkddxxdolool';;,..',;c:'.'','''',,,'';;;::cloooolcccccc:;,:cc:,,..',,'........':
                   .';,........';;;;;;;;;;coodoc:oxxxxdooddxxxc'.....ckkxdddoooloocc;,..',:;'.'''''.':::cclllllclllloooc;,;;;:;,;;;;,..',;;,,'....',:l
                  .';,.......',co:,,''..'coocldxxddoddoloodxdddo:,....'okkddooooodool;'';::',;'...',:lllclccllooollllll;..',,,:;',,'..',;:c:;....':c:c
                 .';;'.',,,,,loolc,'....'oxxolxkxdddollloxxddodxxdc'....;xkxxxxxxxdoc:,,cc:;,,;;;:cc:c:::::coclllllccll;....,,:;'''..';,,;:;;,;,;loool
               ..';;''',;;,,:ko::ol,.....;xkxxxdolc;;:coddoodddddxdo;....,xOOkxkkxddoc::c:;:collllc:;,;;;;:clcllllc;:cl;,'..,;;;......,'..'';;;:loooo;
             ...';;'.''',,,,',,,,;,......;ldkdl;,;;,,:oolc:clc:collodc....cOkOxxxxdooolcloooooooo:;;,;;;,;;:ccllccc;;;;:;'.',:;,'...',,..''.';:loooddl
           ..',,,;,..'',,,''.',...........;ddol,,,'.,ld:ldlol::cc::codl...:0kxxxddddooddddddllccc;;:c:;;;;;::cccc:;,,,,,:;'ccc;,:,',;::,','',:loddocoo
         ..',,,,,''..'''''..','...........:dool::;;c;;ccxOkxdolllc:::co:...dkxddddxxxxxdddxdl:::ccccc::;,;:llc:;;;''''',;;:cc::::c:c:',;;:clooodxol:cd
       ...''..',........'...,'......'.....colll:,'..':lokOOxoooooolc;:ld;';lddddxxxxxddddodolcclllccccc::cllc:::;;;;;;;cc:::;,,;;:cc:;:llodkdllol:::co
   ..........','..................':;,'...ll::c:;...'cokOOkdodoooddxxxkkkxxxxxxxddddoooodloollllc:::c::ccc:,,;:,,,,,,;;;,;:c:'.;;;,,;cooddxdl,;;;;cccl
...........,,,'.....''............':;,,..'ll:;cc;..'.;d00Okkddodxxkkkxxkkxxxxxxdooddolllocoollll:;;:ccclcc:...'''...;,''.'ccc'.;;;,.':loddxlo;',,,:ccl
                                                                                                            ...,c,  .                                 
                                                                                                            ...,:;  .                                 
                                                                                                             ...;:. ..                                
                                                                                                             ...,:. ..                                
                                                                                                             ...':. ..                                
                                  .;:;::;.                                                                   ....;,  .                                
                               .ckOkoc;,'....                                                                 ...,,                                   
                              'kK0kl;'''''...                                                                 ...,:.                                  
                             .kXKkc....''..',;,,,,'.....                                                      ....;'                                  
                             :XKx;.':oxkOOx:ldddoldxdlcccccc:,.                                               ....,,                                  
                            .xKkooxxkxlc;o0o:oo:;,coddllcclddxdlc;'.                                           ...';                                  
                          ,:;OOkkkkkd:,'.,kkld:;::oddocc:::c;',:c:clc;.                                        ....;.                         .....   
                         .xcc0Okddolc:,'',kOxlcloooooxxxoodo:;,..',;cll;.                                       ...;.                       .... ..''.
                     .:oodOOO0kxl:,,;;;,;d0kddddoc:cc;,,cdxxxdodocc;':lo:'                                      ...,;.                  .....       .,
                     .'..cOOOOkc......':dOOOkdd:....,.  ..,;;...,lxOd:;col;.                                    ...,c;.            ..',;;;:::;;,'....'
                         lOkOkx,....';oOkOOOOOd.....'.        ...':lxOOolodc.                                   ....,;.           .;:;..',,;;:col;''':
                        .xkkOxdl,...ckkOkkkkkOO,..'.'.          ....,lk0xloxc.                       .:;...        .',.         .';,.......';:clclol:'
                       .dkxkkkxdl,...,oOkxdddd:...;;,.          .....':okkdod,                    .';:c:;:llc:;,.....''         .;,...........,cooo:;,
                      'okxxkkkxooolc,...',:;..   .,;,'.          .....';cxkdxl.                 .'',cl'...;l;..,::' ..'.        ',;;;'.......''.',,':c
                   'lxxkxddxdddollcll,... ..      ',;.          .''.'..,;ckkxx.              ...'.cdc...,;,.... .';,..''.      .',,;,,'.......,'.....'
                  .dOxxkdllllccccccll;'.    ..    .','.       .;ccc::cc:;;l0Ok;   .       .... .,cdc.  .;;   .......''.'.      .cc::,;;'.....'..',....
                   .colol:oxol::clc:;,,..   ....   .',.      .:o:'',,,;loo:dOOc....  .......   cdxo'   .l:     .......'.'   ...,:llc:;:;'...''.',,....
                         .:ooc;''',,;:;,.    ....   .',.     ',.    .,,':lcckOo..,.';'...  .;:lkOkko. .lxl.    .'..'..'',.....';::cccc;;:;'..'........
                         .,....      'l:,.....  ..   .;'             ....';cx0x'.;,;.     .xxddl;::::lddlo;     ...;,.',;;,;,',;::c:',;:::;;:,........
                         .,....      ,oc;...... ....  .;.             ..',;;o0k;.;;.     ..;;'.  .:ddxdc,':.    .''',,,;,,:lo:ccclc:,''',cc;:c:'.'''''
                        .,,...      .:ol,....   . .....,;.             .,,;;l00o:c'    ....     'lxxdl'';,,:.   ..';:::cc:::lolclooc;,,'.,;:;;;:ccclll
                        .,,'..    ..;:ll,.......  ......,;.            ..'',c0Odoc.   ..'..'. .cxc'.. ..,;;cl.....';ccclllccclccdxdl:;,...'.',;;:c::cl
                       .,,,'. .ldc;,,';:;,'..............;,..          '.'..:0kddl.  .''...'''ld;.    ...',;c:'..'';ccclllllloodxdol:;;'........,;;,,;
                      .',,..  .ckxoodlcc:;:,'.............;.........   :....lOkdxo. .,;,'...:loc'.  .......'';c:;,;cllllllooooodddoc:';,.........',,,,
                     ..,,'......;dodxoc:,;;;.......,,...'';'...........l:,':OOddxl'.;;;,,'.';clc,............;:lc:clollllooolllllll:,'c:....'.....''',
                    ..,,'........',,;;::;:cc:,,,,'';;'',;:c'.... ....;c:,oxOOxoddo.,:;,'',,,;;,;,......,,..'::cllooddolclloollc::cc:;::,'............,
                    .',,...............'..,:loc;,',codxxdddoc,''....;Okkodxddooloo';,,..',;::,.',.''''',,'';;;::cloooolclllccc:,;cc:;;'.'',''.......';
                   .';,.........,,;;;;;;;;coodo::oxxxxdodddxxdc,'....ckkxdddooolooc:;'..',;;,.'''''.';::ccllcllclolloolc:;;;;;;,;;;;,...',;,,'.....';l
                  .';,'.''....,co:,,''..':oolldxxddoodoloooxxddo:,....,dOkddooooddool;'.;;:',,'''..,:lolclccloooollolll:'.',,,;;,,;,..',;:::;'....:c:c
                 ..;;'.',,'',coll:,'....'oxxolxkddxdolllodxdoooxxdc'....:xkxxdddxxdoc:,,cc:,,,;;;::cccc:c:::llllllollll;....',:;'''..',,,;::;,,,,coooo
              ...';;,'',;;,,:xo::ol,... .:xkxxxddoc:;:coxxooddddxxdo;....,kOOkxkkxdolc;:c:;:clllolc:;,,;;;::lllllll:::c:','.';;;'.....',..',,;;;loool:
             ...';;,''',,,,,,;,,,;,..   .;ldkxl:,;;,,:oooc:clc:cllldd:....:OOOxxxxxdolcclooooooooc;;,;;;,;;:cccllcc;;;;:;'.',:;,'....'''..'..,;coooool
           ..',,,;,'.'',,,,'.','..........;xdol,,,'',ldcodlol::llc:codl...;Okkkxxddooddddddoolccc;;:c:;;,;;;;:cccc:,,,,,:;':cc:,;,',;::,'''.,;codddloo
         ...',,,,''..'''''..','...........:dool::;;c::c:dOkxdllcl::::co:..'xkxdodddxxxxddxddl:::ccccc::;,;:llcc:;,''''',;:;:c:c::c:::,,,;;:lloodxdoc:d
       ...''..''........'...,'............colll:,'''':lokOOxoooooolc;;cd,',cdxxdxxxxxxxdddddlcccllcccc:::cllcc:;;;;;;;;:::::;,,,;:cc:;;clodkdloolc:c:l
     ........'''..................';;,'...lo::c:;...'coxOOkxodooodxxdxxkkxxxxxxxddddoooodlooolllc:::c:::cc:,;;:,',,;;,;;,;:c:,.,;;,;::loddxxo,,;;;:ccl
...........';'......''............,::,,..'ll;;cc;..'.:x00Okxddoddxxkkxxkkxxxxxxddoddooooocloolll:;;:c:colc:..',','..,,'''';cc'.,;;,.';loodxlo;,;;':lll
                                                                                                            ...':;  ..                                
                                                                                                            ...';:  ..                                
                                                                                                             ...,c. ..                                
                                                                                                             ...':' ..                                
                                                                                                              ...;, .'                                
                                  .;;;;:;.                                                                    ...,,  .                                
                               .:xOkd:;,,....                                                                 ...,;.                                  
                              .kX0ko:'''''...                                                                 ...':.                                  
                             .kXKkc.....'..',,,,,'......                                                       ...;'                                  
                             ;XKk;.';ldkOOxcldddoodxdllcccc:;'.                                                ...,,                                  
                            .dXOoodxkxoc:o0o:od:;,:ldxllcclodxdl:;'.                                           ...';.                                 
                          ';,k0kkxkkdc,'.'kkloc;;:loddcc:::c;',:c:llc;.                                        ....;.                         .....   
                         .xl;0kkxddocc,'',kOxl:cooloodxxoooo:,,''',;cll;.                                       ...,'                       .......''.
                      ;lldOOk0kxoc;;;;;;;lOOxdddolccc:;;cdkxxdoooc:;':lo:'                                      ...,:.                  .....       .,
                     .,'.cOOOOkc'.....';oO0Okxdc.. .,.....,::'..,lxOd:;coo;.                                    ...'c;.            ..',,;::::;;,.....'
                         cOkOOx;....',lkkO0Okkx.....'.        ...':lxOkoloxc'                                   ....,;.           .,:;'.',,;;:col:,'';
                        .xkkkxdl,...:kkOkkkkOOO;..'.'.          ....,lk0xloxl.                       .,,...      . ..,.         .':;.......';:ccclol:,
                       .okxxkkxxl,...,oOOxdddxc. .;;,.          .....':okkood;                     .':c:;:ccc:;'..  .''.        .:;'.........',codoc,,
                      .lxkxxkkkooolc,..',;:;'.   .,;,..          .....';cxkdxo.                 .'',co;...;l:..,::'...'.        ',,;;'.......''.,;;'::
                   .cdxkxddddddolllll,.    ..     .,;.          .......,;;kkxx'               ..'.,ol,..',;.... .';,...'.       ',,;;''.......,'.....'
                   dOkxkdoolllcccccll:'.    ..     ','.        .:ccccc:;;;cOOk:   .        .....,:do'.  ,:.   ......''''.      .:c::;;;'.....''.''....
                   .loodl:odol::clcc;,,..   ....   .',.       ;oc;,,;;:llo:oOkl....   ......   ;oxo;   .cc     .......''.    ..':clc::;;,...''.',,....
                       ...;dol:,'',;;:;,.   .....   .',.     ';.   ..;,,:llcx0d..'..,,...  ..,:kOOkd' .:xl.     .'....'''.....',:ccccc;;;;'..'........
                         .,'...      'l:,.. .. ...   .;,             ....';:d0k,.,':..    .oxdddcloc;codoo;     .'.,;'.,;;,;,'';::c:,,;:::;,;,...'....
                         .,....      'ol;...... ....  .;.             ...,;;l0k:.:;'      .cc;'. .:odxxl,':.    .''',,,;;,;ll::c:lc:,''',cc::c:'..''''
                        .,,.'.      .:ol;....   . ... .,;.             .';;:cOOo;l;.    .'.     .lxxdo,';,,:.   ..';;::cc:;:lolccooc;,,,.';:;;;:::cllc
                        .,,''.     .,clc,'......  ......,;.            ..''':OOxol'    ...... .:dc,... .,;;cc.  ..',::cllllccllcoddlc:;'..''',;;:c:ccc
                       .',,'. .coc;,'';c;,'..............,,..          '.'..;OOddo.   .'...''.cd:..   ...',;cc'...',:cllllllloodxxol:,;,........,;;,,;
                       .,,'.  .ckxoddlc::;:,'.............,.........   ,....:Okddo...';''...;ooc'...........';::;,;:ccllclooooodddoc:,;;'........',,,,
                      .,,'......:doddol:;,;;'......',...'','...........lc'''kOxdxo'.,;;,,'..;clc,............;:cl::lolllcoooollllllc;'::....'.....''''
                     .',,........';;::cc;;::;,,,,'',;'',,;:'.........':;,lxkOxddxd',;;;'',',;;;;,'.....','..;:cclloddolccloooll:::cc;;c,'...'........,
                    .',,...............'..,:loc,,',:oddxxddoc,.'. ..'kOkldkxdooooo';;;..',;:c;.',....'''''',:;::cloodolclllllc:,;:cc;,,..,,'.........,
                   .';;.........,,,;;;;;;;coooo:;ldxxxxoddddxdc,'....cxkxdddoooloo::;'...,;:,'..',,'';:::clllccclollooolc:;;::;,;::;;'..',;,''.....';l
                  ..,;'..'''.',co:,''''..:oolldxxddoodoloddxxddo:,....;xOkddddooooolc;'.,;:,,;,''..':cllcllclooooolllloc,..,;,;;,';;'..';;::;'....;c:c
                 ..,;'..'''''cool:,'....'dxdoldkddddolllodxddooxxoc'....:kxxdddddddoc:,,:l:,,,,;,;::cccccc::lllllllllll;....',:;,''...,;;;::;,',,:ooll
                ..,;,'',;;;;:ko::ol,... .:xkxxxddol:::coxxddddddxxdo;....;k0kxxkkxdolc;;cc;;:lllolc:;;,;:;;clllllol::clc,''.';;;'.....','.',,;;;clool:
              ...;;,''',,,,,,;;,,:,.    .;lokxl:,;;,,:dool:clc:cloldd:....cOOOxxxxxdolcclooooooooc:;,;;,,,;ccccllcl:;;;:;'..,;:,,....'''..'..,;coooool
            ..',,;,'.'',,,,'.','..........;ddol,,,'.,ldcldlol::clc:codc...;Okkkxddddddodddooollcc;;:c::;,;;;;;:ccc:;,,'':;';cc:,;,'';::;'''.';cooddood
         ...',,;,,'..''',''.','...........:dool:;:,c:;c:dOkxdllcl::::cd:..'xkxdddddxxxxxddddl:::ccccc::;,;:ccccc:;,''''';;;:ccc::c:::;;;;;:clloddddc:d
        ..''..''........'...,'............cdollc,''',:cokOOxoloooolc;:cd,.'lxxddxxxxxxxdddddlccclllc:::::clllc:;;;;;;;;;:::c;,,,;:cc:;;clodxxlodoc:c:l
     ........'''........'..........;;,'...ll::c:;...'coxOOkxddoooodxdxxkxxxxxxxdxddddooodlloolllcc::c:::ccc;;::,,,,;;,,;;;:::,.,;,;;:clodoxxo;,::::c:c
............;,... ..''............,c;,,...ll:;cc;..'.:x00Okxddddddxkkxxkkxxxxxxdddddooooocloolllc:::cccolc:..';,'''''''''';:c'.,;,,'';loodxoo:,,,':ccl
                                                                                                            ....;:  .                                 
                                                                                                             ...;:. ..                                
                                                                                                             ...,:. ..                                
                                                                                                             ....;,  .                                
                                                                                                              ...,;  .                                
                                  .,;;;:;.                                                                    ...,;. ..                               
                               .:xOkdc:,,'...                                                                 ...':.                                  
                              .xK0xo:'''''...                                                                  ...;'                                  
                              dXKkl'........',''''.....                                                        ...,;                                  
                             'KKkc..;cokkkxccddddodxdlcc::c:;'.                                                ...';.                                 
                            .oKOoooxxkdc:l0d:odc:,:ldxoccclodxxl:,'.                                           ....;.                                 
                          .;,x0kkxkkdc,'''xOlol;;:loddc::;:c:,,:ccll:,.                                         ...;'                          ....   
                         .oo;OOkxxdocc;'''xOxl:cloooodxxolll;,'..',;:ll;.                                       ...,,                       .......''.
                      ,cloOOO0Oxoc;;;;;;,cOOxddoollll:::cdkkkxdolc:,';clc'                                      ...,:.                  .....       .,
                      ;,.:OOOOkl'.....';lkOOkxdl'. .,..  .,cc,.';lxkd;;coo:.                                     ..'c:.             .',,;:c::;;,......
                         ;OkOOx:.....,ckOO0Okkk'....'.         ..':okOkolodc'                                    . .;;'           .,:;'.',,;;:col:''';
                         oOkkkdl,...;kkOkkkkOOO:......          ....,lk0kloxl.                        ',...      . ..,,         ..;;'......';:cccloo:,
                       .lkxxkkxxl,...,oOOxxddxo...;;,'.          ....'cdkkold:                     ..;c:;;::;;,.... ..'.        .:;'.........',codoc,,
                      .cxkxxkOxdolcc,..,;:c:,.. ..,;,'.          .....';cdOddd.                  .',:lc'.',ll'.;::'...'.        ';,;,,........'',;;,c:
                   .;lxkxddddxdolllll,.    .      .,;'           ......,;;xkxx;                .'.'lo;..'.,,.....';,.....       .,,;;''.......,'......
                   oOkxkdooolllcccclo:'.   ...    .','.        .;cc:::;;,,:kkOl   ..       .....,,oo;.  ,:'  ......'''.'.      .;c::;;;'.....''.''....
                   'ododocoollc:cccc:,,..   ....   .',.       'll:;;;;:lll:lOOd....     .....  'ldoc.  .:l.    .......'''.   ..';clc:;;;,...''..,,....
                      ....;ddl:;,',;;::,.   .....   .',.     .c,.  ..,,;cllcxOx'.'..','...  ..,xOkOd' .;dl.     .'.....,,......,::cclc:;;;'..,...'....
                         .,,.''.    .'l:,.. ......   .;,.            ....';cd0k;.'','..    :xddxdoxo::ldod:     .'.';'.,;;,;,'',;:cc,,;:::;;;,...'....
                         .,....      .ol;...... ....  .;'              ..',;lOOc.,;,      .lol;. .;odxxl;':'     ''',,',;,;co:;ccccc,''',::;:c:'......
                        .',...      .;ol;......  .... .,;.             .';;:cO0d;lc.    .'..    .ckxxo;',,,:.   ..',;:::c:;:lolccool;,,'.':::;;::::llc
                        .,,''.     .,cll;....   ........,;.            .',,,;O0xoo:.   .'..'.  ,dc,,....,;;:c.  ...,:c:llllccllclddlc:;'..''';;;:ccllc
                       .',,'. .;c:,''';c;,'..............,,..          .....,OOddd,   .''.....cd:...  ...',;c:.....':cllllllllodxxdlc;;,........,;;;,;
                       .,,'.. .ckxoodc:c::;,'.............;........... ''...,Okddd' ..,''...;ldc,..  ......',;::;,;;ccclllooooodddocc,,;'.'......',,,,
                     ..',,......cdooxol:;,;;'......',....';'.... ......cc''.d0xdxo,.';;;,'..;clc;............,:cc::cllllloooollllllc;';c'.........''''
                     .',,........;::cccc;:::;,,,,'',;''',;:'..........;;,:odOkxdxo'';;;,','',;:;;'.....','..,::cllloooolcooolllc::cc;,c;'...'........,
                    .',,..................':llc;,'':oddxxddoc'.'. ..'dOklokkddoodd,,:;'.',;:c;'',....''','.,:::cccodddocclllccc;;:cc;;;'.'''.........'
                   .',,'........,,,;;;;;;;:odoo:;ldxxxxooddxxdc,'....lkkxdddoooloo:;;'...,;:;'..',;'';:;:ccllccccllloollc:;:::;,,::;;,..',;,''......,c
                   .,;'.''''.',llc,'''...:lolldxxdddodoloodxxdxo:,....:xOkddddooooolc;..';:;'''''..';cllclllllooooloolol,'.';,;;,,,,,..';;::;,....,::c
                  .,;,..'''''cool:,'....,dxdocdkxdddolllodxdoooxxo:'....ckkddddddddol:,':cc,,',,,,::cclccc::lllllllolloc'...',;:,'''..,,,;c:;,,,',lool
                ..,;,'',;;;;:xo::ol,.....:xxxxxddolc:::oxkddddddxxdo;....:OOkxxkkxdol:;;cl:;cllloolc:;';;;;:llcclloc::lc,,''.;;;,.....',,.',,;;;:loooc
              ...,:;''',,,,,;;;,,:;. ....:lokxl:,;;,,:odol:clc::loodd:....ckOOxxkkxdolcccolooooool::,,,;,,;:cccllcl:;:::;,..,;;;,....'''.....,;:looool
            ..'',;,'.',,,,,,.','..........;ddol,','''cdcodool:;clc:codl...'Okkkxxddddooddddoolcc::;::::,,;;::::cclc;,,'';:',cc:',,.';;:;'''..,:looddod
         ...',,,,,,'.'',,,''',............:dool:::,c;;c:dOkdollclc:::cd:...xOxddxxxxxxxxddddlc;::cccc;;;,;:ccccc:;'''''';;;;lcc::c:::;;;;,;:cllodxdl:o
        ...''.''............,'............cdollc,''',:coxOOxoloooolc;;co,.'cxxxdxxxxxxxdddddlccclllc:cc:;:clcc::;,,,,,,;:;::;,,,,;ccc;,:cloxdooddl:::l
     .........''........'...'......,;,'...ll::c:;...'coxOOkxodooooddddxkxdxxxxxdxxdddooddllollllcc::::::ccc:;:c;,,,;;,,;;;:;:;'';;;;:clooodxx:,::::::c
............,'''. ..''............,c:;,...ll:;cc;..'.:d0OOkxdddddxxkkxxkkxxxxxxxddddolloocloloolc::::::lolc'.','''''''','';;c;..;;,'':codxxdol,,,,;ccc
                                                                                                            ....;c. ..                                
                                                                                                             ...,c.  .                                
                                                                                                             ...':,  .                                
                                                                                                             ....,,  .                                
                                                                                                              ...,;  ..                               
                                  .,;;;;;'                                                                    ...':. ..                               
                                ;xOOxc;,,'...                                                                 ....:.                                  
                              .dKKko:'',''...                                                                  ...;'                                  
                              oXXOl'........',''....                                                           ...';                                  
                             .0KOl..':oxkkxlcdxddodxdlcc:::;,.                                                 ...';.                                 
                             cKOoloxkkdlcl0d:lxc:,:ldxollccodxxc;,..                                            ...,.                                 
                          .,,d0Okkkkxl;''.dOlol;,;coddcc:::cc;;:cccl:,.                                         ...,'                          ....   
                          lo,OOkxxdocc;'''oOko::looooddxoccl;'..',,;cll;.                                       ...';.                      .......'..
                      ':lokOk0Oxdl:;::;;,ckOxodddolloc::cxkkxxool:;,';coc'.                                     ...,:'                  .....       .'
                      ;;.;OOO0kl'.....',:xOOkxdl,...''. ..,cc:.';lxko;;col:.                                     ...:l.             .',,;::::;;,......
                         ,OkOOk:.....,;xOk0Okkx'.....'       ....':dkOklcodc'                                    . .,;'           .,:;'.',,;;:col:,'';
                         lOkkkxl'...,xk0OkkkO0Oc..'...          ..'';okOkloxo'                        ....       . ..',.        ..;;''.....';cccccooc,
                        ckkxkkxxl,...,okOxxddxd,..;;,'.          ....,cdkkoodc.                     .,l:,,;,,,,...  ..,.        .::'..........,codoc;,
                       :xxxxkOkdolcc,..,:clc,..  .,;,'.          .....';cdkddd'                  .'';cl;.';cl'';c:....'.        ,;,,,,........'',;:;::
                   .;cdxxxxxxxdoollll,.   ..      .,;'.          ......,;;dkxk:                ..'.:o:....';.....';,...'.       .,,;;,'.......''......
                   lOkxkdooolllccccll:'.   ...    .','.        .';::;;;,,,;kkko.   .        ....'.lo:.. ':,. ... ..''''..      .;c:;;;:,......''.'....
                   'dxodocodlccccccc:;,'.   ....   .',.       .col:;;;:lcc::kOx.....     ....  .:ool.   ;l.    .......''..   ..';llc:;;;,....,..,,'...
                     .....;xdoc;,,;:;:;,.   .....   .',.     .l:.....,;;col:d0x,.''..'''...  ..oOkxd,  ,oo.     .'.....,'......,::cccc:;;;,..,..''....
                          ',',,.   ..,c:,.. ......   .;,.            .'..;;co0kc..'';'.    'oddkkxxxc,cooo:     .'.','.';;,,''',;::c;,;:::;,,,........
                         .,....      .ol;......  ...  .;'              ...;;ckOl.'';.      oxd:,..:oddxo;,:'     ''';;'';,,:l:;c:ccc,''',::;:c:'......
                         ',....     .,ll:............ .,;.              .;::ck0d;:c'    ......  .:xkxd:,,'';.    ..';:::c:;:collcool;,,,'';::;;::::clc
                        .,,''.     .'cll;....     ......,;.            ..',,;k0kooc.   ....'   'oo;,'...';;:c.  ...,:::cllc::llclddoc:;,..'',;;:::ccll
                       ..,,'...,:;,.'';c;,'..............,,...         ...'.'xOddd:.  ..'.....:dc'..   ..',;c:.....':ccllllllloodxdlc;:,........,;;;;;
                       .,,,....cOxooo::c::;,'.............;.........  ..,...'kkddd;. .,,....;lol'..  ......',;:;;,;;cllllllloooddxdlc;,;,''......',,,,
                      .',,..  ..ldooxdc:;,;;'......',....',,.... ......:c''.c0xddd;.',;;,'..;cl:;'...........':cc;;:lllllloooolllllc;,,:'.........',,'
                     ..,,........;ccllcc;:::;'',,'',;'''';;,...........;;:ooOOxddd,.;;;,,,'',;::;'.....'''..,::cllloooolllooollc::cc;,c:'............'
                    ..,,'.............''.'';loc;,,,;loddxddl:'.'. ...lOkclkkxdoodd;':;,.',;:::'','.....,,'.'::::ccodddoccllolcc;;:cc:,;''',''........'
                   ..,,'........',,,;;;;;;:odoo:;cdxxkxooddxxdc,'....okkxddddoolooc,;'...,,::'..',,,';;;;:cllccccllloollcc:::::,,:::;,...,,,,'.....'':
                   .,;,..'''..'clc,''''..:lolldxddddoooloooxxdxo:,....:kOxddddoooooc:;'..,::','''''',clllllllllloollllol:''';;;:;,;;,...,;:::,.....::c
                  .';,'.'''''cool:,,....,dxdlcdkxdddoollodddoooxxo:'....lOkddddddddol:,';cc;,,,,,;:cllllccc:cllloolooooc,...',;:,'''..',,;c::,''''cool
                 .,;,'',,;;;:xo::oc,.....:xxxxkdddocccclxkxdddddxxdo,....:kOkxxxxxdolc;;:cc;:ccllolc:;';:;;:locccloc::lc;,''';;;,.....',,',,;;;;;coooc
              ...,:;'',,,,,,;:;;;c;.... .:ldkxl:;::,,:odolccllc:looooc....ckOkkxkkxdol::collooooolc:;,,;,,;:cccllll:;::::,..';:;,.....''.....,;:looool
            ...'';;'.',,,,,''',,..........;ddol,','''cxcldlol:;cclccodl...'xOkkxxxdddooodddooolcc:;;:::;,;;::::cllc:;,,';;,,::c,,,'.,;:;'.''.';cloddod
          ...',,,,,'.'',,,''',............:dool:::,c;;c:dOkddllccc:::cd:...xkdxxddddxxxxxdddlc:;::ccc:;;,;;:ccccc;,'..'',;,;lcc::c:;::;:;,;::llodxxo:o
        ...,'''''......'''..,'............cdollc;'',,;clxOOxollooolc;;cd,..cOxxxxxxxxxxxddddlccclllcccc:::cclc::;,,,,,,;::;c;,,,,;ccc;,;cloxdooodolc:c
      ........''............'......',,'...ll::c:;...'cdxOOkxodooooddoodxxddxxxxdxxdddodddoloollllc::cc::ccc:::c:;,;;;;,;;;:::;'';;:::clooodkxl;::::::c
............,'''........'.........'c:,,...ll:;cc;....:d00Okxdddddddxkkxxxxxxxxxxddooolloolcoooolcc:::::cllc,.,;,.',,,'',,';;c;..;,,,,:ldddxxol,,,,;ccc
                                                                                                             ...,c.  .                                
                                                                                                             ...,c'  .                                
                                                                                                             ....;;  .                                
                                                                                                              ...,;  ..                               
                                                                                                              ...,:. ..                               
                                  .,;;;;;'.                                                                   ....:. ..                               
                                ,oOkxl;;,'..                                                                  ....,'                                  
                              .oKKkdc,''''....                                                                 ...,;                                  
                              lXX0o,.........'.....                                                            ...':.                                 
                             .0XOl'.';ldxxxlldxddddxdcc:::;;'.                                                  ...:.                                 
                             :X0dcoxkkdoclOx;lxl:,;ldxocllcodxdc;,..                                            ...,'                                 
                          .,'d0kkkkkxl;,'.oOlll;;;clddc::::cl:;:lccl:,.                                         ...,,.                          ..    
                          cd,xOkxxddcc,''.o0kdc:coooodxxoccl;...',,;:ll;.                                       ...';.                       .........
                      .;clkOx0Oxdl:;::;;,:kOxoooooololcclxkkxxolc:;,';coc'.                                      ..';,                  .....      ..,
                      ;:';kOOOko,.....'',d0Okxdo;...''   .,clc'';oxxo;,col:'                                     ...;c'             .',;;:cc:;;'......
                         'kkOOkc.....',dOO0OOkk;.....'       ....':dOOxlcodl,                                    ...,:,.          .,::,.',;;;;col:''';
                         cOkkkxl'...,dx0OkkkOOOl......          ..'';okOkllxo'                         ...       ....',.         .,;,'.....',:clccooc,
                        ;kkxkkxxl,...;oOOkxddxx;..,;,'.          ....'ldkkoodl.                      .:c;,,,','. .. ..'.        .::,..........'coddl;'
                       ;dxxxkOkdolc:,..;clol;,.  .,;,'.          .....,;coOdox,                   .',cl:,,:cl;,::;.. .''.       ,;,,,,........''';c;::
                    .;oxxdxxxxxoollll,.   ...     .,;'.          ......,;;oOxxc                 .'.,ll'....;;....':;...'.       .',,;,,'......',......
                   cOkkkdooollllcccllc'.   ..     .',,.        ..,;;,,,,,,,xOkd.   .         ...'.:dl'..';,..... ..','..'      .,c:;:,;,......''''....
                   ,xxoddloolccc:ccc:;,'.    ...   .',.        ,llc;;;cccc;;kOx.....      ......;loo'   'l.    .......''..    ..;cllc:;;,....'..,,'...
                     .....;xxlc:;;;:::;,.    ....   .',.     .cc,...';,;lll:l0k;.''........  ..:kkxx,  .ld.     .'.....''......';:cclc:;;;,..'..''....
                          ';;;,..  ..,c:,..  .....   .;,     ..      .,'.;cclOOc..,':'...  .:odkOkxko,;odd:      '..,'.',;,,''',,::c;,;:::;,,'...'....
                         .'....      .ll;......  ...  .;'              ...,;ck0o..',.      lxdl:'.coddxd:,:'     .'';;'';;,:l:,::ccc,''',:c;:c:'......
                         .,....      ,lo:............ .,:.              .;:::x0x;,:'     ...... .;dkxxc,,'';.    ..',;;:c:;;colcclol;,','';:::::;;;:cc
                        .',''.      .clo;....   ........,;.             .',,;x0Oocc.   ....'.  'lo:;;'..,;;:c. ....,:::cllc::llccddoc::;'.'',;;;::clll
                        .,,'...';,'.,,:c;,'..............;;..       .. .'.'.'d0xddc.   .'...'.;dc'..   ..',;cc.....';clllllllllodxdlc;;;'.'.....,;:;;:
                       .';'....lkkoll:;:::;,'.............;'............,.'..xOxdx:. .',....,col'..   .....',;:;,,,;:ccllllloooddxxlc;,;,.'......',,,,
                      .',,... ..lxooxdlc;;;;,......',.....,,...  ......,c''.;Okddx:..,;,''..;cl:,'...........':cc;;:cclllloooolllllc:;':,.........',,,
                     ..,,'.......:clollc;;:;;''''.',;'.'';;,...........,:;cckOxddd;.,;;;,,'',;:::,......''..';:cllcoooollllooolcc:cc:,:c,....'.......'
                    ..,;'.............,,'.';llc;,,';lloddddl:'.'. ...;xx:ckOkxoodx;':;,.',;;::,','.....','.';::cclldddoccllollc:;;cl:,;,''''.........'
                   ..,;,.........'',;;;;;;:oddo:;coxxkxdoddxddc,'....dkkxxdddollooc,;,...,;;:,..'',',,;,;;:llcccclloooolccc::::,,:c:;;...',,,'.......:
                   .,;,..'''.',llc,,,''..;lllloddddddooloooxxdxo:'....ckkxddddoooolc:,'..,;:,,'.'',',:clllollllllollllooc;'';;,:;';;;'..';::;,'....,:c
                  .';,'.''''':lol:,'....,dxdlcdkxdddoollodddooodxo:'...'oOxddddddddol:,',:c;,,,,,,;:llllccc:clllollloolc,...',,:;'',...,,;:c;;,''.;ool
                 .';;''',;;;ckd::oc,.....cxkxxkxddolccclxkdddoodxxdo,....ckOkxxxxxdol:;,:cc:::cllllc:;,;::;:lolcccol:cll;,,'.;;;;'....',,',;;;;;;coool
               ..';;'',,,,,,;c;,;c;.... .:ldkxo:;::;;:odooccllc:loodoc....cOOkkxkkxdol::clllloooolc:;,,;;,,:cccclllc;;:cc;'.';:,;'.....'.....';;cooool
            ...'';;'.''',,,,'','..........:ddol,','''cxcodlll:;cll:coxc....xOkkxxxxdoolodddooolcc:;;:::;,,;::::cllc:;;,';:,'::c,,,'.',;;'.''.',clooddd
          ...',,,,,..'',,,''','...........:dool;::,:;;c:dOkxollccc::cld:...xkxxxxdddxxxxxdddoc:;:::cc:;,,;;::::cc:,'..'',;,;lcc::cc;::;;;,,;:cloddxocl
        ...''''''......'''..,'............coollc,,,,,;clxOOxollooolc;;co'..cOxddxxkkkkkxxdodl:cclllcc::::::cccc:;,,,,,,,:;;:;,,,;:ccc;,;ccldxdoddol:cc
      ........''........'...'......',''...ll::c:;...'loxOOkxdddoodddoodxdoddxxxxxxdddodddololllllccc::::ccccc:c:;,;;;;,;;;:cc;,',;;;:ccloddxko;:c:::::
.............'''........'.........'::;,'.'ll:;cc;....co00OkxddddoodkOkxkkxxxxxxxxdooolloolcooooolc::cc:clll,',;,.',,,'';,,,;c:..,;,,;cloddxxdo,,,';ccc
                                                                                                             ...'c'  ..                               
                                                                                                             ....:,  .                                
                                                                                                              ...;:  ..                               
                                                                                                              ...,:. ..                               
                                                                                                              ...';.  .                               
                                  .';;;;;'.                                                                   ....;,  .                               
                                'okOxl:;;'...                                                                  ...,;                                  
                               lKKkdc,'''''...                                                                 ...';.                                 
                              :KXKd;...............                                                             ...;.                                 
                             .kX0o'..,codddlcoxdddddoc:;;;;,'.                                                  ...;'                                 
                             ,K0dlldxkxollOx:ldo:;;cdkocllcodddc;'.                                             ...,,                                 
                           ''oKOkkkkxo;''.l0oco:,;;lodc:::cclc::lcll:,.                                          ..';.                                
                          ;x,dOOkxdooc,''.c0kdc;:looodddoc:c:...',,;cll;.                                        ...;'                       ......'. 
                      .,:cxOxOOkdoc:::;;;:x0kdoooooooollodkkxdlcc;,,';:lc'.                                      ...;;.                 .....       .'
                      ;c,,kOOOkd;.......'oOOkkdo:'..',.  .;loo,,;oddo,,:ol:'                                     ...,:'             .',;;:cc:;;'......
                         .kkOOkc.....''lOkOOOxk:.....,.    .......:dkkxl:ldc;                                    ...'::.          .;::,'',;;;:coo:,'';
                         ;Okkkxo'...'dxO0kkkOOOl......           .',coxkkoldo,                          ..       .. .',.         .,;,,.....',:clccllc;
                        'dkxkkxxl;...;ok0xxxdxkl..,;,'.          ....,ldkkoldl.                      .,::,'.....  . ..'.        .:c,..........'coddl;'
                       .dkxxkOkdol:;'..;ooodc;'...';,'.          .....,;lokxod;                    .,:cc:;:clc;::,.  ..'.       ,c,,''........''';c:::
                    .,cdxxxxxkxdollll,..  ...     .,;,.          ......';,oOxxl.                 ''':o:....,:,...,:,.....       ',,;;,,'......','....'
                   :Okkkxooolllllccllc'..  ..     ..,,.         ..''''''',,okkx.   .          ....'oo,..';,'.......','..'.     .';;;;;;,......'''.....
                   ;kddddloolccc:ccc:;,'.    ...   ..,.        .:llc:::c:;,,xOk; ...       .... ';oo:.  .c,    .......',..    ..;cllc:;;,....''.,,'...
                    .''''.;xxoc:::::::;,..   ....   .''.      ,lc'.,,;,;lol;cOO:..'. .......   'dxdd,  .co'      ......''..  ..',:clll:,;;,..''.''....
                          ':::;.. ...,::,.   .....   .;,     .;.     .;,':l:cxOl..,.,,....  ';cxOkxkx''cdd:      .'.''.';;,'..'',;:c:,;::;;,,'....'...
                          ''...      .cl;......  ..   ';'             ....,;cxOd'.,,,.     :xxdo:;lodoxd:;c'     .'',;,';;,;c:,;:;cc;,'',:c:;::'......
                         .,....      'lo:'........... .,:.             ..,;::d0k;','     ...,,.. ,oxxxl;,,';.    ...';:;::;;coccccol;,,,'',:::::;;;;::
                         ',''.      .:lo:....   ........,;.             .,,;;d0Od::'    .....  .cd::c;..';;;c.  ...';:::llc::llccldoc:::,.',,;;;;::cll
                        .,;''. .....,;:c:,'..............,;..       ..  ..,..l0kdoc.   .'.....,dl....  ..',:lc. ....,ccclllllllooxxoc;::'..'...',;::::
                       .',,'...lkkocc;;::;;'..............,'............,.'..oOkddc.  .,'...,col....  .....';::,,',;;ccllllloooddxxoc:;:;'''.....',,,,
                      ..,,'....'oxooxdlc;;;;,.......'.....,,............:.'..xOxddl..';,''..,cl:,'...........';cc;,;:cllllloooooooll:;';;.........',,,
                     ..,;'.......clodolc;;:;;''''',,;'..',;,...........'c;:;o0kdddc.';;,,,'',;:c:'......'....,::llcllolllllooollcccc:,;c;'...'.......'
                    ..','............',,''';llc;,,',cloodddl:'...   ..od;:xkOxdddxc.:;;''';;;:;,;,.....','..;::cccodddolcclolll:;;:cc;;;'''''.........
                    .',,...........',;;;,,:oooo:,:odxkxdodddddc,'....lkOxddxddolodc';;'..';::;'.''''',,,,;::lccccllodoolcccc:::;,;c:;,'..',,,''......,
                   .';,..'''..'clc;,,','.;clooooddddoooloodxxxxo;'....cOkxddddolool:;,...,;:;'.''',,,:llllollllllloollool:,';;,;;,,;;,...;;;:;'....';:
                  .';,'.''''':lol;,'....;dxolcdkxdddolllodddooodxo:'...,dOkddddooddolc,'';:;',,,,,,:clllcclccllloolloool:'...,,::,','..',;:c:;,''.,col
                 ..;;''',,,,:ko::oc,.....cxkxxxxddollccoxkdddoodxxdo,....lOkxxxxxddol:;,;cc:;:cccllc::,;c:::cllcclllllll;'''.,;;;'.....,;',;;:;,,;lool
              ...';:,',,,,,,;c;,;l:..  ..:ldkxo:;::;;coddolcllc:coddoc....lOOkxxkkxdol:;:lllooolool:;;,;,,,;clcllllc;;:cc;''';:,;,.....''..'.,;;:loool
             ...';;,.'',,,,,'.,,..........:ddol,.,,''cxcldlll:,:llcldxl....dOOkxxxxddolldddoolllc:;;::;;,,,::::ccllc:;;',:,.;;:;,,..',;;'.''..';looodd
           ..'',,,,'.'',,;,'','...........:dool;;;':;;c:oOkxdccccc::cld:...dOxxxxxdddxxxddddoc:;;:::c:;;,;;::;::cc:,'.'',;,,cclc;::;::::;',,,:coodxxll
        ...''',,,''...'''''.,,............cooolc,,,,,;clxOkxolloooc:;;co'..cOxddxkkkkkkxxdodlc::ccccc:::;;:cccc:;,''''',;;,::,,,;::cc:',:ccddoldddocc:
      ........''........'...,.......''....llccc:;...'lodOOkxddddooddlloxdlodxkxxxxxxddddxoloollllcc:::::cccclccc;;;;;;,;;;::c;,',;;::ccllodxkd:ccc::::
  ...........'''........'.........';:;,,..ll::cc;....ldO0Okxdooolodxkkxxxdxkxxxxxdddoooodoclodolc::::ccclllc,;;;,,;;;,,,,,;:::'.,;;,;cllodxxxd,,,,;:::
                                                                                                             ....:;  ..                               
                                                                                                             ....;;  ..                               
                                                                                                              ...;c.  .                               
                                                                                                              ...,:.  .                               
                                                                                                              ....:'  .                               
                                   ';,;;;,.                                                                    ...,,  .                               
                                .lkOxl::;'...                                                                  ...';                                  
                               c0KOdl,'''''...                                                                 ...';.                                 
                              ;KXKd;..............                                                              ...;'                                 
                             .xX0d,..':loddlcoxdddooo::;;,,'..                                                  ...,,                                 
                             '00dlloxkxdllkk:cdoc;;cdxdcclloddoc,'.                                             ...';.                                
                           .'lKOkkkkko:,'.c0oco:;;;lldl:::cclc:clclc:'.                                          ...;.                                
                          'd,oOOkxddoc,''.:0kdc;:lodddddlc:::...',,;col;.                                        ...;,                       ......'. 
                       ';:dOdOOkdol::::;;;d0koooooooooooodxkxolc:,',';:lc,.                                      ...,;.                  ....      ..'
                      ;l;;xkOOkd;'.....''lOOkkddc'..,,....,odd:,:oxdl,':ll:'                                     ...':,             ..,;;:cc:;,'......
                         .xkOOkl.....''cxO0OOkkc... .,.    ......':xkOxc:ldl;                                     . .;:.          .;::,'',;;;;coo:,.';
                         'OxOkxo,....oxOOkkkkO0o.....'           .';cokOkoldd;                                    . .',.         .,,,,.....',:clccllc:
                        .dkxkkxdo;...;oxOkxxdxko..,;,'.          ....,lxxkoldo.                       .;;,.....   . ..''        .:c,..........,coddl:'
                       .okxxkOkdol:;'..;oxddl:,...',,'.          .....';ooOdox:                     .;cc:;:cll::;'.. ..'.       ,c,'''........''';c:::
                    ..;dxxxxxkxdoolll,.......     .,;,.          ......,;;lOxxo.                 .'';lc....':;...,:,. ...       ,,,;;,,'......','....'
                   ,kkkkxoooololclclll'.   ..     ..,,.         ..'....'','lkxk,               ..'.cd:..',.,. ..  .','..'.      ';;;;;;,......''......
                   ;kxdxdooolccc:cccc;,'.    ..    ..,'        .;clc:::c;;,'dOk: . .       .....',oo:.  .:;.   ......'''..     .;cllc:;;,.....'.','...
                    .,,,,.;xxoc::::::;;,..   ....   .',.      .cc;',;;,;lol::OOl.... .......   .lddo;   ;d,      ......'''.  ..',:ccll:,,;,'.''.'''...
                          .:lc:,.....,c:,.   .....   .;'     .:,.    .;,,coc:xOo..,.';'...  .';oOOkkd,.:dd:      .'.'..';;,''..',;:cc;;::;;,,'....'...
                          ''....     .cl;......  ..   ';'             ....,,:d0x,.,,;.     ,ddddoclddddxl;c'     .''';'',;,,::,,;;cc:,'',:c:;::'......
                         .,....      .cl:'........... .,:.            ...';::o0k:',,.    ..'::,..'oxxxo;,'';.    ...',;;;:;;:olccclo:,,,'',:c:::;,,,;:
                         .,''..     .:co:'...   ........,;.           . .,,;:l0Od::'    .....  .:dc:c:..';;,:.   ..';::cclcc:cocclddl::;,'',,;;;;:::ll
                        .',''. .....,;cc:,...............;;..       ..  ..,''c0kdoc.   .......'oo'.... ..';;cc. ....':cclllllllloxxdl:;:,..'...',;:::c
                       .',,'...ckxoc:,;:c:,'..............;'.......... .,.'..l0kdol. ..'....,:ol....   ...',;::,',,,,clllllloooodxxdlc;:;'''......,,,,
                      ..,,'....'ddooxdlc:;;;,.. ....'.....,,............:.'..dOxddl...,,''..,cl;''...........';cc;,;:clllllooooooool:;':;.........'','
                     ..,,'......,cooddlc:;::,'....,,;'..',,,...........'l:;,cOkxddc.';;,,,'',::c:,...........,::ll:cloolllloooolccccc;,c:'..........''
                    ..','............';;,'',ll:;;,''cllooool;'...  ...co;;dkOkdoddc.;;;,,,;;;:;;;,'....',''.,:::cllodddlccloollc;;:cc;;:,''...........
                    .',,...........',,,,,,;looo:,:odxkxdoddddd:,'.. .lkOxoxxxdolodc':;'..';:c:'.''...',,,,;:c::cccloddol:ccc:::;,;cc:;,'..,,,''......,
                   .',,'..''..'clc;,,,,,';coooooddddddolooddxxxo:'. ..cOOxddddolool:;,...,;;;'..'',,,;cllcoolllllloolloolc,,;:;;:;,;;;...,;::;,.....,:
                  ..,;'.''''':lol,',....;dxolcokxdddolllodddoooxxo:....;xOkddddooooolc,.';;:'',,,,;;cllolccccllooollooooc,...,,::,',,...,;:c:;,.'..:ll
                 ..;;,'',,,,:xoccoc,.....lxxxxkxdddolcloxkdddoodxxdl,....oOxxxdddddolc;,;cl:;::cclllc:;;cc::colcclllllll:,''.,;;;'.....';,,::;;;,;cdoo
               ...,:,',,,,,,;c;,;l:'.  ..:ldxxo::::;;coxdolclollloddoc....lOOkxxkkxdol:;:llooooloolc;;,;;,,;:lllclll:;:cl:,'',;;;,.....'''.'',,;:coool
             ...';;,.',,,,,,'.,,..........:ddol,.,,''cdlldlll:,:clcloxl....dOOkxxkkddolloddooollc:;;;;:;,,,:::::cllc:;;',:,.;;:;,,...,;;'..'..';cloodd
           ...'',,,'.',,,;,'','...........:dool;;;':;;c:oOkdoccc:c::cld:...oOxxxxxxddxxxxdddol:;;:::c:;;,;:c::;:cc:,'.'.,;,,clcc;;:;;;::;'',,;:lodxxdc
        ...''',,,,'...'''''.,,............cooolc;;;,,;:lxOkxolloooc:;;co'..cOxdxxxkkkkkxxdoooc::clccc:::;;:cc::::;''''',;,,;:;,,;::cc:,,:ccoolldddolc:
      ........''........'...,.......''....llcccc;...'lodkOkxdddooodolloxdllokkxxxxxxxdddxdlolclllcc:::::ccccllcc;;;;;;,;,;::c;,',,;:cc:clooxkxclllc:::
     ........'''........'..........,;;,'..ol::cc;....ldO0Oxxdooolodxkxxkxxxkxxxxxxddoooodoclooolc::::cccllll:;::,;;;;,,;,,;::c'..;;;:ccldddxxo;',,;:::
                                                                                                             ....;:   '.                              
                                                                                                             ....;c.  .                               
                                                                                                              ...,c.  .                               
                                                                                                              ...';'  .                               
                                                                                                               ...;,  .                               
                                  .';;;;,,.                                                                    ...,;. ..                              
                                .lkOxl::;,...                                                                  ...':.                                 
                               :0KOdl;','''....                                                                 ...;.                                 
                              ,KXKx;..............                                                              ...,,                                 
                              dX0x,..';cooolcoddddool:;;,,,'..                                                  ...,;                                 
                             .0Kxlcoxkkxolkk:cdoc;;cdxdlclllodo:,..                                              ..':.                                
                           .'c0Okkkkkoc,'.c0ococ;;;cldl:::ccol:clclc;'.                                          ...,'                                
                          'd,l0Okxxxoc,'..;Okol;;lododdooc;;:...',,;cll;.                                        ...,,.                      ......'. 
                       .;;dOdO0kxoc::c:;;;o0Odllooooooodddkkdocc:,''.;:lc'.                                      ...,;.                 .....      ..'
                      ;o:;xOO0Ox:'.......:OOkkddc'..,,....;odxc;codoc,';ll:'                                     ...';,             .',,;:c::;,.......
                          xkOOkl.....'';xkOOkkxl.....,.    .......:dkOdc:lol;.                                    . .;c.          .;::;'',,;;;coo:'.',
                         .kkOOxo,....ldkOkkOOO0o.....'.          .';ldxkkoldd;.                                   . ..,'         .,;,,'....';:cl:cllc:
                        .oOxkkxdl;...:dxOkxxxxkd..,;,'.          ....,lxxkoldo'                       .,,'..      ....''.       .;:,'.........,coddl:'
                       .lxxxkOkxdl;;'..:dxdxol;. .';,'.          .....,:ooOdodc                     .'cc:;:clc::;... ..'.       ,c;'''........',,:lc;:
                     .,odxxxxkxdooool'.......     .;,'.          ......,;;cOxdd.                 ..';cl,...':c'..;:,.....       ,,,,;,,'......','....,
                   ,xkkkxoooooolclclll'.   ..     ..,,.          .......','ckxk;               ..,.;ol..',.,'...  .,,'..'.      ',;;;;,,.......'......
                   ;Oxdxdooolccc:cccc:,'.    ..    ..,'         'ccc::::;;''oOkc   .        .....':dl'.  ;;.   .......''..     .;lccc;;;,.....'.','...
                    .,;;;';dxoc:::c::;;,..   ....   .',.      .:lc;,::;:lll;,kOo....   .......  codl:   ;o;      ......'''.  ..',:cclcc;,;,'.''.'''...
                          .coo:,'...',::,.   .....   .,,.     c:..  ..;,;coc:dOd'.'..;,'...  ..cOOkkx'.,dd:      .'....';;,'....,;:cc;:c:;;;,'........
                          .,....      :l;......  ..   ';'             ....,;:oOx,.,';...   .lxddxloddodxl:l'     .''',,',;,,;:,,;;:c:,'',:c:;::,......
                         .,'...      .coc'........... .,:.             ..',;:oOk:',;.     .'ll:'..lxxddc;,';.    ...',;;,:;,:olcccll:,'''',:::::;,',;;
                         .,''..     .;clc'...   .. .....;;.           . .';;:lOOd::'     .'..  .;dlcll'..;;,:.  ...',;:cclcc:colclddlc:;;''',,;:;::clo
                        .',,'.. ....,:clc'...............,;.        ..  .','':0Odoc'   ..'..'..oo,.... ..';;cc. ....'::cllllllllldxdl:;:;..'...',;:::c
                       ..,,,. .ckxo::,,::;,'..............;'..      ... '.'..:0kddl. ...'...':oo.....  ...',;c:,''',,:lllllooooodxxdlc;:;'.'......,,,,
                       .,,'.. .'dxooxdlc:::;,.. .....'....,,............;.'..cOxddo. .,,'...,cl:.'..........'',cc;,;;cllllloooooooooc:,,;,........'',,
                      .';,......,oooxdoc;,;;,'....',;'...',,'...........l:,';Okxdxl'.,;;,,'',:cc:,...........';clc:cllllllloooolccccc;';:,....'.....''
                    ...,,...........',;:;'',ll:;;,',:clloool;'........;c;,okkOxdddl.;;;,,,,,;,;;:;'.....'''.':::cllooddocclloool:;:cc:;:,''...........
                    .',,'...........',,,,,;lodo:,:ldxkxdoddddo:,'.. .;kkkoxkxdolodl.:,,..';:cc,.',....',,,;;cc:cclloddol:clcc:::,,cc:;,'..,,,''......'
                   ..,,'......'clc;,,,,,';coloooodddddoloodxxxxo:'.. .lOkxxxddolool;;,'..,;;:,...';;;:cllcoolclllllooololc:,;::;;;,;;;'..,;:;;,.....,:
                  ..,;'.''''':cll,',....,dxol:okxdddolllodddoooxxo:....ckOxdoddoooool:'.',;:,',,,,,;cllolcllcllollllloool,..'',;:;',,...',:c:;,....;ll
                 ..,;,'',,,,:kdccl:,.....lxxxdxxdddolllldkdddoodxxdl'....oOxxxddoddolc;,,cc:;;:c:llcc:;:cc::collllllllloc,.''';;;,..'..';,,::;;;;,:ooo
               ...,:,'',,,,,:l;,;lc'.  ..:odxxo::::::coxdolloollloddo:....oOOkxxkkxdol:;;loooooloolc:;,;;,,;:lllccll:::cl:,'',;;,,.....'''..',,;;coool
             ...';:,'',,,,,,,',,'.........:ddol,.,,''cdlodllc;;:cllloxl....oOOkxkkkdolcloddooloolc:;:;:;,,,;::::cllc::;,,:;.,;::,;'..',,'..''.',cloood
           ...''',,''',,,,,,','...........:dool;;;';;;c:oOkxoccccc::cld:...lOkkxxxxxxxxxxdddoc:;;:::c::;,;:c::;:cc:;'''.';;,:lcc;;;;;;:::,',,;;coddxdl
         ...'',,,'''..',,,'.',............cooolc;;;,,;:lxOkxolloooc::,co'..cOxdxxxxxkkkkxdoooc:::ccccc:;;;:c:::::;,'''',,,,,:;,,;::cc:,,::clollodddolc
       ...'....'............,........'....llcccc,...'lodkOkxdddooodoccodocloxkxxxxxxxxxxxdoolclllcc:::::cccclclc;,,;;;,,,,::c;,',;;:cc:clloxkxllllc:::
     .........''........'..........';,,'..oc;:cc,....ldO0Oxxdodolodxkkxxxxxxxxxxxxddoooodollooolc::::ccclllll;;:;;;,,'',,,;;;:,.';;;:ccloddxxd:,;;;:::
                                                                                                              ...;:.  ,.                              
                                                                                                              ...,:.  .                               
                                                                                                              ...,:'  .                               
                                                                                                              ....;,  .                               
                                                                                                               ...,;  .                               
                                   .;;,;;,.                                                                    ...';. ..                              
                                .:kOxo::;,...                                                                   ...;.                                 
                               ;OKOdl;''''.....                                                                 ...,'                                 
                              '0XXk:............                                                                ...,;                                 
                              oXKk;...,:oolcclddddolc:;,,,''..                                                   ..':.                                
                             .kKxllldxkxookk:codc:;coxdlclllodl:,..                                              ...:'                                
                           .':0Okxkkkdc;'.:Odcol;;,:ldo:::cllocclllc;'.                                          ...,,                                
                          .d;c0Okxxxol,'..,Okdl;;cloddoolc;;:'..';,;cll;.                                        ...,;.                      ......'. 
                       .,;o0ok0kxol::c:;;;lOOdllooooododdxxxxoc::,''',clc,.                                      ...';.                 .....      ..'
                      'dc;dOO0Oxc'.....'.:O0kkxol,'.,;....,odxl;codo:,';ll:,.                                     ...;;.            .',,;:cc:;,.......
                          oOOOko'....'';okOOkkxo.....,.    .......:dkkdc;col;.                                    ...,c'          .,::;'',;;;;coo:,'',
                         .kkkOko,....cokOkOOOO0d.....'.          .':ldxkkoldd;.                                   ....,,         .;,,,'....';:cl:clcc:
                         cOkkkxdo;...:dxOkxxxxOk'.',,'.          ....,lddkoloo'                        .,'..      .....,.       .;:,'.........,coddlc,
                        ckxxkOkxdl;;'.':xkxxdoc. ..;;'.          .....,:olkdodl.                     .;lc;::c:::,... ..'.       ,c;,''........'',:ll::
                     .'lxxxxxkkxoooll'.....'.     .,;'.          ......,;;:kxdd'                  ..,co:...':c..';:,. ..'      .;;',;;,'......';'...''
                   .dkkkxdooooolclllll'..  ..      .,,.           ......',':xxk:                .'..lo,..,.',...  .,,'..'.      ',;,;;,,.......,'.....
                   ;Okdxdoollcccccccc:;'.    ..    ..,'         .;cc:;;;,,,.cOko.  ..        ....';oo,.  ,,'.    .....''..     .,lccc:;;,.....''','...
                    ';:::,;xxocc::cc:;,,..   ....   .',.       ,ll:;;;;:llc;,kOd....    ......  ,ldcc.  'o:.     ......'''.   ..,;cclc:;,;,'..'.','...
                          .cooc;'..'',::,.   .....   .,,.     :l,. ..';;;col;l0x,..'.',''.... .,kOkkd' .odc.     .'''...,;,'....',:cc::c:;;;'.........
                          .,..'.      :o:...... ...   ';'     ..      .'..;;:lOk:.'',,...  .:dddkxdddooxocc,      ''','.,:;';;,';,:cc,,,,;::;;:'......
                         .,,...      .coc'........... .,:.             ...,::lOkc';,'      .ddl;..lxxddl;'';.    ..'.',,,:;,;olcccllc,,',',;::::;,''',
                         .,'.'.     .,llc'...   .. .....;;.             .',;:cO0dc:;.    .'...  ,olloo;..;;,:.   ...,;::clc:;colclodo::;;''',;::;:::lo
                        .';''.  ....'::lc'...............,;.        ..  .'',,;OOxoc'    .'.....ld;.... ..';;cc. ....';:clllcllllldxdlc;::......',;::cc
                       ..,,,...;xdl:;,,:c:,'..............;'..     ... .'.'..;Okddl..  .'...':lo'....  ...',;c:'.'',,:clllllllooddxdoc:::''''.....,;;,
                       .',,.. .,dxooxdlc:::;,... .........',............,''..:Oxddl' .',''..,cl;............'',cc;,;;:clllloooooodool:,';,.........',,
                      .',,......,oodxdlc;,;;,'....',,'...',;............lc,,,xOxdxo'.,;,,'..,;c::,...........';:cc:cllllollooooolcccc;';:,..........''
                     ..,,.........'',;;:;,',cl:;;,,,:cclooll;'... .....;;;ldxOkddxo.,;;,,,,,;;;::;,.....'''.';::clllodoolclloool:;:cc:;:;,'....'......
                    ..,;'...........''',,,;lddo:,:loxkxdoddddo:,'....'xOxldkkxolodo.;;;..,::cc;.',....',,,;;cc:ccllldddo::clccc:,,:cc;,,'.,,,'''.....'
                   ..,,'......':cc;;;,,,';cooooooddddddllooxxxxo:'.. .lkkxxxddolooo,;,'..',;:;...',;,:cllclolclllllooooolc:;;::;;;;:;:,..';;;;,'....';
                   .,;,.''''':cll,',....,dxlc:okxdddocllloddoooxxo;....lkOxddddoooolc:,..';:;''',,,;colllclllllolollloool:'.',,;:;',,'..',:cc;,'....cl
                  .,;,''',,,:kdcco:'.....lxxxdxxdddoollldkxdooodxxdl'...'dOxdddddddolc;,,:c:,;:cccclcc::ccc::llllllollloc,....;;;;'.'..',;,;c;;;,,;ldo
                ..,;;'',,,,,:l:';lc'.   .codxxoc:c:::codxdolooolloddo:....oOOkxxxkxdol:;;cloooollool:;,;;;,,:llllcllc::clc;''';;,;.....'',..',;;;:lool
             ....,:;'',,,,,,,',,'....  ...:ddol;.',,':xlldolc:,;cllooxl....oOOkxkkkdolcclddolloolc:;:;;;,,,;:cc:cllcc::;,:;',:;:,;'..',,'..'..',:loooo
           ...''',,'.',,,,,,',,'..........:dool;;;';:;c:okkdoccc::::lld:...:kkkkxxxxxxxxxxxdol:;;::::c:;,;;cc:;;:cc:,''.';;,:lcc:;;;,;:::,',',;:lddxxo
         ...''''''''.',,,,''',............coool:;;;,,,:lxOkxolllooc::,co'..:kxxxxxxxkkkkxdoooc:::cccc::;;;::::::c;,'''',,,',:;,,;:ccc:,';c:colclodddoc
       .......''........''..,.............llccc:,...'cldkOkxdddoooooccodoccokkkxxxxxxxxxxdollccllcc:::::ccccclcc:,,,;;',;;;:c:,,,;;:cc::clodkkolllc:;:
     ..........'............'.......',''..ol::cc,....ldO0Oxxdodolldxkkxxxxddxxxxxxdddooddoolooool:;:cccccllclc::;;;,;,',;;;:::,.';;;::clododkk:';;;;;:
                                                                                                              ...;:.  ';                              
                                                                                                              ...,c.  .                               
                                                                                                              ...';,  .                               
                                                                                                               ...,:  ..                              
                                                                                                               ...':. ..                              
                                   .;;;;;,.                                                                    ...':. ..                              
                                .:xOxo::;,'..                                                                   ...;'  .                              
                               ,OKOxl:,'''.....                                                                 ...,'                                 
                              .0XKkc...........                                                                 ...';.                                
                              lXKO:...,:lllccldddoolc:,,''...                                                    ...;'                                
                             .kKklcloxkxdokOc:odc:;:oxdlccclool:,..                                              ...,,                                
                           ..:0Okxkkkdl;,';Od:ol;;,:loocc::clolcoll:,'.                                          ...,;.                               
                          .l;:0Okkxxol;''.'xOol;,clodddoll;;c,...;;;clc;.                                        ...';.                      ......'. 
                       .',l0dx0kxdlc:c:;;;cOOxolloooodddxxdxdlc:;'''',ccc'.                                       ...;'                  .....     ..'
                      'dl:dOOOOxc,.....'.,x0kxxdo:'',;....;dddo:cool:,';ll:,.                                     ...,;.            ..',;:cc:;,.. ....
                          lOkOOd'....'',lkOOkkxo'....'.    .''....:dkkdc;col;.                                    ...,c'          .,::;'',,,,;cooc,'''
                          xkkOkd,....:oxOkkOOOOd.....'.          .':odxkkolod:.                                   ....,,.        .:;,,'....';:clcclcc:
                         :Okkkxdo;...:dkOkxxxkkk;.',,'.          ....,lddkolod;                        .''..      .. ..,.       .;:,'.........,coddol,
                        :xkxkOkxdl;,'.'ckOxxdoc'...;;'.          .....'cookdooo.                     .,cl;;;;::;,... ..'.       ,c:,'..........',:ll::
                      .:dkxxkkkxollol'....',...   .,;'.           ... .,;:;kxod,                  ...:lc'..,;c,.';:,. ..'.     .;;,;;;,'......';'...',
                   .odkkxdoooooollllll,..  ..      .,,.           ......',.;xxxl                 ''.:o;..,..;'... .,;'..'.     .,',,,,,,.......''.....
                   ,Okdxxoollcccc:cll:;'.    ..    ..,'.        .,::;;;;,,,.:Oxd.   .         ...''ld;...,'..   .....','...     'cccc:;;,......'.,'...
                    ,:ccc;:xdoc:::cc:;,,..   ....   .',.       .clc;;:;:cc:;'xOx'....     ..... ':dlc.  .lc.     ......','.   ..';cclc:;,;;,..'.',....
                          .cdol:,'.,,;::,.    ....   .,,.     ,l;'...';;;lol::0k;..'..'''.. .  .dkkxd'..ldc.      .''...,,,'....',:cl::c:;;;'.........
                          .,'''.     .;o:......  ..   .;.     ..      .,'.:::ckOc..',;...   'codkkkxxdodocl,      .'','.,;;,;;'',,:cc;,,,;::;,;,......
                          ',....     .:oc'..... ..... .,:'              ..';:lkOl',,,.     .xxdc;'lxddxo;'';.    ..'.',,,;;,,lc:ccclc,,',',;:::::'..',
                         .,,...     .'clc'....  .. .....;;.           .. ';;:ck0dcc:.    .'.... 'ooooo:..;;,:.    ..,,;::lc:;:olccodo::;;,.';::;;:::cl
                         .;,'..    .'::lc''..............,;.        ... ..',,;k0kdl;.   .'.....cd:..... .';:cc. ....';::cllclcllloxdlc;::'.''..,,;:ccc
                       ..,,,'..;ddl;;',::;,...............;,..     .... .'''.'kOddo'   ..'...;ld,....  ...',;c:,.''',,clllllllloddxxoc:::,.''.....';;,
                       .',,'...,dkooxdcc:::;,.............',............,,''.,Okdxo'...'''..,co:............',;::;,,;:clllllooooodool:;';,.........,,,
                      .',,......;oooxdl:;;:;,'....'','...'';'...........cc',.oOxddo'.',,,,..,;c:;,.......'....,:lc;;cclllllooooolcclc;,,:;..........''
                     ..,,'........',;:::;,,,cc;;;,',;c:cooll;'... .....;;;cdd0kdddo',;;;,,,,,,;:c:,'....''...,::clllooolllclooolc:::c:;::,............
                    ..','............'''',,codo:,;codxkxoddddo:,'.....dOkcdkkxdoooo';;;'.';:cc:'',.....,,,;;:ccccclldddoc:cllcc:;,:cc:,,'.';,'''......
                   ..,;,......':cc;;;,,,,:codooolddddddlloodxxxo:'....okkxxxddoollo,;,'..';;::...',,,;cclclllccllllloddolcc:;::;;;;:::;...,;;;,'.....,
                   .';,'''''';cll,.''...,ddll:lxxdxdocllloxxoooxxl;....okkxddddoooolc;'..';;;'''',;;:lllcccllclollolloolo:'.',,;::,,,'...,::c:;'....:l
                  .';,''',,,:xdcco:'.....lxxxdxxddooollldxxddoldxxdl,...,xOxdddddddool;'';::,,:cccclcc::llccclllclolloool;....,;;;'.'..',,,;::;;,,,;do
                ..';;'',,;;;:l:,;ol'.   .codxxocccc::coxxdolooolloddo:....dOkkxdxxxdlc:;,cloooollool:;,,;;,,:collcllc::clc;''';;,;'.....',''',;:;;lool
              ...,;;,'',,,,,,',,'.........:ddol,.',,':dlldoll:,;clloodl...'oOOkxkOkdolcclddolooolc::::;;;,,;:ccclllcc::;;::'':;:,,,..',,'..''.',:loloo
           ....'';;'.',,,,,,',,'..........:dool;,;';;;l:okkdo::c:c::cox:...;kkOkxxkxdxdxxxxdolc;;:::::::,,;:::;,:cc:;,'..,;;;lcc:,,;,;::;,'''';:loddxd
         ....'''''''.',,,,''',............coool:;;;;,,:lxOkdolclooc::,cd'..;Oxxxxxxxkkkkxdoooc:;:cccc::;;;::::;:::,'''',,,',:;,,;;:cc:;,;::cllclodxxdc
       .......'''.......''..,'............llclcc,..''cldkOkdoooddoooccldo:clxkxxxxxxxxxxxdoolccllcc:::::ccc:clll:,,,;,,,;;;;c:,,,;,:cc:::lodxxoloolc:;
      .........'............'.......','...llc::c,...'cdO0Oxxdooolldxkkkxxxddxkkxxxdddddddoolllool:;;:ccccccccccc;;;,,,'',,;;c:,'.,;;;:clooodxkl;::::;:
                                                                                                              . .':'  .;                              
                                                                                                              ...':,  .                               
                                                                                                              ....;;  .                               
                                                                                                               ...,:.  .                              
                                                                                                               ...':.  .                              
                                   .;;;;;,.                                                                     ...;'  .                              
                                .;xOxoc:;,'..                                                                   ...,'  .                              
                               .kKOxo:''''.....                                                                 ...,,                                 
                              .OXKOc'.......  .                                                                  ..':.                                
                              :XXO:...';ccccccoooollc;,,''...                                                    ...;,                                
                              dXklcloxkxdokOc;oxl:;:oxdlccllool:'.                                               ...,;.                               
                           ..,OOkkkkkxl:,';kx:lo;,,:looc:c:clolloll:,..                                          ...';.                               
                          .cc;OOkxxxdl;'.''dkoo;,:loooollc;;c,..';;:clc;.                                         ...;.                      ......'. 
                        ''c0dd0Oxdoc:c:;;;;kOxocloooooddxxddxc::;'''',ccc'.                                       ...,,                  ....     ...'
                      .docokOO0xl;.....'.,dOkxxdo:,,,:....;dxdd:lool:'.;ll:,.                                     ...';.            ..',;:cc:;,'. ....
                          :OkOkd,.....''ckO0Okxd,.. .,.    .''....:dkkd:;col;.                                    . .':;          .;::;,,,,,;;cooc,'''
                          okkOkd,....;ldOkkOOOOx.....'.          .':odxxxllod:.                                   ....,;.        .:;,,,'...',:clccllcc
                         ,kkkkxdl;...:dx0kxxxkkO:.',''.          ....,odokoclx;                         .'..       . ..'.       .;:,'.........,cloddl,
                        ,xkxxkkxdl,,'.'ckOxxdoo;...;;'.           ....,colkdooo.                      .:l;;,,,;;'. .  ..'       ,c;,'..........',:llc;
                      .;dxxxkkkdoolol'....','..   .;;'.           .....,;:;kkod:                   ..;ll;'';:c;.,::,. ..'.      ;;,,;;;,......';'...',
                   .coxkxdddoooollllll,..  ..      .,,.           ......',''xxxo.                .'';oc.....','.. .;;'..'.      ,,',,;,,'......''.....
                   ,OOxxxollllcccccclc;'.    ..     .,'.         .;;;,,,,,,.;kxx.   .          ..'.:dc...,'....   ...','...     ':cccc;;,......'','...
                    ,llll;:xdocc::cc:;,,'.   ....   .',.       .;lc;;;;:c::;.dOk,....      .... .;llc'  .cl.     .......,'.   ..';:cll::,,;,..'..,'...
                          .cxdl:,'',,;::,.   .....   .,,      .cc;'.',;,:ool:;Ok:..,...'....   .ckkdd' .cdl.      .'.'..,;,'....';:cc:;cc,;;'.........
                          .,'',..    .,l;'...... ..   .;.     .,.     .;''c:::kOl..'.;'.... .;cokOkxkdlodll;      .,'''.';;;,;,'';;cc;,,,:::;,;,......
                          ''....     .;ol,........... .':'              ..',:cx0o'.,,.     .dkdo:;lddodd:,,;.     .'..,,';;,,ll:ccclc,,,'',;:::c:,...'
                         .,'...      'cll,..............;;.            ...;;:cx0dc;:'     ..'''..ldoddc'.,,';.   . .',;::cc:;:olccldo::;;,'';:::;:::cl
                         .;,'..    ..:clc,'..............,;.             .'',,x0kdl:.   .......:dc..... .';::c.  ...',::cllllclllodxoc:::,.''..',;:ccc
                        .';,'..'ol:;,',::;,...............;,..      .. ..'.'''xOxdo;.  ..'...;ld;..... ...',;cc,..'''':llllllllodddxoc:::,.''.....';;,
                       .',,'...,xkooxdc:c:;;,..............,............',',.'xkddd,...'''..'co:............',;::;,,;;clllllooooddddo:;,;,'........',,
                      ..,,'.....;dooxdlc;,;;,'.....','....';'...........:c''.:Okddo,..,,,,..,:c:,''......'....,:cc;;:clllllloooollccl:;':;..........',
                     ..,;'.......',;::cc:,',cc;;;,'';:;cllll;'.........';::ooOkddxd,';;;,,,,,;,;c:,'....''...,::clllloololclooolcc::l:;;:,'...........
                    ..';,............''''',cooo:,;cldxkxoddddo:,... ..ckx:okOkdoood',;;,'';:cl:,';'....',,;;:ccccclooddolcclllcc;,;cc:,,,.',,'',......
                   ..',,......':cc;;,,,,,:cooooolodddxdlllodxxxo:'....okkxddddoollo;,,,..';;::,..''',;:llclolccclllooddolccc:::;;;;;;;;'..,;;;,'.....,
                   .';,'''''';cll,'''...;ddoc:lkkdddocccloxxoooxdl;....oOOxddddooool:;'..',;:,'.',,;:lolc:cllcllolollooloc,'',,;::,,;,...';:c:;'....;l
                  .';,''',,,:ddlcc:'....'okxdoxkxdooollldxxoolldxxdl'...;xOxdddooodolc;'',;:,';ccccccc:cllccclllloolloool;....,:;;,.''..';,;::;,,,',od
                 .';;'',,;;;co:,,ol'. ...codkxolccc:ccodxdooodooldddo:...'dOkxxxdxxdllc;,:lollollool:;,,::;,;collcclcccclc;,'',;;;,.....','.';;;;;clol
              ...';;,'',,,,,,',,''..... .':ddol,.',,,:xlldoll:,;clloodl...'oOOkxkOkxolc:codoloooolc::;;;,,,,:cccclllc::;;::,';;:,,,...','...'..,:clloo
           ....'',;,.',,,,,,',,'..........:dool;,;';;:l:lkkdo::::c::cod:...,kkOkxkkxddddxxxdolc:;:::::::,,,:::;;;cc:;,''',;;;lcc:;;,',::;,.',',:cooddd
         ....''''''''',,,,,',,............coool:;:;;,,;lxOkdolclooc:c;cd,..,kxxxxxxxkkkkxdoooc:;:cccc::;,;;c:;;:::;,'''',,',;;;,;;:c:::;;:;:llccoddxxl
       ......''''''....'''.','............llclcc,..''cldkkkdoooddoooc:cdo::lxkxxxxxxxxxxxdoolccllccc::::cc::cccl:,,,;;,,,,;;:c,,,;;;:c:::cldxkdooool:;
      ....'..............'.','.......'....llc::c,....cdk0Oxxdooollddxxkxxxddkkkxxxddxxxxxdolloldoc;;::::llc:cllc;;;,,'.',,;;:c,'',;;:cccooldxko;::::;:
                                                                                                              ...':,  .:.                             
                                                                                                              ....;;  ..                              
                                                                                                               ...,:. ..                              
                                                                                                               ...':.  .                              
                                                                                                                ...;'  .                              
                                   .;;;;,,.                                                                     ...,,  .                              
                                 ,dOxoc:;,'..                                                                   ...,,  .                              
                               .kK0kd:,'''.....                                                                  ..';.                                
                              .kXKOl'.......  .                                                                  ...;'                                
                              ;XKOc....,:cc::coolllcc;'''....                                                    ...,;.                               
                              oXOlclodkkxoxOl;lxlc::oxdlcclllol:'.                                               ...,;.                               
                            .,O0kxkkkxo:,',kk:lo;;,:codc:c:cloolool:,..                                          ...';'                               
                           :c,OOkkxxdl;''..dOoo:,:codddlc::;:;..';;:clc;.                                         ...,'                       ....... 
                        ..;Odo0kkxoc:c:;;;,x0kocloooooddxxdodl:;,.''',:cc'.                                       ...,,.                  .....   ...'
                      .docokO0Oko;'....'.'d0kxdddc,,;:,...;oxxdlodoc;,.;cl:'.                                     ...';.            ..',;:cc:;,.. ....
                       .  ;OOOOd,.....'';xk0kkxd;.. .,.  . .,;,...;dkxd;;col:.                                     ...;:          .,::;,,,,;;;:olc,'''
                          cOkOkd;....,coOkO0OOOx.....'.          .':oxxkxlcldc.                                    . .,:.        .::,,,'..'';:clcccccc
                         'kkkkkdl;...:dxOOxxxkkOl.',''.          ...',odokdcld:.                         ...       . ..''       .;;,'........',cooool;
                        .dkxxkkxdl,'..'ckOxddod:...;;'.           ....,colkdooo'                       ,c:;''.',.  .  ..,.      'c:,'..........',:ol:;
                      .,okkxxOkdooooc'...',;,..   .,;'.           .....,;:,xxod:                    .'cl:,';:cc,,;;'. ..'.     .;:,',;,,.......;,..'',
                    :oxkkddddoddllllll,..  ..      .,;.           ......',..dxxo.                .'.,co,.....;,....;;'...'      ;,',,;,,'......,,.....
                   ,0Oxxxollllcccccclc:'..   ..     .,'.         .,,,'''','.,kxk'   .          ..,.,ol'..;'.,..  ....,,'.'.     .;:ccc;;;......,.''...
                    ;llll::ddocc::ccc;,,'.   ....   .''.        'cc:;;;:c:;;.lOk; ...      ......,cdl,. .:c'.    .......,''.   ..;:lol;:,,,,..'..,'...
                          .ckdl:;,,,;::;,.    ....   .,,.     .;l:,',;;,:oll:,OOc..,. ....'..   ;dxdl'  :xl.      ...'..,;,'....';::cc:cc,,;,.........
                          .,,,;'..   .,l:'. .......   .;'     ':.     .;,,cc::dOo..'.;,....  ';ckOkxkdcldoo,      .''''.';;;,;,'',;:l:,,;:::;,,,......
                          .,....      ,ol,........... .':'              ...;:co0d,.',..    .lxxoocldddddc;,;'     .'.',,';;,,cl;:ccll,,,'',;:::c;'....
                         .,,...     ..:ll,............ .;;.            . .;;:cd0xc,;'     ..';;..cddddl,',,';.   ...',,;::::;;lolclooc:;;,'',;:;;::::c
                         .;,''.    ..;:oc,'..............,;.            .'',,;o0Oxl:.    ......;dc...'...';;:c.   ..',;:clllccllclddocc::,''''',;;:ccc
                        .';,'..'cc;,,',::;'...............;,..      ..  .'.,''d0xdd:.  ..'..',cd:. ... ....,:cc,....'';clllllllodddxdl::c,'.'.....';;;
                       .',;,...,xkdodoc:c:;;,.............';.............,.,..dOxdd;. ..'...'co:............',:::;,,;;:lllllloooodddoc;,,;,........',,
                      ..,,,.....:dooddoc:;;:;'.....','.....;'...........,c',.,kkxdd;..,,,,..,:c:'.'...........';cc;;:ccllllloooollllc:;';;'.........,,
                     ..,;'.......,::cccc:,',:c;,,,',;:;:llll;'..........,::clkOxddd,.;;;,,,',;,;c:,'....''....:::lllloollllcooollc::cc:;:;,....''.....
                    ..',,..............'''':ooo:,;:ldxkxoddddo:,.. ...;kd:lkOkxooox,,;;;'';:cc:;,;,....',,,,:cccccloooddlcccllcc;,,cc:,;,'',,''''.....
                    .',,'.....':c:;;;;;,,:cooodolodddxxollodxxxo:'....okkkdddddolld;,;,'.';::c;..''.',:ccclolccclllooddolccc::::;;;:::;,..';;;,'.....'
                   .';;'.'''';clc,.''...;ddoc:lkxdddoccclodxoooddl;....oOkxddddooloc:,'..',;:;'.',;:cllol:cllcllllolloooll;,',,;::;,;;'..';:cc;'....'c
                 ...,;''',,,:ddlcl:'....'oxxdoxkxddolllldxxoolldxxdl'...:OOxdddooodolc;'',;:;,,:ccccccc:cllcllllloolloool:'...,;;:;.''..',;;::;,,,''cd
                 ..,;,',,;;;co;';ol,.....coxkxdllcccccodxxdoooooldddo:...,dkkxxdddxdll:;,:collollool:;;,::;;;clllclllcccll:,'',:,;,.....';,',;;;;;:lol
              ...';;,'',,,,,,',,''..... .':ddol,.',,,:xlldool:;;clloddl...'dOOkxxOkxolc:codollooolccc:;;;,,,;cllccllc::;;cc,';;:;,;...',''..'..,;clllo
           .....';;,'',,,,,,,','..........:dool;,;';;;l:lkkdo:;:cc::cox:...,xkOkxkkxddddxxxdoll:;:::::::;,,;:c;;;ccc:;,'.,,;;ccc:;,,',;::,'','',:loodd
         .....'''''''',,,,,',,............coooo:;:;,,,;lxOkdolclolc::;lo,..'xxxkxxxkxkkkxxdooc:;;cccc::;,;;c:;,;::;,,''',;'';:;;;;:c:::;;:;;ccccoodxxd
       ......''''''....'''.','............llcccc,..''cldkkkdooooooooc::dl;;ckkxxxxkxxkkxxdollc:cclcc::::cc:::ccl:;,,;;,,,,,;::,,,,,;:c:;:cloxxdoooolc:
      ....'.............''.','.......'....llcccc,....cdk0Oxxdodooldxddkxxxooxkkxxxxxxxxxxddllololc:;::::ccc:cllc;,,',,.',,,;:c,,,,;;:cccllldxkd:ccc:::
                                                                                                              ....;,  .c.                             
                                                                                                              ....;:  ..                              
                                                                                                               ...,:.  .                              
                                                                                                               ...':'  .                              
                                                                                                                ...;,  .                              
                                   .,;,;,,..                                                                    ...,;  .                              
                                 'oOxdc:;,,..                                                                   ...,;. .                              
                               .dK0xoc,''''....                                                                  ..':.                                
                              .xKK0l,.......  .                                                                  ...,,                                
                              ,XK0l....';c::::llllcc:;'.....                                                     ...,:.                               
                              lXOoccldkkxdkOl;lxoc::oxdlccccllc;'.                                               ...';.                               
                            .'k0kxxkOxo:;''kk:lo:,,;codl:c:clooodoc:,..                                           ...;'                               
                           ,c,Okkxxxxl;''..oOooc,;cldddlc::;:;..';::clc;.                                         ...,,                       ....... 
                        ..,Odl0kkxdl:cc:;,,xOkdccoooooddxxoodc;;,..'',clc,.                                       ...',.                  .....   ...'
                      .odloOOOOkd:'....,''oOOxddoc:;;:,''';oxxxoodl:;,.;cl:'.                                     ....;.            ..',;;cc:;,.. ....
                       .. ,OkOOx;.....'',dO0kkkd:.. .,'  . .,;,...:xkxo;,:ol:.                                     ...,:.         .,::;;,,;;;;:loc,'''
                          :OkOkd;....'cckkO0OOkk'......         ...:dxxkxccldl.                                    . .':.        .::,,,'..'',:cccclc:c
                         .xkkkkdo;...;xxOOxxxkOOl.',''.          ...',odokdclxc.                          ..       .  .''       .;;,'........',cooodl;
                        .okkxkkxxl,'..'lkOxxddxc...;;'.           ....'locxdood,                       .::;'...'.  .. ..'.      '::,'..........',:ooc:
                       .oxkxxOkxooloc'...,;;;..   .,;,..          .....,:c,dkodc.                    .;cc;,;clc;;;,'.  ...      ;c,,,;,'......';,.''',
                    ,ldkkdddddddllllll,..  ..      .,;.           ......',..oxdd.                 ..,co;.....,;'...;;'.....     ;,',,;,,'......',.....
                   '0Oxxxollllcccccclc:'..   ..     .,'.         .','..''',.'kxk,   .           .'..co,..;'.,. ..  ..,,'...     ';:::::,,'.....,'''...
                   .:ooooc:ddlcc::ccc;,,'.   ...    .''.        .:cc:::::;;,.cOk: ...       .....';lo;.  ;c..     ......,'..   ..;:col::,,,,...'.,'...
                       ....cxdlc:;;;;;:;,.    ....   .',.      'cc;,,;:,;lll;'kOl.... ........  .lddl,  ,do'      ...'..,;''....',::cc:cc,,;,.........
                          .,;;;'..  ..,c:'.  .....    .;'     'c'.   ..:,,coc;o0d'.,.','.... .';dOkxkd:cdoo;      .',,'.';::;,'''';:c:,,;;::;,,,...'..
                          .,....      ,ll,........... .':'             ....;;coOd;.','.     :xxdooodddddl;;:'     .''.,,,,;,,:l::cccc;,,'',;::::;'....
                         .',....     .:ll,............ .;:.            ...,;::d0xc,,'.    ..,cc,'cdddxo;',,';.   ...'',;::c:;:lolccooc:;;;'',:::;::::c
                         .,,''.    ..;cll,........  .....;;.         ..  .,,,;o0kxlc'    ..... ,ol'..'....;;::. .....,;:ccllc:llcloddlc:c;''''',;::::l
                        .';,'...::;,,,,::,'...............;,.       .....'',''o0xddc.   .'...,cd:...... ...,:cc,....'';cllllllloodxxdlc:c;'''.....';:;
                       ..,,,...;xkdodl::::;;,..............;'............,.,..o0xdx:....''..'co:. ..........',;:;;,,;;:cllllloloodddoc:,;;'........',,
                      ..','.....:doodxoc:,;:,'.....','.....,,...........':',.'xkxdx:..',,'..,:c:..''..........';cc;,:cclllllooooollllc;,;;,.........',
                     ..',,.......;::lllc:;,,;:;,;,,,;;;:cccc;...........,l:c:dOxddx:.,;,,;,';;;;c:,......'....;:cllclloolllloooolc::cc:;:;,....''.....
                    ...,,..............'''':ooo:,;:ldxkxdddddo:,.. ...'do,:xOkxooox,';;;',;::c;,;;,'....,,,,,cccclllooddol:clllc:,,ccc;,;,',,''''.....
                    .',,'.....':::;;;;;,,:coddollddddxxololdxxxd:.....okkxdxxdoolod;,;,'.';::c:..''..';ccccllccclllloddolccc::::;:;;:;;;..',;;;,.....'
                   ..,;'.'''';cll,.''...;dxoc:lxxdddolcclodxdooddl;....oOkxddddooloc:,'..',;::'..,;;cloll::lllcllllllooool:;,,;;::;,;;,...;:cc:,.....:
                  ..;;,.',,,:dolcl:'....,dkxdoxkxddolllodxxoolldxxdl'...lOkxdddooodolc,''',;;,,:c::cclc:clcllllcllolllooo:,.'.':;:;'',...,;;:c:;','.:d
                 ..,;,'',;;;cd:',ol,.....coxkxdllcccclodkxdoddooodddo;...,xOkxxdddxdol:,,;cllloollolc;;,:c:;;:lllllllcccll:,'',:;;;.....';,',;;;;;;coo
               ..';:,'',,,,,,',,''..... .,:ddol;.',,,:xlcddll:;;:lloddl...'dOOkxxkkxolc::lddoooooocc::;;,,,,:cllllloc::;;cc;',;;;';'.','''.....,;:looo
            ....',;,'',,,,,,'','..........:dool;,,',::o:lkkdo:;::c::coxc...'dOOkxkkxddodxxxdollc::::::::,,,;:c:;;:cc:;,'',;;;ccc:,;,'',:;;'.''';:loood
          ....'''''''',,,;,,,,............coool:;:,,,,;lxOkdolclolc::;ld,...dkkkxxxkxkkxxxddol:;;cccc::;,,;c::;;;::;,''',;'';:;;;;;::::;;;;;cccclodxxx
        ....''''''''...','.','............llcccc,..''clokkkdoooooool:;:ol;;:xkxxxkkkxkkxkdolllccclccc:::ccc:::clc;,,;;,,,,,,;:,'',,;:cc;;clodxdoddool:
     .....'...'''.......''.','............llcccc,....cok0Oxxdddoooodddxxdxodxkkxxxxxxxxxkddlclcllc:;::::lc:;:lll:,,,;,..,,,;;c,,,,,,:ccllclodkxccccc:;
                                                                                                              ....,;  .:'                             
                                                                                                               ...,:.  ..                             
                                                                                                               ...,:.  .                              
                                                                                                                ...:,  .                              
                                                                                                                ...,;  .                              
                                   .,;,,,,..                                                                    ...,;. .                              
                                 ,okkdc:;,,..                                                                    ..';. ..                             
                               .dKKxoc,''''....                                                                  ...;,                                
                               dXK0o,........                                                                    ...,;.                               
                              'KX0o....';::;;:llccc::,'.....                                                     ...':.                               
                              :XOo:cloxkkdkOl;lxol:coddlccccllc;.                                                 ...;'                               
                            .'x0kxxkOxoc;''xOcco:;,;codl:::clodddlc;'..                                           ...,,                               
                           'l'kkkxxxxo:,''.l0ooc,,cloddlc:;;:c'.':::clc;.                                         ...',.                      ....... 
                        ..'kdc0Okxdlccc:;,'d0Odccloooodxxdoooc;,'.''',clc,.                                       ...';.                   ....   ...'
                      .ldldkOOOkd:'...',''cOOxdddl:;;:,''';dxxxdool:,'.;cl:'.                                      . .;'             .',;;cc:;,.. .. .
                       .. 'OkOOx;.....'',lkOOkxdc.. .''. . .,;;'..;dkdo;,:ol:.                                     . .':.         .,:::;,,;;;;:ll:,'''
                          :OkOkx;.....::xkk0OOkk'......         ...coxxxdccldc.                                    ...':'        .::;,;,..',,:clcllccc
                         .dkkkkdo;...;xxOOxxxkOOd.''''.           ..,;oookdclxc.                                   .. .',       .;:,'.........;looool;
                        .lkxkOkdxl,'..,okOxxdddo'..;;,'           ....'ld:xxold;                       .,:;......  .. ..,.      ':;,'..........';codc;
                       .lxkxxkkxoolol'..';:::,..  .,;,..          .....,:c,dkool.                    .,cc:;;ccc;;;'..  ...      ;:;,,,;,.......;,.''',
                    ':okkdddddddolllll,..  ..      .,;.           ......','.oxdd'                 .'.:lc.....,:,...;:'...'.     ;;'',;;,'......',.....
                   'Okxxkooollccccccll:'..   ..     .,'.         ..'.....',..kxk:   .           ..'.:d;..,'.''.... ..,,'.'.     ';;::c:,,'.....'''....
                   .cxdool:ddlcc::ccc;,,'.   ...    .''.        .;cc::;::;;,.:Okl   .        .....'co:.  'c..    .......,'..   ..,:col:;,,,,...'.,'...
                      .....cxdlc:;;;:::;,..   ....   .',.      .:l:;,::,:llc;.xOo..'.  ........ .:odc;  'do'      ......',,,....',;:clccc;,;,.........
                          .,:::,.. ...,c;'.  .....    .;'     .c;.. ..':;:loc,l0x,.,..,,'... ..'okkkkd::ddo;      .',''..;::,,'..',:cc,;;;;:;,,,...'..
                          .,'...      'll,........... .';'     .       ....,;:lOx:.,';.     'dxdddoddddxo:;:'     ..'.',,,;,,:l;;c:lc:,;',,;:::::'....
                          ',....     .:ll,............ .;:.            ...,;:coOxc,,,.    ..;oo:,cdddxd:',,';.   ...'',;;;::;:locccooc:;;;,'';c:;::;;c
                         .,;''.    ..,cll,........ ......;;.         .....,,;;o0kxc:..   ..... 'oo'..''...,;;:' .....';::lllc:clccoddlc:c:''''',;;:::l
                        ..,,'...;;,'',,cc;'...............,,.       .....'.,''c0kddc.   .'...,:dc.  .......,:cc'.....';cclllllloodxxdlc:l;'.......';:;
                       ..,,,...;xOxolc;:::;,'..............;'............,.,'.l0xddc....''..':oc.  ........'',::;,,,,;:llllllloooodxdl:;;;,..'.....',,
                      ..',,.....cxolxxoc:;;:;'.....'''.....,'............:';..dkxdxc...,,'..,:c:...'..........';cc;,;:cllolloooooolllc;;,;,.........',
                      .',,.......;ccoollc;,,;:,',,',,;,;cccc;'..........'l:;;l0kddxc.';;;,,';;;;::,'.....''...;::lcccllllllloooolc::cc:;:;;'...''.....
                     ..,,.............'''..;ldo:;;;coxxxdddddo;,..  ...lo,;dkOkdddd;';,;,,,;:c,,::,'....,,,,,ccccllllooool:cloll:;,:cc;,;,'',''''... .
                    ..,,'......:::;,,,,;,;coddolcodddxxoloodxxxo:.. ..lOkxdxxdoolod:';,'.',:cc:'.',...,:cccllcccllllodddoccccc::;;;::::;'.',,;;'......
                   ..,,'.'''';clc,.''...;ddoc:lxxdddol:cloddddoddl;....oOkxddddooloc;;'...,;;:,..',;:llll::llccclllllooool:;,,;;;:;,;;;'..,::::,.....;
                  ..,;,.','':dolcc;'....,dxxdoxkxddolllldxxoolloxxdc'..'oOkxdddoooool:,''',;;,,:c::cclc::ccclllclloolllooc;''.';;;;'',...',;:c:;'''.,o
                 ..,;,'',,,,cd:',ol,.....coxkxdollccllodkxdoddolodddo;...;kkxxxdddddol:,',:cllllllolc;;,:lc;::llllllcllcll:,'',:;;;'....',,',;;:;;;:lo
              ....,;,'',,,,,,',,',.......,:ddol;.',,,;xllddol::;:cloddl...'xOkkxxkkxolc::lddooooooccc:;;,,,,;:lllclllc:;;cl;',;;;';'.''''''..'',;:colo
            ....',;;'',,,,,,,','..........:dool;,,';:;lclkkdo:,:cc::lodc...'dOOkxkkxddoodxxdollc:::::::;,,,;:c:;;:cc:;;,',;;;ccc:;,,'',;;,'.''',;clood
           ...''',,''',,,;,,,,............coool:;:,,,';lxOkdolclllc:c;ld,...dkkkxxkkkkkkxxddolc;;cc::::;,,;cc:;;;::;;,''','';:;;;;;::::;;;;,:c::loddxx
        .....'''''''...',''','............llcllc,.'''ccokkkdooooooolc;coo,,:xkxkxxkkkkkkxxolll:cclccc::::cc::cclc:;,;;,,,,,,;:,''',;:cc;;:lodxdodddol:
      .....'''''''''....,'..,.............llcccc;....ldk0Oxxdodoooododxxxdooxkkxxxxxxxxxxxolclclllc:::::cl:;:cll:,'',,'''',;:c;,,,,,;ccclclodxkllllc:;
                                                                                                              ....,:.  :'                             
                                                                                                               ...,:.  ..                             
                                                                                                               ...':,  .                              
                                                                                                                ...;;  .                              
                                                                                                                ...,;. .                              
                                   .';;,,,'                                                                     ...':. ..                             
                                 'lOkxl:;;,..                                                                    ...;' ..                             
                               .oKKkol,''''....                                                                  ...,,                                
                               oXK0d;........                                                                    ...,:.                               
                              .0X0d....',::;;:ccccc:;,.....                                                       ..':.                               
                              ;X0occcoxkkxkOl;lxolccoddlcccccc:,.                                                 ...;,                               
                             .dKkdxkkkdc;''dOccoc;,,:ldl:cc:loxxdlc;'.                                            ...,;.                              
                           .c,xOOxxkxo:,'..c0xol,,:clodl:;;;:c,.':::clc,.                                         ...';.                      ....... 
                         ..dx:OOkxdocll:;,'l0Odc:loooodxxdoloc,''.''',clc,.                                       ....,.                   .....  ...'
                      .colokOO0kdc,...','':OOxddooc::c;,,,;dxxxdooc:,'.;:l:'.                                      ...,,.           ..',;;:c:;,.. .  .
                       .. 'OkOOx;.....'''cx0kkkdc.. .''..  .;:c,.':dxdo,,:ll:.                                     ...':.         .,;:;;,,;;;;:ll:,'''
                          ,OkOkx:.....;:xOkOOOkk,......          ..:dxdkd::ldl'                                    ....:,        .::;;;,'.',,:clllcccc
                          oOkkkdo;...;xxOOxxkkOOd.''''.           ..;:ollxxlcdl.                                    . .',.      .:c,''........;cloodl:
                        .:OkxOkdxo,'..'okOkxddxd,..;;,'.          ....,lo:xklld;                        .;,...     .. ..'.      ':;,'..........';cool;
                       .cxxxxkkxoolol'..'::cc,'.  .,;,..          .....,:c,okooo.                     .;lc;;ccl;;;'..  ...      ;:;,,,;,.......;,.''',
                    .;cxkxxxddddolllll,.    .      .,;'            .....';'.lxdd;                  '.;ll,.. .,:;..';;'...'.    .;:,',,;,'......''.....
                   .OOxkkoooolccccccll:'..   ..     .,'.          ......'',..dxkc                .'.,oc..,'..;....  .,,'...     ,;;::c:,;'.....'''....
                   .lxdddlcxdlc:::ccc:,''.   ...    .''.         ':lc:;;;,,,.;Okd.  .         ....';oc'. .:...   . .....'...    .,:col:;,,,,....','...
                     ......:xdlc:;;;;:;;,.    ...    .''.       ;lc;,::;:llc;.dOd....     ..... .;cdc;. .oo,.     ......',,,....',;:clccc;,;,.....'...
                           ':cc;......,c;,.  .....    .;'     .c:'....':;:loc,:0x;.'..'''...  ..:kkkxd;,odo:       ''''..;::,,'..',:cc,;;;;:;,,'...'..
                          .''...      .ll;........... .,;'.   ..       ...';;c:Okc.,';'.. . .cdddkxddxdxdc;:'     ..'.',,,;,';l:;::cl:,,',,;::;::'....
                          .,....     .;ll;............ .;:'           ....',:clOkl,,;.     .:xdl;cdxdddc,,,';.     .''';;;::;;locccloc;;;;,.';c:;::;;:
                         .,;''.     .,cll;........  .....;;.         .....,,;:lOOxc:,.   ..'...'lo,.','...,;;:. . ...',;:clcc:colclddoc:c:''''',;;:::c
                        ..,,,...''..';;cc;,...............,,.      .......','':0Oddc... ..'..';dl. ........;:cc'.....',:cllllllooodddoccc:'.......';::
                       ..,,,'..,xOxol:;;c:;,'..............;'............,.,'.:0kodl.........:oc. .........',,::;,,,;;;clllllloooodxxo:;:;,'.'......,,
                       .',,'....cxoldxoc:;;:;'.....'''.....,'............:.,'.lOxddl...','..':c:..............',cc;,,::llollloooollllc:;,;,.........',
                      ..;,.......:clooolc;;,;;,'',,,,;,,:c:c;'..........'l:;;:Okdddl.';;;,,';:;;:;,'..........,::llcclllllllooooll::cc::;;,'....'.....
                     ..,;'............',,'.;ldo:,;;codxxdddddo;,.. ....;l,;oxOOxddxc.;;;;,,;:c,,::;,....''',,:ccllllllooolcclollc:;:ll:,;,'''''''.....
                    ..,;'......;::;;,,,,,;coddolcodddxxoloodxxxo:..  .cOkxlxkxdoood:';;,..;::c:;.','..':cclllcccclllooddoc::ccc:;;;::::;,..,;;;,......
                   ..,,'.'''';clc,.''...;odoc:lxxdddolccloddddoddl;...'dOkxxddddlloc;;'..',;;:,..',;:collc;clccclllloodoolc:;;;;;c:,,:;,..'::c:,.....;
                  ..,;,.'''':ddllc;'....;dxxdodxxddolcclddxoolloxxdc'...dkkkddddooooc:'..'',;;,;:c:clcc:cccllllclloolllool:''.';:;;,','..',;:c:;'''.'l
                  .,;,'',,,,ld:',ol,.....cdxkxdoolllllodkxdoddooodddo;...:kOddxddddool:,',:clclollolc:;,:lc:::lllllllllcll:;,'';;;;'.....,;',:::;;;;co
               ...,:,',,,,,,,',,',.......,cdddl,.',,,:xolddol:::;cldddl...'dOOkxxkkxolc:;cddoloooolcc:;;,;,,;:lllclllcc:;cl:',;;;',,..''.''..'',;:cllo
             ...',;;'',,,,,,'',,..........:dool;',,;:;lclkkoo:,;:c::loxc...'xOOkxkkxdooodxxdollc:cc:::::;,,;:c::;:cc:;;,'';;;:cc:;,,.',;;;'.''.';:lood
           ....'',,''',,,;,,,,'...........coool:;:,,,';lxOkdolclll::c;ld,...lkkkxxkkkkkxxxxdolc;;:c::::;,';cc:;,,;::;,,'','';::;;;;;::::::;'::::coddxx
        .....''''''...',,,'','............llclcc;.''':cokkkdooooooolc;col',;xkxkkxkkkkkkkdolll:ccccc:::::ccc::ccc:;,;;,,,',,;:,''',;:cc;;:cloxdoodxdoc
      .......'''''''...'''..,.............llcccc;....ldk0Oxddddoloodooddxddoxkkkkxxxxxxxxxolclclll::::::cl:;;:ccc;'',,,,,',,;c:',;;;:cclc:lddxklclllc;
                                                                                                               ...':.  ',                             
                                                                                                               ...':'  ..                             
                                                                                                                ...;;  .                              
                                                                                                                ...,:. .                              
                                                                                                                ...,:. ..                             
                                   .';;,,;'                                                                      ..';, ..                             
                                 .lOkxl:;;,..                                                                    ...,; ..                             
                                lKKkol;''''....                                                                  ...,:.                               
                               cXX0d;.....'..                                                                    ...':.                               
                              .OKKx,....';;,;;:c::c:;'.....                                                       ...;,                               
                              ,K0dc:cldkkkkOo;cxooccoddlcccccc;,.                                                 ...,;                               
                             .oKkdxkOkdl:,'dOlcdc;,,:ldo:cc:lodxdlc;'.                                            ...';.                              
                           .:,dOOxxkkoc,'..c0xol;,:clodl::;;:c;',:::clc,.                                         ....;.                       ...... 
                         ..ox;OOkxdolcl:;,'c0Oxc:cooooddxxollc,'..''',clc,.                                        ...,'                   ..........'
                       :llokOO0kdl,...',,,:xOxdddoc::c:,;;:dkxxxool;,'.,cl:'.                                      ...,;.           ..',;;:cc:,.. .  .
                       '...kkOOx:.....''':x0Okkdl'...''..  .;cl:.':oxdo,,:ll:'                                     ....:.         .,;:;;;;;;;;:ll:,'''
                          .OkOOx:.....;;oOk0OOkO;.....'         ...:oxdkd::lol'                                     . .::        .::;;,,'''',;clllcc:c
                          cOkOkdo;...,xxOOxkkkOOx..'...           .';collxxlldl'                                    . .';.      .:c,''........;cllodl:
                         ;kkkOkxxo;'..,okOxxddxx:..;;,'.          ....'ld:dklld:.                       .',...      . ..'.      ,:;,'..........',cool:
                        ;xkxxkkkdolll'..,clcc;,.  .,;,..          .....,:l,lkooo.                     .'cl:;:;::;,...  ...      ;:;,',,,'......;;.',';
                    .,:dkxxxddddolllll,...  ..     .,,'            .....';'.ckdd:                  ..'co;....,c:..';:'...'.    .;:,',,;;'......','....
                   .kOkkkoooolccccccllc'..   ..     .,'.          .......',..oxxl.               .'''lo'.,,..,'...  .,,...'.    ,;,;;:c,,,.....','....
                   .oxdddllddlc:::ccc:,''.   ...    .''.         .;c:;;,,,,'.,kkx.  ..         ...',ll,. .:...    .....','..    .'::ol:,,,;,...'.''...
                     ..''..:xdoc:;;;;;::,.    ...    .''.       'lc:,;:;:cc:,.oOx,...      ..... ,:dc;. .lo,.      ......,,'. ...';cclccl;,;;'....''..
                           'clc;'.....,::'.  .....    .:'     .;:;'..'';;:ooc,,0k:..'..''....  .'xkkdd;'lxd:.      .'''..;:;,''..',:cl;,;:::;,,'...'..
                          .'....      .cl;...... ...  .,;'.   ...      ',.';:::kkl''',,...  .,loxkkxdxxxdc::'     ..,'''',;,,,c:,:::l:,,,,,;::;::'....
                          .,....     .,ll;............ .;:'             ..',:cckOl,,;'      ;kxoclddddxl;;,';.     .''',;;:c;;collcloc::;;,.';c::::;,;
                         .,;''..    .':ll;........  .....;;.           ...';;:ckOxc;,.    .'..''cd;'';,...,;;:. . ...',;ccclc::llclddocc:c,'',',;:;;:c
                         .,,,'...'..';;lc,'...............,,.       ......'',,;OOxdc' .. ....,,ol'.  ......;:cc'......,;cllllllooodxdoc:cc'..'....';::
                        .,,,'..,xOxll:,;c:;,'..............;'............,'',.;Okodc.....'...;ol.  ........',;:c;',,,;;clllllolooddxxoc:::;'''......,;
                       .',,,....lxoldxocc;;:;,......''.....,'............;','.:Okddl...','..':c:..............',:c;,,;:clllloooooooolc:;,;,'........',
                      ..,,'......cllddolc;;,;;,.',,,,;,,:::c;............o:;;;kkxodo..;;,,'';:;;;;,'..........';:clcccllllllooooolc::c::;;;,....'.....
                     ..,;'...........',,,'.,ldo:,;;:odxxdddddl;,.. ....,:;;lxOOxdodl.;;;;,,;::,':c:,'...''''';cccllolloollccllolc:;;ccc;,;,''...'.....
                    ..';,......;:;;,,,,,,;:oodolcodddxxoloodxxxd:. ...;kOdldkxdooldc.;;,..;:cc:,'','..';:cclllcccllooodddl:cclc:;;;:c:;;,..';;;,'.....
                    .,;,..''.,cll,.''...,odoc:lxxdddolccloodddoddo;...'dkkxxddddlloc,;,'.';;;;;...,;;clllc;:l::cllllloddocc::;;;:::;,;:,'.';:::;'....'
                   .';,''''':dollc;'....;dxxdldkxddoccclodxoolloxxoc'..'xOkkddddolooc;'..'',;:,,::cclccc:ccllllcllllllloolc,'.';:;:,',,...,;:cc;'.''.c
                 ..';;'',,,,lx:',ol;.....cdxkxdoolllllodkxdoddolodddl;...cOOxddddooool:,'';:lllolcloc:;;:lc:::lolollllllloc;'.';;;;,.'...,;,,:::;;;,:o
               ...';;'',;;,,,',,',.......,:dddl,.',,,:doldxolcc:;codxdl...,xOkxxxxxxolc:;:odoloooolcc:;;;;;,;;colccllcc:;clc,';;:,,,..''.''....,;::llo
             ....,;;,'',;,,,'',,..........:dool;',,;::l:cxkol:,;:cccloxc...'xOOkxkkxdooooxxdolllccc:::::;,,;:c::;:cc:;;;,,;;;:c::;,,''',;,..',.',:llod
           ....'',,''',,,,,,;,'...........coool:;:,,,';lxkkdolccllc;c;ld,...lkkkxxkkkkkxxxxdolc:;:c::::;,';cc:;;,;::;;,'','';::;;:;;:;;:::;,;:::coodxx
        ......'''''...',,,,,,'............llcllc;''',:cokkkdoooooool:;:ol'',oxxkkkkkkkkkkxollc:cccccc::::cc::::cc:;;;;,,,,'',:,''',;:cc:,:cloddloddddl
      ........''''''...',''',.............llcccc;....cdk0Oxdddooloooolddxdddkkkkkxxxxxxkkdllcl:lcc::::::cl:;;:ccl:,',,,,,,'';c:'',,,;cccc:lodkkdloolc:
                                                                                                               ...';'  .,                             
                                                                                                               ...';,  .'                             
                                                                                                                ...;;  .                              
                                                                                                                ...,:. ..                             
                                                                                                                 ..':, ..                             
                                   .',,,,;'.                                                                     ...;;  .                             
                                 .ckkxl:;;,'.                                                                    ...,;. .                             
                                c0Kkdl;''''....                                                                  ...';. .                             
                               :XXKd;........                                                                     ..':.                               
                              .kXKx,.....,,,,;:c:::;,'.....                                                       ...,,                               
                              'KKdc:ccoxkkkOd;cxdocclxdlccccc:;'.                                                 ...':.                              
                             .lKkdxkkkdl:''oOo:ol;,,:ldoccc:lodxxl:,'.                                            ....;.                              
                            :,dOOkxkkdc,''.;Oxlo;,;:lodl::;::c:,,::cclc,.                                          ...,'                       .....  
                          .cx;kOkxddlll:,,':0Odc:coooodddxocll,...''',ccc,.                                        ...',                    .........'
                       ,llok0OOOxl;...',,,;xOkdddolcclc;;;:dkkxdolc;,'.,:l:,.                                      ...';.           ..',;;:c::,..    .
                       ''..xOOOxc......'',oOkxkdl,. ..,.   .;clc'':dxol,';ll:'                                     .. .;'         .,;:;;;;;;;;:ll:,''.
                          .kkOOxc.....,,lOk00Okk;.....,        ....;oxdxd::col,                                     . .,:.       .::;;;,'.',,;:llllc:c
                          :OkOkdo;...,xxOOxkkkOOk'.'...           .';collxxlcdl'                                    . .';.      .:c;''........,lllodl:
                         'xkkkkddo;...'okOxxddxkl..,;''.          ....'od;dklldc.                        .'...      .. .''      ,c:,,'.........';cdoo;
                        ,dxxxkOkdollc'..,coll:;'. .';,..          .....,:l,ckood'                      .:lc;;;;;;,. .. ..'.     ;:;,'',,'......,,..,,;
                     .:oxxxxxddxolllll,..   ..     .,,'.           .....';'.:kddc.                 ...:lc,...;::'.,;:'...'.    .;:;',,:;,......','....
                   .xOkkkdooollcccccllc,..   ..     .,'.          ......'',..lkxd.                .''co;.,'..','..  .,;...'.    ,;,,;::;,,......,'....
                   .okdddllddlc:::ccc:;,'.   ...    .''.         .,::;,,,,,'..kkx,   .          ..'.:o;...;..'.   . ...'''...   .';cloc;,,;,....'',...
                     .',,'.:xdlc:;:::;,;,..   ...    .''.       .:c:,,:;::::,.lOk:....      .... .;ll:. .:o,.      ......,''.  ..',:clccc,,;,'....''..
                           'col:,...'',:;'.  .....    .;'      .:c;''',:,:ooc,'OOc..' .'......  .oxxdo,.cxdc.      .'',..,:;;'....,;cl:,;;;;;,,'...'..
                          .''....     .cl;..........   ';'.   .'.      ';'':::;xOo'.'';...   .;cdOkkxxxxdl:c'      .''''',;;,,::,;;:lc,;;',,::;;:,....
                          .,'...     .,ll:............ .;:'             ...';:cxOo,,;,.     'kxdlodxdodl:;,';.     .''',;,,:;,coccclol;::;;'';::;::,,,
                         .';''..    ..:cl;'.....    .....;;.           ...';;:lk0xl::.    ..'',;cd:,,:;'..,;,:'    ..',;:cclc::llccodolccc;'''',;::;;c
                         .,,,'.......;;cl;'...............,,.       ......'',,;k0kxc,. . ....',oo'.  ......;:cc'......';cllllllllodddolclc,'.'....';::
                        .';,'..'dkxcc;,;::;,'..............;...    ......'',,.,kOodl.....'...;lo..  ........,;:c,.',,;;:llllllllodxxxdc:::;,.'......,;
                       ..,;,....lkdldxocc::;;,.......'.....,,... ........,,''.;Okddl....''..':c:.............'',:c;,,;;cllllllloooooll:;,;,,.........,
                      ..,,'.....'lloddol:;;;;,,.''',,;'';::c;............l:,,.dOxddo'.,;;,,',::;;'''...........;:cc:cclllllllooooll::c::;;;,....''....
                     ..','..........',,;,..,coo:;,;:ldxxdddddl;'.. .....;;;:oxOxxddo.,;;;,,;::,';c:,'...'''.',clclllllloolccclollc:;ccc;,;,',...'.....
                    ..',,......,;;;,,,,,,;:oddolcldddxxoloodxxxo:.....,xOdcdkxxooool.;,,'',:cl;,,,,'...,:cclllcccllloooddlccccc::;;;::;;,'.';;;;'.....
                   ..',,'.''.,:ol,.''...,odoc:lxxddddolclooddddddl;...'dkkxxxdddllol',,'..,;::;'..,,,:lolc;:c::cllllloddol::::;;;::,,::;'..,:::;'.....
                   .';;''''';doll:,'....;dxddldkxddoccccodxdolloxxoc'..'kOkkddddololc;'..'',;:;,;:ccllcc::cllol:cllllloollc;''';:;:;',,...';:cc;,.''.;
                 ..';;,'',,,lxc';ol;.....cdxkxdoolllloodkkdodoolodddl;...lOOxddddoddol:,'',:cclllcloc:;;;cl:::llloloccllooc;''';:,;,..'..';,,:::;;;,;l
                ..';;,',,,,,,'',,;'......,cdxdl;.,,,,;ddlxddlccc;cloddl...;xkkxxddxdolc:;:odoclooolcc:;,;:;;;;cllccllcc:;cll;';,:,';..'''''...',;;:cll
             ....,;;,'',;;,,'';,..........:doll;',,;:;lccxkdl:,;:ccclodl...'xOOkxkkkdollodxddollccc:::::;,,;:ccc::cc::;;,,;;;;c:c;,,'.',,;'..,'.';colo
           ....'',,,'',,,,,,,,,...........coool:;:,''';cxOkxocccclc:c:ld;...ckOkxxkOkxxxxxxdolc:;:c::::;,',:c:;;,;;:;;;,','.,:c:;:;;:;;:::;',;::cloddx
        .......''''...',;,,,,'............llcllc;'',,:cokkkdoollooolc;:ll'''okxkkkkkkkkkkxollc:cccccc::::c:::::cc::;;;,,,''',;,'.',;:cc:;:cloddloddxdo
        ........''''...',''','............llcccc;....:dk0Oxddddoloooccoddoodkkkkkxxxxxxkkxolclclcc:::;;;:cc;,;:cl:,',,;,,,'.,::'',,,;ccc::lodxkdooolc;
                                                                                                               ....,;  .,                             
                                                                                                                ...,;  .,.                            
                                                                                                                ...,:. ..                             
                                                                                                                ...':,  .                             
                                                                                                                 ...;;. .                             
                                    .,,,,,'.                                                                     ...,;. .                             
                                 .;kOxo:;;;,.                                                                    ...,;. .                             
                                :OKOdl:,'''....                                                                   ...;' .                             
                               ;KXKx:.....'..                                                                     ...,,                               
                               xXKk;.....'''',;:;;;;'......                                                       ...';.                              
                              .0Kxc:;codkkk0d::ddolcoxdlcc::::,..                                                  ...;.                              
                             .:KOdxkOkxoc,'l0d:oo:,';lddlccccodxxl;'..                                             ...,'                              
                            ,,l0Okxkkdc;''.,kklo:',;lodl::;::cc;;cccclc,.                                          ...',                       .....  
                           ,x,x0kxxdoll:,'',OOxc;:llooddddoc:c'...''',ccc,.                                        ...';.                    ........'
                       ':olxOO0Oko;..'',,';o0Oxoddollll::::okkddoc:,''.,cc:'.                                      .. .;.            .',,;:c::,..    .
                       ,;..oOOOkl......'''ckOxxdo;....,.   .;loo;,coxll,.;ll:'                                      . .,'          ';:;;;;;;;;:ll:,''.
                           dOOOxc.....'':kOO0Okkc.....'       .....,oxdkd:;col,                                     ...':.       .;c:;,;,'',,;:lcllc:c
                          'kOkkxo:...'dxkOkkkOOOk,.'...           .';ldccxdlloo,                                    ....;'      .;c:'''.......,llllooc
                         .dOkkkdxo;...,oxOkxdddkd..,;,'.           ...,ol;o0lcdl.                         ....      .  .''      'c:,''.........';cddd:
                        .oxxxkOxxdccc,..,loool:,. .';,..           ....,cl,:xold;                       'cl;,''','. .  ..'.     ,:;;''','......,,'',,,
                     .'lxxxxxxxxdollll,..  ...     .,,'.           .....,;'.,kool.                    'cl:'.';cc'.,;,'. ...     ;:;,',::'.......,''...
                   .oOkkkdolollcclccllc,.    ..     .,'.           .. ..'',..cxdd,                 '';oc'.'...,;'....,,...'.    ,c,';;:;,,'.....,'....
                   .dOxddoloolc::ccccc;,'.   ...     .,.          .,;,'''','..xxk:   .          ..'.,oc...;..'.........','...   .',:lll;,,;,'...'.''..
                    .,,;;;.cxdlc::::::;,,..   ...    .,'.        ,cc;;:;;::;'.:Okl....       .....':lc,. 'o,..     ......,''.   .',:cllc:;';;,....''..
                           .ldoc;'..'',:;,.   ....    .;'.      ;lc,',;;,:loc,.kOd..,..........  ;oxol;.,ddc.      ..'''.':;,'....,;:l:;;:;;;,,'....'.
                           .'.''.     .:c:...... ...  .,;'.   .;;.     ':,,cc:,l0d,.'.;,.......;ckOkkkxddlcl,      .','''';:,,;;,,;;cc;,,,,;;:;;:,....
                          .,'...      'cl:............ .;:'            ....';:cl0d;'',.     .oxdoddxdodd:;;';.      .''',,,;;,:occlcol;:;;;'';:c:::;''
                          ';'...     .:cl:'.....   ......;;.           .. .;;:cx0xl;;'    ..':ccldc;;:c'.',;,;..  ....',:c:cc:;lllcldolccc:''',,;:::;:
                         .,,''. .....;:cl;''..............,;.       ......'',,;x0kxo:.   ....''lo,.........,:cc'. ....',:lllllllooodxolccl,'..'...';::
                        .';,'..'odoc:,';::,'...............;...    .......,.,.'x0ddo,. ......,lo,    .......,;cc;..',,,;llllllooooddxxl:cc;,'''.....';
                       ..,;,....lxdldxocc:::;,.......'.....,,... ........',',.'kOddo'....'..':c:.............'';;:;,,,;:llllllooooooolc;,;;,.........,
                      ..,,,.....'loodxol:;;;;;'..'',,;'';;;::'...........:c,,.:Okddd,.',;,'',:c;,..'...........,;cc::cclllllloooollc:c::;;;,....''....
                     ..';,.........',;;;;'.'coo:;;,:lddddddddl;'... .....;:;loOkxddo'';;;;,;::,';c:;'.....''.':ccclllllooclcclolll:;:lc:;;;,'...''....
                    ...,,'.....,;,,,,,,,,;;oddoc:loddxxdllldxxxo;......lkd;lkkkdoooo.,;;,',:cl:,;;:,...'::cllllccllooloodll::clc::;;:c:;;,'',;;;'.....
                   ..',;'....,:ol,.'''..,ldoccoxxdddoolccooddddddl,...'xkkxdxxdollll',,'..,::;:,..,,,;cooc::c::clllllodxol::::::;:c;,;:;,..,;::;'.....
                   ..,;,'''';oool;''....;xxdolokxddoc::cloxxolloxxdc'..'kOkkddddooll:;'..'';,;;,,:::llllc::lllccclllolloollc;,',;;;;,,;'...,::c:,....'
                 ...,;,'',,,lxc,;oo;.....ldxkxddooolloodkkdodollodddl;..,oOOxdddoooolc;''.';cllllcloo:;;;:cc:cllllloccclool:''',:;;;'.'..',,,;:::;,,,c
                ...,;,',,;;;;,',,:,......;coxdl;.';;,:ddlxxdollc;:odxdl...:kkxxxxdddoll:,;lodllooolcc:;,;:c;;;:cllllcccc;:lo:',;:;';'.''.','..',;;;:ll
              ...';;,'',,,,,'';,....... ..:xoll;.,,;:;occxkdo:,,:cccloxl...'xOOkxxkkolllodxddollccccc:::;;,,;:ccc:ccc:;;;,;:;,c::;,,'.',;,'..''.';clll
            ....',,,'',;;,,,,,,...........coool:;:'''';cdOkxocccccc::cld;...ckOOxxkOxxxxxxxdolcc:::c:::;,,,:c::;,,;:::;;,,'.,:c:;::;;;,;::;'';;;:coodx
         .......'''..'',;,,,,'............llcccc,',,,:clxkkdoollooocc;:ll..'ckxkkkkkkkkkkxoolc::ccccc::::c::c::::;:;;;,'''''';,'.',,:cc:;;cclooccoddxd
        .........''....',''','............llcccc,...'cox0kdddddlooooc:lddoooxkkkkkxxxxxxkxolclcclc:::;;;:c:;;;;:c:;,,,;;;,'.,;:'''',;ccc::loodxdoddolc
                                                                                                               ....,:  .,                             
                                                                                                                ...,:. .,.                            
                                                                                                                ...'c'  .                             
                                                                                                                 ..';:  .                             
                                                                                                                 ...,:. .                             
                                    .,,,,;'.                                                                     ...':. .                             
                                 .;xkxo:;;;,.                                                                    ...';' .                             
                                ;OK0dlc,'''....                                                                   ...;, .                             
                               ,KXKk:'....'..                                                                     ...,;                               
                               dXKO:......''',,;;,,,'...                                                          ...':.                              
                              .OKkc:;:ldxkO0d::dxooloxdlcc:::;,..                                                  ...;'                              
                              ;0OxdkkOkoc;'l0x:oo:;,;ldxlccccldxxl;,..                                             ...,,                              
                            ,;l0Okxkkxl,'..'kOloc,,;:odo::;::cl:;cccll:'.                                          ...';                        ....  
                           .x,d0kxxdoll:,'''kOxl;;loooodddo::c,...',',:cc,.                                        .. .;.                    .........
                       .:lldOO0Okd:'.'',;,;lOOxodoollll:cccdkkddlc:,''.,:cc,.                                       ...;'            .',,;:c::,..    .
                       ,:'.oOOOkl'.....''.:OOxxdoc....,.   .;oodc,codlc'.:cl:'                                      ...,,          ';:;;;;;;;;:ll:,'..
                           lOOOkl.....',;xOOOkkkl... .,.     ......,oxdko;;col,                                     ....:.       .;c:;,;,'',,;:lclllcc
                          .kkkkxo:....oxkOkkOOOOk,.'..'           .':ooccxdlcoo,                                    .. .;,      .;c:''''......,llllooc
                         .lOkkkddo:...'ox0kxdxxkx,.,;,'.           ...,ol,oOlcdl'                          ..        . .',.     'lc'''.........';cddo:
                        .lkxdkOkxdlcc,..;odddoc;. .';,'.           ....;cl,;xdld:.                      .,c:,'.....  ....'.     ;:;,''','......,;.',,,
                     ..:dxxxxxxxdollll,.. ....     .,,'.           .....,;,.,xool.                    .;lc,',:cl;';;,'. ..'     ;:;,',::,.......,'....
                    lkkkkdooooollccclll,.    ..     .,,.           .. ...',..:xdd;                 ..,ol,.....';,...';;...'.    ,c;',;:;,,......,'....
                   .dOxddollolc::ccccc;,'.   ...     .,.          .','...',,..oxkl.  .           .''.ll'..;...,. .. ...','.'.   .,,:cll;,,;;....''''..
                    .;::::':xdlc::::::;,,..   ...    .,'.        .:c:::;:;;;'.,Okd....        ....',ll,. .l,..      .....''..   ..,;cllcc;';;,...'''..
                           .lxoc;,'.,';:;,.   ....    .;'.      'll:,,;:,:loc'.xOd'.'. ......... 'lddc;.'ddc.      ..'''.';;;'...'';:lc;;:;;;;,....''.
                           .,','.     .;c:...... ...  .,;'.   .;:..    ':;;cl:,c0x;.,.,,'...  .';xOkkkxddoll;      ..,'''';:;,,;,,,;cl;;;;,;::;;:,....
                          .''...      .clc............ .;:'            ....';::cOx:'','.    .:dxoxxxxoddc:;,;.    ...''',,';;';olclcol:;;,;,',:c::;,'.
                          .,'...     .;cl:........ ......;;.          .....;;:cd0xl;;'     .'looodc::cc,.',,,;..   ..'',;c:cl:;loccldolccc:''',,;:::::
                         .',''.    ..;:cl;''..............,;.        ......',,;d0kxo:..   .....cd;.........,:cc,......',:cllllclooodxdlccl;'..'...';::
                        ..,;,'..cdl:;,';c:,'...............:'..  .........,.,'.o0kdd;.....'..,ld;    .......,:cc;..',,,,clllllloooddxxlccc;,'.'.....';
                       ..,;,'...lkxoodlcc:;;;,.......'.....,,... .........,.,..dOxdd;....'...:cc............'',;::;,,,;:llllllooooodooc:;;,,'........,
                       .',,'....,ooldxdl:;;;;;'...',,;'.,,;:;'...........;c,;.;Okddd,..,,,'',:c;,..............,;cc:::cclllllooooolcccc::;;;'....'....
                     ..',,'.......',;;:::,.':ol:,;;:codddddddl;'.........;::cckkxddd,';;;;,;::;';c:;'.....'...;ccclllllooclcclolll:;:lc:;;;,'...''....
                    ...,;'.....,;,,,,,'',,;lddoc:loddxxdlllddxxo;......:xo,lkOkddood.,;;,,,;cc:',;:;'..';:ccccllclloooooollc:clc::;;cc:;;,'',;;;,.....
                    ..,;'...',:ll,.'''..'ldoccoxxddddoocclodxddddl,...'dkkxdxxdooloo';,,..,:::;;'.',',cloc::c:;clclllodddo:::c::;:c:,;::;..';::;,.....
                   ..,;,.''';oool;''....:xddocokxxdoc:::loxxolloxxdc'..'kOkkxdddoooo;;,'..';,;;,,;:cclllc:;cllcc:cloolloolcc:,',;;::,,;,...,::::,.....
                  ..,;,'',,,lxl,;ol;....'ldxkxxddoooloodkkxodollodddl;..;dOOxdddoooolc;'''',:llllclooc:;,:lccclllllolccllol:,'.,:;;;'''..',;,;:::;;,':
                 ..,;,',,;;;;,'',:,......;coxdo;'';;,:xdlxxdolcc;codddl...ckkxxxxdddoll:,,coolclooolc:;;;cc:;;:lolllcccc:cloc,;;;;,;'..'.',,..,,:;;;lo
             ....';;,'',,;,,,';,'...... ..:xoll;.,,;:;lccxkdo:,;:cccldxl...,xOkxxxkkdollldxxdoolcccc::::;;,,;:clc:cc:::;;,;::,c:::,,,..,,,'..',..;:cll
            ....',,,'',;;,,,,,,'..........coooo:;:'''';cdOkxocccccc:ccld;...cOOOxxOOxxxxxxkxollc::cc:::;,,,:c::;;,::::;;,,'',:cc:;:;;;,;::;'';;;;clodd
         ......'''''.'',;,,,,'............llclcc,',,,::lxkkdoollooocc;:ll..':xkkkkkkkkkkkxdooc::cccc:::::c::c::::;::;;,''''',;,'''',;ccc;,cccooccoddxx
        ...............',,'','............lc:ccc;...'cox0kddddolloooc:lddllldOxxkkxxxxxkkxolll:clccc:;;;:lc;;;,;:::,,;;;;,'.';;''',,;:cc::cloxxdodddol
                                                                                                                ...,:.  ;.                            
                                                                                                                ...,:.  '.                            
                                                                                                                ...':;  .                             
                                                                                                                 ...;:. .                             
                                                                                                                 ...,:. .                             
                                    .,;,,;'.                                                                     ...':' .                             
                                 .;xkxo:;;;,.                                                                     ...;, ..                            
                                ,kK0xlc,''''....                                                                  ...,; ..                            
                               '0XKkc'....'...                                                                    ...';.                              
                               oKKO:.......''',;,,,,....                                                           ...;.                              
                              .kKOc:::coxkOOxc:oxooooxdccc::;;'.                                                   ...,,                              
                              ,0OxdkOOkdl;'c0x:oo:;';ldxlccccodxdl;'.                                              ...';                              
                            ';c0Okxkkxl;,...x0loc,,,:loo::;:ccl::cccll:'.                                          ...';.                       ...   
                           .d,o0kxxxdll:,'''xOkl;;llooodddoc;:,...',',:cc,.                                        ....;.                    .........
                       .;lldOkOOkdc'.',;,,;lOOxdoodollocllldxxdolc;'''.,:cc,.                                       ...,'            .',,;::::,..    .
                       ,:'.cOOOko'....'''.;kOxxdoc....,.   .;dddl,cddlc'.;cl:,                                      ...';.         ';;;,;;;;;;:cl:,'..
                           cOOOkl......,,dkOOkkkl.....,.     ......,oxdko;;:ll,.                                    .. .;'       .;c;;,;,'',;;:lllllcc
                          .xOOkxd:....lxxOkkOOOOk,.'..'.          .':ooccxdcclo;.                                    . .;;      .;c:''''.....',clllooc
                          lOkkkddo:...,ox0kxxxxkk;.,;''.           ...,dc,o0o:oo'                                    . ..,.     'lc,''..........;coxd:
                        .cxkxkOkxdccc'..;oxxddc:. .';,'.           ....,cl';xoldc.                       '::,......  .  .'.     ;c;,,'','......,;'',,,
                      .,dxxxxxxxdoolll,..  ...     .,,'.           .....,;,.'kdoo'                    .'cl:,,:cl:,,;'.. ..'.    ;::,',::'.......,,'...
                    :xkkkxooooollccclll,.    ..     .,,.           .. ...',. ;kdxc.                ..'co:......;;...';;...'.    ,c;',;:;','.....','...
                    dOxdxollolc::ccccc;,'.   ...     .,.          ..'....',,..lkko.  .            .,'co,..;...;. ... ..,''''.   .,,;clo:,,;;....,'''..
                    .::cc:'ckdl:::::c:;,,..   ...    .,'.        .,cc::;;;;,'.'kxx' ..         ...'.:l;. .l; ..      ....''..   ..,:cllc:;,;;,...'''..
                           .lxol:;'',,;:;,.   ....    .;'.      .coc;;::,;coc'.dOx,... ......... .:ld::..odc'.      ..''.';;;'....';:lc;;:;;;;,....''.
                           .,,,,..    .;c;...... ...  .,;'.    ':,.. ..,:;:lo:,:0x:.,.';,.... ..,dOkkkxodolo;      ..''''';;;,,;'',;cc:;;;,;;:;;:,....
                          .''...      .:lc'........... .,:'    ..      .....,;::Okc',',..    'lxdxkxxodxl:;;;.    . .''',,,;;';ol:ccll:;;,;,.':c::;,..
                          .,'...     .;cl:'..............;;.           ....,::coOkl;,,.    ..oddodl::cl;.',;,;.     ..',;:::c:;colccddlccc:,'',;;:::::
                         .';,'.    ..,:cl:''..............,;.       .......',;;o0Oxl:'.   ....'cd:.........;::c,.  ...',;cllllclloodxdoccc:'..'..',;::
                         .,,,'..:lc;,,,;c:,'...............:...  .........,.,'.l0kxx:..  .'..,cd;.   ......',:cc,..''',,clllllloooddxxoccc:,'.'.....';
                       ..';,'..'okxoool:::;;,'.............,,.............;.,'.o0xdd:.....'..:c:.............',;:;;,,,;;llllllloooodool:;;;,'........'
                       .';;'....;ooodxdlc;;:;;'...',,,'.',,;;'...........,:',.'kkxdd;..',,'',:c;'..............';cc:::cclllllloooollccc::,;;'....,....
                     ..',,'.......,,;::::,.':ll;,;;;codddddddc;'.........;cc:cdOxddd,.,;;,,;:c;';:;;'.....'...,cccllllllolllclooolc:;clc:;;;,...',....
                     ..,;'.....,,,,,,,'',,;lddoc;cooddxxllodxxxo;......,ol,cxkkxdddd',,;,,,;cc;',::;,'..;:clllllclloooooollc:cllc:;;:cc;;,,',;;,,.....
                    ..,;'....,:ll;'''''.'looccoxxddddoolclodxddddl,....xkkxdxxdoollo',;,'.,::c;,,.',,,:llc:;cc;clllloooddoc::cc:;;c:;;:::..';:::,.....
                   ..,;,'''';lool;''....:xddocoxxxddc;::loxxoooodxdc'..,xOkxxdddollo;,,'.',;;,:,,;::cllllc;cllc::clolloddlccc;,,::;:,,;;'..'::::,'....
                  ..,;,'',,,oxl,;ol;....'ldxkxxdoooollodxxdodollodxol;..;xOkxdddooool:,'''',;lolllllol:;,;cccclllololccloool;'.':;;;'.''..',,;:::,,,',
                 ..,;,',,;;;;,'',c;.....';cdxdo;',;;;:dxoxkdolcc;:odddl...lOkdxxddddolc;'':oolllooolc:;;;:l:;;:lllllcccc:cloc,,;;:,,,.''..,,'.,;;:;;cl
              ...',;,'',,;;;,';,'...... ..:xoll;.,,;:;oc:xkdo:,;:cccldxl...,xOkxxxkkdollloxddoolcccc::;:;;,;;::cl:c:cc::;;;:c;cc::;,,..,;,'...'.';:cll
            ....',;;'',;;,,,,,;'..........coooo:;:'''';cdOkdoc:ccc::ccld;...:OOOxxOOxxxxxxxxdllc::cc::::,,,;ccc:;;;::::;;,'.,:cc:::;;;,,;:;'';,;::cood
         ......'''''.'',;;,,,'............llclcc,',,,;:lxkkdoolloooc:;;ol..';xkkkkkkkkkkkxdooc::ccccc::::c::cc:::;:::;,'''',';;''.',;ccc:;::cooc:loddx
        .....'.........,;,,,,'............lc:ccc;...'coxOkxdddoloooo::codcccoOkxkkxxkkkkkxolll:clccc::;;:lc;;;,;:;;;,,,;:;'.';:''',,::cl;:lloxxooxxxdo
                                                                                                                ...,:'  '.                            
                                                                                                                ...':,  .'                            
                                                                                                                 ...;:. .                             
                                                                                                                 ...,:. .                             
                                                                                                                 ...':' .                             
                                    .,;,,;,.                                                                      ..';, ..                            
                                  ,xkxo:;;;,.                                                                     ...,, ..                            
                                'xK0dlc,''''....                                                                  ...';. .                            
                               .0XKkc,....'... .                                                                  ...';.                              
                               cKK0c........'',;,'''....                                                           ...,'                              
                               xXOl:;::ldkOOxc:oxdoodxdlc::;;;'.                                                   ...,,                              
                              '00ddxkOkdl:'cOkcldc;,,cdxoccccldddc,..                                              ...';.                             
                            .;:0Okkkkko:,'..d0oll;,,;cod:;;:cclc:cccll:'.                                          ....;.                       ...   
                           .o,l0kxxxdol:,.'.dOko;;cloooddol:;:;...',,,:cc,.                                         . .,'                    .........
                       .':cokkO0kdc,'',;;,;cOOkdoooollocllodxkdol:;'''.,:cc,.                                       ...,,            .',,;::::;..    .
                       ,c,.cOOOko,....'''.,xOxxxol'...,.   .:ddxo;codc:'.;cl:'                                      ....;.         ';;;,,;:;;;:cl:,'..
                           ;OOOkl'.....,'lkOOkOko.....'.     ..'. .,oxdxo;;cll;.                                    .. .;'       .;c:;,;,,',,;:cclolcc
                           dOOkxd:....cdxOkkOOOOk;.'..'.          ..:do:cxdccld;.                                    . .,:.     .;c:,.'''....',clllooc
                          :Okkkddo:...,od0kxxxxkk:.,;''.           .'';dc,oOocoo'                                    ....,.     ,lc,''..........;ldxdc
                         :kkxkOkxdl:c'..:dkxxdlc'..';,'.           ....,ll';xoloc.                       .,;'.....   .. .'.     ;c;,,''''......,;'';;,
                      .'oxkxxxkxdoolll,.. .....    .,;'.           .....':;.'xdoo,                     .:lc;;:ccc,;;... ..'.    ;::;',;:,.......,''...
                    ;dxkOxdooooolccclll;.    ..     .,,.            .....',. ,kdxl.                 ..;ol,.....;:'..,;;....'    'c:,';;;','.....','...
                    xOxxxollolcc:::clc:,'.   ...     .,.          .......',,..lkxx.   .           .,':o:..;'..,,...  ..,''.'.   .;,;cll:,,;;....,'''..
                    .ccllc;:xdlc::::c:;,,..   ...    .''.         ':cc:;,;,''..kkx, ..          ..'.;o:'. c; ..    . ....',...  ..';llll::,;;,'..'''..
                           .lxol:;,,,,;:;,.   ....    .;'.      .:lc:;::,:cl:'.lOk;.'.     .......,co:;..cd:..      ...''';;;'....';cll:;::;;;,'...''.
                           .,;;,..    .;c;...... ...  .';'.    .:;'....,:;:lo:',Okc.,..,'..... ..ckkkxxlodlo:.      .''''';:;,,;''',:l:,;;,;;c:;;,....
                          .''....     .:lc'........... .,:'    ..      .''.';::;kkl',';...   .:odxkkxdddoc;;;.     ...'',,,,;,,ll:ccll:,;;:;.';c:::,'.
                          .,,...     .,clc'..............;:.           ....,;:clkkl;,,..   ..lxxodocccl:.',;,,.     ..'',;::c:;colccddl:ccc,'',;;:::::
                         .';,'..   ..,ccl:''..............,;.       .......',;:lOOxl:'    ...',ld:.........,:::,.  ...',;:clllccloloxdoccc:,'....',;;:
                         .,;,'..;c:,,,,;c:,'..............':...  .........,.'''c0Oxdc..  ....,cd:.    .....';:cc,...''',:lllllloooddxxdccl:;,.......';
                       ..';;'..'okxoooc:c:;;,'.............,,.............;.,'.c0kodc....''..;cc... .........',;:;,,,,;;cllllllloooddol:;:;,'........'
                       .',;'....;ooldxdlc;;:;;'...',','.',',;'...........'c','.dOxdxc...,,'',:c;'..............',cc:;:cccllllllloollccc::;,;,....''...
                      ..,;'.......,;:cccc;.':lc:,;;;cloodddddc,'.........;l::;lOxddx:.,;;,,;:c:';;,;,.....'...':ccllllllolllllloolc:;ccc:;:;,'...,....
                     ..,;'.....''''',,',,,;lddoc;clodxxdllodxdxd:.......lc,;dkkkxdox,',;;,,;:c;.':c:,...,;:cccllclloooloolll::llc::;:cc:;;,,,;,,,.....
                    ..,;'...',:ll:'',''''looccoxxdoddoolclodxddddl,....dkkdoxkxdllod,';,'',:cc:,,.,;,,:lol:;:c;:llllooodddl:;ccc:;:c;;:::'..,:::,.....
                   ..,;,'''';lool;''....:xdoocoxxxddc;::loxxdooodxd:...,xOkxxdddoolo;,,'.'',;,;;,;;:cclllc;:llc::clolloddlc:c;,,;:::;,;;,..';c::,'....
                  ..,;,'',,,oxl;;ol,....'ldxkxxddooollodxxdooolloxxol;..:kOkxddddoool:,'.'',;clllcllol:;,;ccclllcllolccloool:'.'::;:,'',..',,;:::,,,''
                 ..,;,'',;;;;;'',c:.....':cdxdo;',;;;:xxoxkxollc;:odddl..'oOOxdxddddolc;,';looclooolc:;;;:lc:::lllloc:cc:colc;,;;:,,,..'..,,'.';::;;:l
              ....,;;'',,;;,,',,'...... ..:xoll;.',;:;oc:xkdlc;;:clcodxl...;xOkxxxxxdollcldddoolcccc::;:;;;,;::llccc::::;;;:c;:c::;',..,;,''..'..,:cll
           .....',;;'',;;;,,,,;'..........coool:;;'''';cdOkdoc:ccc::ccld;...:OOkxxOOxddxxxxxollc::cc::::;,,;cc:::,;:::::;,'',:ccc::;;;,,;:;'.';,;:cooo
          .....'''''''',;;,,,'............olcccc,,,,;;:lxkkdoolloolc:;;lo...;xkkkkOOkkkkkxddoc::cccc:::::c::cc::c;;:::;'''''';;''.',;ccc:;:::loc:coddx
        .....'''......',;;,,,'............lc:ccc;...'coxOkxdddoloddo:':ldc:cokxxkkkkkkkkkxdoll:clccc:::;:cc:;;,,;;;;;;,,;;'.',:'',''::cl;:clodxoodxxxx
                                                                                                                ...,;,  ..                            
                                                                                                                ....;;  .,                            
                                                                                                                 ...;c. .                             
                                                                                                                 ...,:' ..                            
                                                                                                                 ...':, ..                            
                                    .,;,,;,.                                                                      ...,;  .                            
                                  'dOxo:;;;;.                                                                     ...';. .                            
                                .xK0xoc;'''.....                                                                  ...';. .                            
                               .OXKOc,........                                                                     ...;.                              
                               :XKOl..........',,''...                                                             ...,,                              
                               dXOl:;;:loxkOxl:oxdddddol::;,,,..                                                   ...';.                             
                              .O0ddxkOkxo:,ckk:ldc;,,cdxocccclodo:,..                                              ....:.                             
                            .,:0Okkkkko:,'..d0oll,,,;codc;;;:clccclllc;..                                           ...;.                       ...   
                            l;c0Okxxdol:'.'.o0xo;,cllooooll:;:;...',,,:cc,.                                         ...,,                    .........
                        .:clOkO0kdl,'',;;,:ck0koooooloolooodxxdlc:,.''.,:c:,.                                       ...';            .',,;;:c:;..    .
                       ,l;.:kOOOd,....'''.'x0kxxoo'...,.   .:dddd:lodc:'.;cl:'.                                     .. .;.         ';;;,;;;;;;:cl:,'..
                           ,OOOko'.....'':xOOkkxo'....'.     .''...'lxxxl,,:ll;.                                     . .,'       .;::;,,,,,,,;:ccoolcc
                           lOOkkdc'...:ddOkkOOOOk;....'.          ..:oo:lxdcclo:.                                    ...'c.     .;c:;''''...'',clllolc
                          ;kkkkddo:...,od0kxxxxkOl.';,'.           .',;o;'oOoclo;                                    ....,.     ,lc,'''.........;cdxdc
                         ;xkxkkxxdl::'..:xkxxxol;...,;'.           ....,lc',kocol.                        .,'...        .''.    :l;,;'.''......,;'',;,
                       .ldkkxxkkdoooll,.....'..    .,;'.           .....,:;..xdod;.                    .,ll:;:cc:;;,... ..'.    ;:;;'';:,.......','...
                    ,odkOxdooooollcclll;.    ..     .,,.            .....','.'xddl.                 ..'lo;....',:'..,;;....'.   'c:,',;;,''.....'''...
                    xOxxxollolcc::cclc:;'.   ...     .,.           ......','. cxxx,   .            '',ol..;...';.... ..,,'...   .:,,cllc,,;;'...,'''..
                    'llllc;:xdlc:::c::;,,..   ...    .''.         .;cc:,',,,'..xkk; ...          .'''lc'. ;; ...     ....',''.  ..';clll:;,;;,'..'''..
                         . .lxoc::;,,;;:;,.   ....    .;'.       ,cc:,::,;:c:. cOkc.''      ......';l:;..;dc...     .....';;;'....';:ll:;::;;;,'...''.
                           .,::;'.   ..,c;...... ...   ':'.    .,c;'..',:;:lo:''Okl.''.'''.... ..,xxkxxlldoo:.      .''''',::;,;''',:cc;;;;;;c:;;,....
                           .,....     .;lc'........... .,;'    .'.     .','';::,xOo''';'..    'loxkkkxxxdc;::'     ...''',,,;''co:ccllc;;;;,.';::::,..
                          .,'.'.     .':lc'..............;:.           ....';:ccxOl;,,'.    .:xxooolcllc'.,;,,.     ..'',;::::;:olccooocccc;'',;;:::::
                         ..;,'..   ..'ccl:''..............,;.         .....',;:lkOxc;'    ...';ldc.........,:;:'.  ....,;:cllcccloloxdolccc,'.''.';;;;
                         .,;,,..,;,,',,:c;,'...............;'..    .......''',':OOxdc' . ....,cdc.     ....';:cc,.....',:llllllllooddxdlllc,,.'.....';
                        .';,'..'okxolo:;::;;,'.............,;... .........,','.:Okddc.....'..;cc.   .........';::;,,,,,;clllllloooodddoc;:;,,........'
                       .',;,....;ddloxdlc;;:;;'...''','.''',;'............:,;'.oOkodc...','',:c:,...............,cc:;;:cclllllloooolccc::;;;,....''...
                      ..,;'......,;:cclcc;'';cc;,;;;:llodddddc;'.........,lc:;:Okxddc.';;,,;:c:,;;',,.....'...';ccllclllolllllloool:::lc:;;;,'...''...
                     ..,;,.....''''',,'',,;cddoc;coodxxxolodxdxd:.......::,;oxkkxdod;';,;;;;:c;.':c:,'..,;:ccclocllloollollccccoc::;:cc:;;;,,;,,,'....
                    ..';,..''':ll;',,,'',loolcodddodddolclooxxdddl'....lOkdlxkxdllod,';;,',;cc:',,,;,,;cllc;:c::lllloooddolc:ccc:;::;;:::,..';;:;'....
                   ..';,'''',loll;''....:xdol:oxxxddc;;:coxxdooodxdc...;xkkxxxddoolo;',,..',;,;;,;;::cloll;;llc:::cloooxdoc;::;;;:::;,;:,..';c::;'.''.
                  ..';,,',,,oxl;;ol;....'odxkxxdddoollodxxxooolloxxol;..:OOkxddddoool:,'..',;:lcccclooc;,;:cclllccllllclloolc'.';:;:,'',..',,;:::,,,'.
                  .';;,',;;;:;,',c:.....':cdxdo;',;;:cdxdxkdollc;codddl..'oOkddxddddolc;'',lodllooolc:;;;:lc:::clloolcccccooc;,;;c;,,'.'..,,,'';:::;;c
              ....,;;'',,;;,'',,'.........:xoll;.',;:;lccxkxo:;;;clcodxl...;xkkxxxxxdollcldddoollccc::;;;;;;;;:clccc::::;;::c:;c::,,,'.',,''..'..,;:cl
           .....',;;'',;;;,,,,;,..........coool:;;'''';cdOkxlc:ccc::clox;...:OOkxxOOxddxxxxxdolc::cccc::;,,;c::::;;:::::;,,',:ccc:::;;',;:;'.',,;:cloo
          .....'',,''',;;;,,,'............llccc:,,,,;;:ldkOdoolcoolc:;;oo...,xkkkkOOkkkkkxxdol::cccc:::::c::cccc:;;;::;,''''';;,'.',,:c::;:::clc;clodx
        .....''..''...';;,,,,'..  ........oc:ccc,...':odOkxdddoloddo:':ld;;clxxxkkkkkkkkkxdoll::cccc:::::cc:;:;,;;;;::;;;;'..':,'''',:cc;:clodxdldxxkx
                                                                                                                ...',c. ..                            
                                                                                                                 ...,:. .;.                           
                                                                                                                 ...,c. ..                            
                                                                                                                 ...,:, ..                            
                                                                                                                  ...,;  .                            
                                    .,,,,,'..                                                                     ...,;. .                            
                                  'dkxdc:;,;'                                                                     ...';. .                            
                                .dK0xoc;,''.....                                                                   ...,. .                            
                               .kXKOl,........ .                                                                   ...,'                              
                               ;KK0l..........',,'....                                                             ...';                              
                               lX0o:;;:coxkkklclxddddddl:;;,,'..                                                   ...';.                             
                              .k0xdxxkkxdc;:kkcldl:,,cddoccccodoo:,..                                               ...;.                             
                            .,;OOkxkkko:,'..o0olo;,,;cloc;:;ccllcllllc;..                                           ...,,                             
                            c::0Okxxdol:,''.lOkd:,:llooooll:;;:'..,,,,:cc,.                                         ...,;                    .........
                        .;:cOkk0kdl;'',;;,;:xOkdooooolooodddxxdlc;,.'..,:c:,.                                       ....;.           .',,;;:c:;.. .  .
                       'o:':kOOOd;.....''..o0kxxoo,...;.....:ddddcldoc;'.;cl:'.                                      ...;.         .;;,,;;;;;;:cl:,'..
                           .kOOkd,.....'';dOOkkkd,....'.     .','...cxxxl,,:ll;.                                     ...',       .,::;,,,,,,,;:ccoolcc
                           :kOOkd:'...;ooOkkOOOOk;....'.          ..:oo;lkd::lo:.                                    . .':.     .;c:;'',''..'',colllll
                          'xkkkxoo:'..,dxOkxxxxkOd.',,'.           .',:o;'oOocld;                                    .. .,'     ,ll;'''.........,ldxdc
                         'dkkkkxxxl;:'..:xOxxxdo:...;;'.           ....;lc.'xoclo'                        .'...       . ..,.    ;l;,,'.''......,,'';:;
                       .:dkxxxkkdooool,....'''.    .','.           .....,:;..dxldc.                     .:l:;::::;;'...  ...    ,:;;',;:;.......','...
                    .cdkkxdooooollcclll;.    .      .';.            .....','..xddo.                 ...:oc'...,,:'..,;;....'.   'c:,',;:,''.....','...
                    d0kxxdllolcc:c::cc:;'.   ...     .,..          ......','. ;kdx;   .            .''lo,.;'...,'... ..,,'...   .:;,:cll;,;;'...,,'...
                    ,oooll;:xdlc:::cc:;,,..   ...    .''.         .,::;,'',,'..dkkc   .          ..,'co,..,; .'.      ...',...  ...;cllo:;,;;;,..'''..
                      .... .oxoc::;;;;;:;,..   ...    .,'.       .:c:,;;;;:c;..;Okc....      ......,cc;. ,dc...     ......;;,,....',:llc::;;;;;'...''.
                           .,cc:,.. ...,c;...... ...   ':'.     'cc;'',,:,:oo:'.kOo..'..'......  .odxddlcdooc.      .''''',;:;,,''',:cc;;;;;;::,;,'...
                           .'....     .,lc'........... .,:'    .;.     .,;''::;'o0d,'',,'.... .:lxOkkxxxdl;::'     ...'''',,;'':l:ccclc;;;;;'';::::,..
                          .''....    .':lc'..............;:.           ....',::cd0o;,;'      ,dxdodllloc'.,;,,.    ...''';;;::;:ooccloocccc:'',;::;:::
                          .,,'...   ..:clc''..............,;.         .....',;:lk0xl;,.   ..',:odl'.......',:;:'.  ....,,:cllcccloloddolccc;'.''.',;;;
                         .,;,,...''.',;:c:,'...............;'.     ........'',,;k0kd:'.  ....':ol.     .....;:cl,.....',;cllllllooodxxdoclc;,''.....';
                        .';,'..'oOkoll:;:c;,,'.............';... .........,,''',OOxdc.  .....;cc'    ........,;::;',,,,;:lllllloooodddoc:::;,'.......'
                       ..,;,....;doloxdlc;;;:;'....'','..'.,;'............:,,'.:Okddc....,'',:c;'..............',:c;;;:::lllllloooollccc;:;;,'...''...
                      ..,;,......,::llllc;'';:c;',,;:llldddddc;..........,o:;;,kkxddc..;;,,,:c:,,,'''..........,:cllccllllcllllooolc::cc:;:;;'...''...
                     ..,;,.....''''''''',,,codoc;:lodxxdocldxdxo:.......,:,,lxkOxddx:.;,;;;;:c;.';cc;'..';:ccclllllooollooclc:colc:::cc:;;;;,;,,,'....
                    ..';,'...';ll:,,,,,,,loollodddoddddoclooxxdddl'....cOOdcdkkxoood;';;,,,;cc:',,;;,';cllc::c:;clclooodooll::cc:::c;;:::;..,;;:;'....
                   ..',;'.'',loll;''....:xdol:lkxxddl:::clxxdooodxdc'..;xkxxxdddoolo;,,,'.',;,;:;,;::clool;,cl:::cclllodxdc;:c;;;::::,;;;'..,:::;'.''.
                 ...';,'',,,oxl;;oc;....'odxxdxdddoollloxxxooollodxol;..:OOkxddddolol:,'..',,;llccclooc:;;:cclllccllllclooolc;'';c;;;'','..',;:::,',,.
                 ...;;,',;;;:;,',c:.....':cdxxo:,,;::cdxdxkxolcc;codddl..,dOkdddddoool:,'',clollooollc;;,;cc::cclllllc:cccool;,;;:;,;'.'..,,,'';:::;;:
               ...,;;,',,;;,'',,'...... ..:xoll;.',;:;lccxOxoc;::cllodxl...:xkxxxxxxdolcccddddollccc::;;;::::;::lcc::;::::::c:;c::;,,'.',,,'..''.,;:cl
            ....',;;,'',;;,,,,;,..........coool:;;'''.;ldkkxl:::cc::clox;...:OOkxxkOxdddxxxxdolc::cccc::;,,;:::c:;;::::::;,'':clc:::;;',,;;,..,,;::coo
          .....'',,''',;;;,,,,............llcccc;,;,,;:lxkOdoolcoolcc:;lo...,dkOkkOOkkkkkkddolc:ccccc:::::::c:cc:;;;::;,''''';;,'.',,:c:::::;:lc::lodx
        ......'..''...';;;;;,'..  ........oc:ccc,..',:ldOkxdddoloool:,:cd;,:lxxkkkkkkkkkkkddol;:lc:cc::::cc:::;,;,,;::;;;;'..,;,'''',:cc:;:lldddloxxxx
                                                                                                                ...',c. .'                            
                                                                                                                 ...,:. .;.                           
                                                                                                                 ...':, ..                            
                                                                                                                 ...':;  .                            
                                                                                                                  ...,;. .                            
                                    .,,,,,,..                                                                     ...';. .                            
                                  .oOkdl;;;;'.                                                                    ...';' .                            
                                .dKKxoc:''''....                                                                   ...,' ..                           
                               .xKK0l;......... .                                                                  ...,,                              
                               'KK0o'..........''....                                                              ...';.                             
                               cXKo:;;;cldxxxlcoxdddddoc;;,,''..                                                    ...;.                             
                              .xKkddxOOkdc::kOccdl:;,:oxoccccldoo:,..                                               ...;'                             
                            .';OOkxkkkdc,'..c0dco;,,,:ldc;:;:clolllllc;.                                            ...,,                             
                            ;c;Okkxxdol:,'..:0kd:,:clooooll:;;c'..,,,,cc:,.                                         ...';.                   .........
                        .,;;kxx0kxl:'',;;,;;d0kdllodoodoodxddddl:;,.'..':cc,.                                       ....;.           .'',;;:c:;..    .
                       .dc,;kOOOx:'....''..l0kxxoo:'.','....;dddxlodl:,'.;cl:'.                                      ...,'         .,;;;;;;;;;:cl:''..
                           .xOOkd,.....'';dO0kkxd;.. .''     .,;,..'lxxxl,':lc;.                                     ...',       .,::;,,,;,,;;:cclolc:
                           ,kkOkdc'...;ookkkOOOkO;......          ..;oo;lkd;:loc.                                    ....:.     .;c:;'',,'..'',collllc
                          .dOkkxooc'..,oxOOxxxxkOx.',,'.           .';co;'oOdcld;.                                    ...,,     'lc;'''.........,ldxdc
                         .oOkkkkxxl;;'..:xOxdddoc...;,'.           ....,lc.'xdcoo,                         ...        . ..,.    ;l:,,'..'......','';:;
                       .;dkkxxkkxdoool,...'',,..   .','.           .....,::..oxldc.                     .,cl;;;,;;,'... ...'    ,:;;,',::'......','...
                    .:lxkxddooooollllll;..   ..     .',.            .. ..';' .dddd,                  . ,ll;...;;;'..,:;....'.   '::;'';:,''......''...
                    d0kxxdolllccccc:ccc;,.   ...     .,..          ......','. ;kdxc   .             ..co;.;'...,,'.. ..,,.....  '::';cll;,;;'...',''..
                    ,xdool:;ddl::::cc:;,''.   ...    .''.         .';:,''',,'..dkxo   .           .,';d:..,:  .'.     ...','..  ...,cloo:;,;;;'..'''..
                      ......lxocc:;;;;;;;,..   ...    .,'.       .;::,;;;;;:;. ,Oko....       .....';l:'.'ol...     .....',;,,....',:lll;c:;;,;'....'.
                           .,clc;......,:;'.. .. ...   ':'.     .clc,',;;,:loc'.xOd'.,.......... .clxddc:odo:.      ..'''',;:;,',''';cc;;:;;;::,,,....
                           .'....      ,lc,........... .,:'    .;'.    .,:,,:c:'l0x,.'.,'.... .';oOkkxxxxl;;c,     . .''',,,,,';l::ccll;;;;;'';::;:,..
                          .',....     .:lc,..............;:.          ......,::clOd:,,;.     .lxdddooool,.,;,,.    . .''';;,;:;;ooccloocccl:'.,;::;:::
                          .,,'...   ..:clc''..............,;.         ......;;:lx0xl:;..   ..,codl,...'....,:;:'.   ...,,;lccccclolldddoccc:'.''.';;:;
                         .';,,.......,:;l:,,...............:'.     ........,',,;xOkxc'..  ...':ol..    .....;:cl,......';:llollllloddxdocll;'.......';
                        ..,;,..'lOkoll:;::;,,'.............,;... .........',',.'k0xdl. ....'.;cl'.    .......,;::;',,,;;:lllloollooddddl:c:;,'.......'
                       ..,;,'...:ddldxdlc:;::;,....''''....';'............;;,,.;OOdol....'''';::,..............'':c;,,;::lllloollooolccc::;;;'...',...
                      ..,;,'.....:c:ooolc:'';::,',,,;clloddool;..........'oc;,'dOxddo..,;,,,;c:,;,...'.........,:clllcclclcllllllooc::ccc;;;;,...''...
                    ...';;.........''''';,,:odoc,:lodxxxolldxddo;........,;;cdxOxdddc.,;,;;;:c:'';:::'...,;:cclllllooollooccc:cllcc:;cl::;;;;,,,,'....
                    ...,,'...';ll:,,,,'',loollodddoododocloodxdddl'....;dOo:dkkxdood:';,,,,;:c:'';;:;,;:llc:;c:;clllllodddllc;llc;:::;::::'.';;::,....
                   ...,;'''',lllc,'''...:xxol:lkxxddl:::cldxdooodxdc...:kkkxdxddollo:',,,'';:;;;;;;:::cool;,cl:::cclllodxdl::c:;;::::,;:;,..,:::;,..'.
                 ....,;,'',,oxl;;lc;....'odxxxxxxdoolcloxxxooollodxol;..:OOkxddddolll;,'''',;:colccloolc;,;cclllcclllllloollc:'';:;;;,','..',;:::;'',.
                 ...,;,',,;;::'.,l:'....':cdxxo:,,;;:cdxdxkxolc:;:odddl..;x0kdddddddoc:,'',:lolllooolc;,,;cc::ccllloo:::ccodl;,;;;;,;'.'..',;'';:::;;;
               ...';;,',,;,,',,,'.........:xoll;..,;:;ll:xOxoc;:;cllodxl...ckxxxxxdddolc:cododollccc::;;;:::::::llcc:;;:::::cc;c::;,,,.',,'''..'',:::l
             ....,;;,'',;;,,,,;,......  ..cdooo:;;'''.;ldkkdl:;:ccc:clox;...:OOkxxkkxdddddxxxoll::cccc:::;,;:::cc:;:::::::,'':clcc::;;',,;;,..,,;;:clo
          .....'',,,'',;;;,,;,'...........llcccc;,;;,;:ldkOdoolcodlc:::lo...'dOkkkOOkkkkkkddolc:ccccc:::::::::cc:;;;:::,''''',:,'.',,;::::::;:cc::lldd
         .....''''''..,;;;;;,'.. .........oc:ccc,..'':ldOkxdddolooocc,;cd:,,:xxOkkkkkkkkkkddol;:lc:cc:::::::::;,;,,;;:;,,,'.'';,,,'',;clc;:llooocldddx
                                                                                                                 ...,:'  ,                            
                                                                                                                 ...,:'  ;'                           
                                                                                                                 ...':,  .                            
                                                                                                                  ..';:. .                            
                                                                                                                  ...';. .                            
                                    .',,,,,..                                                                     ...';' .                            
                                  .lOkxl:;:;'.                                                                     ...,' .                            
                                .o0Kkoc:,''.....                                                                   ...,, ..                           
                                dXK0o;...........                                                                  ...';.                             
                               .KX0d'...........'....                                                               ...;.                             
                               :XKd:;,,:ldxxxoclxddddooc;,;,'...                                                    ...,'                             
                               dKkdxxkOkdl::kOlcdo:,,:oxdlccclooo:'.                                                ...,,                             
                             ',kOOxxkkdc;'..c0xcd:,,,:lol::;:cloollolc,.                                            ...';.                            
                            ,c,OOkxxxdl:,'..;Okdc,;clooooll;;;:,..',;;:c:,.                                         ....:.                   .........
                        .',;xxx0Oxo:,,;;;;;;o0Odllodoododdxdddoc:;'.'..':cc;.                                        ...,.           .'',;;:c:;..    .
                       .dl;;xOOOx:'....''..cOOxdooc,.';'....:ddddoooc;;'.,:l:,.                                      ...',         .,;;,,;;;;;:cl:''..
                            dOOOd;......''lO0Okxd:'. .''     .,;;..'cxxxl,':lc;.                                     ....,.      .,::;,,,;,,,;:cclolcc
                           .kkOkxc'...,llxkkOOOkO:......          ..;ol;lko;:coc.                                     . .;'     .;c:;''',,...',collllc
                          .oOkkxdoc'..,dxOOxxxxkOk'',,'.           .';lo;'oOdcld:.                                    . .,;.    'lc;'.'.........,cdxdc
                         .lkkxkxdxl;;'..:kOxxxddl,..,;''           ....;l:.'ddclo;.                         ..        . ..'.    ;l:,,,'........','';:;
                        'okxxxkOxolool,...,,;;'.   .';'.            ....,::..odlol.                      .:lc;,,,,,.. .....'    ;:;;,',;;'......','...
                    .,cdkxddddddollllll;..   ..     .,;.            .. ..';' .ddoo;                    .co:...;;:,.';;,....'.   ,::;'';;;''......'''..
                    l0kxxdollllc:cc:clc:,.   ...     .,'.           .. ...',. 'kdxl                 ..;ol','....,,.. ..;'...'.  '::';:ll:,;;'...','...
                    ,xdoolc;dol::::ccc:,''.   ...    .',.          .,;,'..,,'. lkxo.  .            '',oc'.,:. .,.  .   ..,'...  ...,clloc,,;;;'..''''.
                      ......lxocc:;;;;;;;,..   ...    .,'.        ';:;;;,,;:;. .kkd....        ....',lc,..ll....    ......,;,,.. ..,:lll:::;;,;'......
                            ,loc:'.....,:;..  ......   ':'.     .;lc:;;::;;loc'.o0x,.,. ........  ;lddoc;odo:..     ..'''',;:;,'''.';cl:;:;;;::;,,....
                           .'..'.      .cc'........... .,:'    .:;..   .;c;,cc;.:0x;.'.;,'.... .,cOOkkkxxo::c;     ....'',,,,,';l:;:cll;;:;;,.,::;:;..
                          .',....     .;cc,..............;:.    .      .....,:::cOx:,,,..    .:xddxdoooo;.';;;.    ....'',;;;:,;locclooccclc,.';::;::;
                          .,,''.    ..;clc,...............;;.         ......;::ldOxl::'    ..'lddl;...,....,:;;'.   ...,,;clccc:lolldddoccl:,.'''';::;
                         ..,,,.......,:;l:,'...............:'.     ........,,,,;d0Oxl,..  ...';oo..    .....;:cl,......';:clllllllodxxdolll;,'.......;
                        ..,;;'..lxxolc;,::;,''.... ........,;... .........';',''x0xdo'. ...'.,cl'.     ......,;:c;'',,,;:llllolllooddddlccc;,,........
                       ..,;,'...:xdldxdlc:;;:;,....''''.....;'............;:',.,kOxoo' ..'.'';::'......'.......',;:;,,;::llllllllooollcc::;;;,....,'..
                      ..,;;'.....:ccodolc:,,;::,'',;;:ccodoooc;...........lc;,.lOxddo'.';,',;lc,,'.............';cllccclccllllllllolc:ccc:;:;,...''...
                    ...';,'........'''',;,,:odoc;:llodxxolloxddo;........';;:ooOxxddl.,;;,;;:c:'';::;,...,;:::cllllooollooccccclolc:;:lc:;;;;,,,,'....
                    ...,;'.'.';ll:,;;,,,,loollooddoodddolloodxxxdc'....'okd;okkxdoodc.;,,,,;:c:'.,::;,;:clc:;:::lllllloooolcc;clc::::;::::'..,;;:,....
                   ...,;,.'',cllc,.''...:xdol:cxxxddl::::ldxdooodxdc'..:kkkxxxddollo:';,,'';::;;;;;:c:clol:,clc;::clooodxdoc:cc:;;:c:,;::,..';::;,..'.
                 ....,;,'',,oxo;:lc;....,odxxxxxddoolcloxxdooolloxxol;..:OOkxxdddoloc;,'''',;;:olc:coolc:;;:clllccllllloooocc:,',::;:,',,..',;:::;,'''
                 ...,;,',,,,::,.,lc'....'ccdxxo:;;:;cldxoxkxolc:;:oddol..cxOkxddddoool;'''':loollooolc:;,,:cc:cclllllcc::codo:',;:;,;,....',;,';::;:;;
               ...',;,'',;,,,',,'.........:xool;..,,c;llcxOxoc:::clldddo..'lkkxxxxdddolc::ldodolllcc::;;;;:c::::llcc:;;::::ccc;cc:;,,,.'','''..'',;c:c
              ...,,;,'',;;,,,,;,......  ..cdooo:,;'''.,cdkxdl::::cc::lox:...:kOkxxkkxdddxdxxxdlc::cccc:::;,;::::c:::::::::;'':clc:::,;',,;;,..',,,:cll
           ....'',,,'',;;;,,;,'...........lllccc;,;,,;:lxkkdoolclolc:c:oo...'xOkkxkOkkkkkkdddlc:ccccc:::::::::ccc:;;;::;,'''',;,''',,;::c:;:;;cc::llod
         .....''''''..,;;;;;;'............oc:ccc;..',:lokkxdodolooolc;;:o;'':dkOxkkOOkkkkkdooc::lc::cc::ccccc:;,;;,;:::;,''''';;','',;:cc;:llldolcoddx
                                                                                                                 ...,:,  '.                           
                                                                                                                 ...';,  ,'                           
                                                                                                                 ...';;  ..                           
                                                                                                                  ...,:. .                            
                                                                                                                  ...';. .                            
                                    .',,,,,..                                                                     ....;' .                            
                                  .lOkxl:;;;,.                                                                     ...,, .                            
                                .l0Kkocc,''.....                                                                   ...'; ..                           
                                lXK0d;'.....'.. .                                                                  ...';.                             
                               .0X0x,................                                                               ...;.                             
                               ,XKx:;,,;codxxdclxxdddoo:,,,''..                                                     ...,,                             
                               oKkddxkkkxoc:kOlcdo:;,:oxdl::llool:'.                                                ...,;                             
                             .'kOOxxkOxl;'..:0xco:,,,:lol::::cloooool:,.                                            ...':.                            
                            'l,OOkxxxdlc,...;Okdc,;cloooocc:;,:;..',;;:c:,.                                         ....;.                   .........
                         ',,xkd0Oxd:,,;;;;;;c0Odlclooodoodxxoodc;,'.'..':cc,.                                        ...,,           .'',;;:c:;..    .
                       .dl:;dO00xc'....''..:OOkdddc,'';,....:xxddoooc;,'.,:l:,.                                      ...',         .,;;,,;;;;;:cl:'...
                            oO0Od;......''ck0kkxd:'. .''     .;::..,ldddl,':lc;.                                      ...;.      .,:;;,',;,,,;:cclollc
                           .xkOkxl'...'cldkkOOOkk:......          ..;ll:lko;:loc.                                     ...;,      ;::;,'';,...';collllc
                           ckkkxddc'..,dxOOxxkxkOk,',,'.           .';ll,.okdcld:.                                    ...':.    'cc;'.'........',coxdc
                         .ckkxkxdxl;;'..cx0kxdddd;..,,''           ....,o:..ddclo;.                         ..        ....,'    ;l:,,''........',,,;:;
                        .lkkxxOOxdoodl'...,;;:,..  .';'.            ....,::..oxloo'                      .,cc;'''''.   ....'.   ;c;;,',;;'......','...
                     ':okkddddddollllll;..   ..     .,;.            .. ..';'..odod:                    .;ll,.';:c;.';;,......   ';:;'',;;'''.....'''..
                    c0Oxkdollolcc:cccll:,.   ...     .,'.           .. ...',. .xdxo.                ..'lo;,. . .';'...';,...'.  .::,,;cl:,;;'....;'...
                    ;kxoolc:ddl:::cccc;,,'.   ...    .',.          .','...','. ckxd.  .            .''lo'.,:....'      ..'''..  .'''clooc,,;;;'..,''..
                     ...''..oxdcc:;;;;,;;,..   ...    .''.        .,:;;;,,;;;. .kkx....         ...,'cc;..co. ..    ....'.';,'.  ..,:lll:::;,;;'......
                            ,odl:,.....,:;... ......   ':'.      ,llc;;c:,;clc..l0k,.,. ......... 'cloll;ldo:..     ..'''',;;;;''''.,clc;:;;;::;,,....
                           .''.'..     .cc,..........  .,:'    .;:'.  ..;c;;cl;',0k:.,.,,'.......;xOkkkxxd::c;     ....'',,,;;,;cc;::cl:;;;,,',::;:;..
                           .'....     .;lc,..............;:.    ..     .....,;::;kkc'','.     ,oxdkxddooc'';;;'    ....,'',,,;;,locccool:clc,'',::;::;
                          .,,''.    ..,clc,'..............;;.         ......,::loOkl:;,.    ..oddl;'.','...,:;;,.   ...',,ccccc:colcoddolcl:,''''';::;
                         ..,,''......,::l:,'...............:'.     ........'',,;o0kdl;..  ....;oo'.     ....;:cc;. .....,;clllllllooxxdolll:,'.......;
                         .,;;'..cddlcc;,::;,'..............,;... .........';','.d0kxd,. ...'.,cl,.     ..'...,::c;'',,,;:cllooolloodxxxoc:c;,,'.......
                       ..';,'...cxxloxdlc:;;:;,....''''.....;'............,:,,..xOxoo'. .'''':c:'......'.......',;:;,,;::clllllllooollcc::;;;,....,'..
                       .',;,.....clcddooc:,,;::,.',,;:ccoooooc;...........:c;,.:Okddd,..,;,,;lc,,'.........'...';clllccllclcllllloolc:cccc;:;;'...,...
                     ..',;'........'''',;,,;odoc,:llodkxdlloxddo;.........;c:llkkxddo.';;,;;:c:'';:;;,...';:::ccllloooolloccccclllc:::lc:;;;;,,'''....
                    ...,;'...';ll:,,;,,,,loollooddoodddocclodxxxdc'.....cxo,lkkkdoodl.,,,,;;:c:'.':c:;,:cll:;:c:cllllloooolcc::lc::c::::::,..';;:,....
                   ...,;,...,cllc,.''...:xdol:cxxxddo:cc:ldxdooodxdc...;kkkddxxdolloc.,,,'';:c:,;;;:c:cloo:;;lc::::looodxdocc:c::;:::,,::;..';::;,'...
                 ....,;,'',,oxl;:lc,....,odxxxxxxdool:clxxdooolloxxol;..cOkkxxdddolll,,'''',;;:llc:cloll:;;:cclllcclllloddolcc,',::;:;',;'..';:;:;,.''
                 ...,;,,,,,,cc,.,lc,....,cldxxo:;;:;clxxoxkxolc:;:odddl..lkOkxddddoooc;'''':coollooool:;,,:cc:clllllol::c:ldo:,,;::;,,..'..,;,';::;;;,
               ....,;,',,,;,,',,'.........cxool;..,,c;llcxOkdc:c::clddxo..'lkkdxxddddol:;:loodolllcc::;;;;:cc:::cllcc:;;;:cccl;c::;,,,'.,,''''.'',;::c
              ...',;,'',;;;,,,;,....... ..cdooo:,;,''.,cdOxdl::::lc::lox:...ckkkxxxxddddddxxxdolc:::::::;;;::::;cc::::::::;,':clcc::,;,',;;,..',',;:cl
           ....'',,,'',;;;;,;,'......... .llllcc;,;,,;;lxkkdoolclolc:c:ld...'dOkkxkOkkkkkxdddlc:cccccccc::::::ccc:;;;::;,,''',;,,'',,;:;:::;;,::::clod
           ...''''''..,;;;;;;'.. ........'oc:ccc;..',:cdkkxdddolooolc;;:d;.';okOkxkOOkkkkkdool::llc:cc::cccc::;,;;,;:c:;,''''';;','',;:ll:::ccoolcoddd
                                                                                                                 ...,;;  ..                           
                                                                                                                 ...';;  .,                           
                                                                                                                  ...;:. ..                           
                                                                                                                  ...,:. .                            
                                                                                                                  ....;' .                            
                                    .';,,,,'.                                                                      ...,, .                            
                                  .cOkxo:;;;,.                                                                     ...,;...                           
                                 c0Kkocc,''.....                                                                   ...';...                           
                                cXX0d:'....''.. .                                                                   ...;. .                           
                               .OX0x;...............                                                                ...,'                             
                               'KKk:;,,;:lodxocldxdddol:,,,'...                                                     ...,,                             
                               lKOdddkkOkoc:xOo:ddc;,:oxdl:clllll:'.                                                ....:.                            
                             .'xOOxxkOxl;''.;Okcoc;'';coo::::cldddooc:,.                                             ...;.                            
                            .c'kOkxxxdoc,...,kOdl,,:coooocc:;,::'.,;;;:c:,.                                          ...,'                    ........
                         .''dko0Okxc,,;;;;;;:OOxlclooooodxxdooo:;,'.'..':cc,.                                        ...,,           ..',,;:cc;'.    .
                       .ooc:dO00kl'...'''..;k0xdddl;,,;;....:dxdxdooc;,'.,:lc,.                                      ...',.        .,;,,,;;;;;;cl:'...
                        .   lO0Od:......'.;x0Oxkdc'. ..,     .:cc,.,cdxdc'';ll;.                                      ...;.      .,:;;,',;,,;;:ccloolc
                            dOOkxl'...':coOkOOOkO:'.....          ..,ll:oko;;coc'                                     ...,;      ;::;,'',;'..';colllc:
                           ;kkkxddc'..,dxOOxxkkkOO;.,''.           .':lo''oOdcldc'                                     ..':'    'cc;'''........',coxxl
                          ;kkxkxxxo;;'..cxOkxddddc..,,''           ....;o;.'dx:co:.                          .         ...,'.   ;c:,,''........',,,;:;
                        .cxkxxkkxdoool'...;:::;..  .';'.            ....;c:..lxlld,                       .;c;''....   ....'.   ;:;;;',;;,.......,'...
                     .;lkkxdddddoolllll;..   ..     .,;.            .....';'..oxooc.                    .co:'':cc:',;,'......   ,;::'',;;'''.....'''..
                    c0Oxkxollocccccccllc,.   ...     .,'.           .. ...',. .xdxd.                 ..:oc;......;'...';,...'.  'c:;';ccc,;;,....,,...
                    ;Oxoolc;odl:::cccc:;''.   ...    .''.          ..'....'''. :kdx'  ..           .''cd:.,:. ..'. .   ..','..  .,'.:looc,,;;;,..,.'..
                     .''',..oxdcc:;;;;;;;,..   ...    .''.        .':::;,',;,. .xkx, ..          ..,';l;..:o. .'.   ......';,,.  ..':cllc::;,,;,......
                            ,ddl:;'..'.,:;'.  .....    ':'.      .llc:;c:,;cl:..cKk;.'. ...........;cdll,cdo;...    ..'''',;:;;'...';cll:::;;::;,,'...
                           .''''..     .:c,..........  .,:'     'c,.....,:;;lo;''OOc.'..,'..... .'dkkkkxxdc:l:.     ...''',,;;,,cc;::cl:;:;,,',::;:,..
                           .'....     .,cl,..............;:.   ...     ..''.,;::,xkl,'';...   .lddkkxddol,';;:.    ....',,,,,;,,coclclol:clc;'',::;::;
                          .',''...   .,ccl,'..............;;.         ......,:cllkOl;,,.    ..lxdoc,.,;,. .,:;;'.   ...',,:cccc:colcoddolclc,''''',::;
                         ..,,''......,c:lc,'...............:'.     .........,,;;oOOdl:'.  ...';oo,.      ..';:cc,. .....,;clllllllooxxdolllc,'.......;
                         .';,,..:ooc::;,::;,'..............';..............;,,,'l0kxd;.....'.,cl,.     ......,:::;..',,,;cllooollooddxxolcl:,,'.......
                       ..';;,...cxxooxdlc:;::;'......''.....;'............'c,,..o0xod,. ...'';c:'.......'......',;:;,,,;:colllllllooolccc::;;,....''..
                       .',;,....'clcdxdoc:,,;;:,..,,;:c:looooc;...........;l;,.,kkxdd;..,,',;cc,,'....... .....',:llccccc:llllllloolc::ccc,:;:'...,...
                     ...,;,........',,';;,';looc;:llodkxdlloxddo;.........;c:ccxOxddo'';;;,;:cc'';;,,,....,::::cllllooollllccccclllc::clc;;;;;,'''....
                    ...,;,...';lc;,,,,,,,coollooodoodddoccoodxxddc'.....;dl;:xkkxdddo.,;,,;;:c:'.,:cc;,;cllc;;cclllllooooolcc::ll::cc:::::;.'';;:,....
                   ...';,'..'cllc'.''...:xdoc;cxxxddoccc:ldxdooodxo:...;kkkddxxdollol.;,,'';:c:,,;:cc:clll:,;lc;:::cooloddolc:c:::::c;,::;'..,::;,'...
                 ....',,''''lxo;:cc,....,ddxxddxxdooc:cldxxoollloxxoc;..ckkkxxdddolll,,'''',;;:clc:clollc:;;:clcccclocloddoocc:,,::;:;,,;'..';:;;;,.''
                 ...';,,,,,,cc,.,oc,....,cldxxoc;;::clxxdxkdolc:,:odddl..lkOkxddddoooc;'''';cloollooolc;,';cccclllllllc::cldoc;,;;:;,;'.'..,;;',:::;;,
                ...,;;,,,,,,,'''''........cxool;..,,:;oocxOkdl:cc:cloddo'.,dOkdxxddddol:;;coooollllcc:;;;;:ccc::clccc:;;::cccl:c::;,,;'.'''','.'',;:::
              ...',;,'',;;;,,,;,....... ..cdooo:,,,''.,coOkdl:;:ccc::lox:...ckkkxxxxxdodddxxxdolc::::::::;;:::;:cl::;;:::::,':clccc:,;,',;;,...,,,;:cl
            ....,,,,'',;;;,,,,,......... .llllcc;;;,,,;lxxkdooc:lolc:c:ld....dOkkkkOkkkkkkdddlc:cccccccc::::::ccc:;;;::;;,'''':;,'',,;::::::;,::::clod
           ...'','''..,;;,,,;'...........'oc:ccc;.',;:cdkOxoodolooolc:;:d,..,okkkkkOOkkkkkdoolc:llcccccccllc::;;;;,,;::;,'''',::',''',;cc:::ccooccoddd
                                                                                                                 ...';:  ..                           
                                                                                                                 ....,;  .,                           
                                                                                                                  ...,:. ..                           
                                                                                                                  ...';' .                            
                                                                                                                  ....,, ..                           
                                    .',,,,,'.                                                                      ...,;  .                           
                                  .ckOxo:;;;,.                                                                     ...':. .                           
                                 :OKkdlc;'''....                                                                   ....;. .                           
                                cKX0x:'....'... .                                                                   ...;. .                           
                               .kX0k;..............                                                                 ...,,                             
                               'KXOc;,,,;coodocldxdddol:,',....                                                     ...,;                             
                               :KOdddkOOkoc:x0o:ddc:,:oxdlc:clllc;.                                                 ....:.                            
                             .'d0kxxkOxo:''.;Okcol,'';coo::::cloddooc:,.                                             ...;'                            
                            .c'xOkxxxdoc,...'xOdl,,:clodoc::;;:c'.,;:;:c:,.                                          ...,,                    ........
                         .'.lko0Okxc;,;:;;;,;kOxlclooododxxxoloc,'..'..':cc,.                                        ...',           ..',,;:cc;'.    .
                       .ldl:dOO0kl,....''..:x0kdddl:,,;;..'':dxxxdllc;,..,:c:,.                                       ...,.        .,;,;;,;:;;;cl:'...
                        ..  cOOOx:......'.,dOOxxdl'. ..,     .:cl:',cddoc'';cc;.                                      ...,.      .,:;;,',,,',;:ccloolc
                            okOkxo,....;clkk0OOkOc.....'        . ..,cl:oko;,clc'                                      ..';.     ;::;,'',;'.'';colllcc
                           'kkOxdoc'..'dxkOxxkkkOO:.,'..           .':lo'.oOdccol,                                     . .:'    'cc;''''......'',cdkxl
                          ,xkxkkxdo;,'..cxOkxdddxl..,,''           ....;o;.'oxccd:.                                    . .,,.   ;cc;'''........',,,;::
                        .:xkxxkkxdoldl,...;cc::'.  .';''.           ....;c:..cxlld;                       .,:;......   ....'.   ;c;,;'',;'.......,'...
                     .,cxkxddddddolllll;..   ..     .','            .....';,. lxlol.                    .;lc,,:c:c,,,,... ..'   ,;::'',,;,''.....'''..
                    :OOkkxollolccc::cllc,.   ...     .,'.           .. ...',. .dddd.                 ..,oo:......;,...';,...'.  'c:;';:cc,;:,....,,'..
                    :Oxoooc:ldc:::cccc:;''.   ...    .''.           .......,'. ;kdx,   .            .':oc.,:....,'.... .''''..  .,,.;lool'';;;,..,''..
                     .,,,,..lkoc::;;::;;;,..   ...    .''.         ';::;'',,,. .dkx; ...          .',,lc'.;o. ...     ....',,,.   .':clll::;,,;,......
                            ,ddlc;,..'',:;'.   ....    ':'.      .:ll:,::,;:c;..;0k:.''  .. .......;:olc,;do;...    ...''',;;:;'...';:ll::::;;:,,,'...
                            ',',..     .:c,..........  .,:'     .:c,....;:;:ll:..kOl.'..','..... .lxkkkxxxlcl:.     ...''',,;;,,:c,;:cl;;::;,',::;:;'.
                           .'....     .,cc;..............;:.    ''    . .,,.,::;'dOl,,';'...  .;ldkkkxddo;,;;:'    ....'',,,,,,'cdllcloo:ccc;..,::;;:;
                          .',.'...   .'ccl;...............;;.         ......';cclxOl;,,..    .cxddl;,;::'..,:;;'.   ...',,;cc:c;:oocldddllcc;''',';::;
                         ..,,,'... ..'::lc,'...............:'.     .........,,,:lO0dl:'    ...:do;.      ..';:cc;. .....,,:llllllloodxddlloc;'......';
                         .';;,..;llc;:;,::;,'..............,;..............,,,''c0Oxd:..  ...'co;.      .....,::::..',,,;cllloolllodddxdlcl:,,,'......
                       ..';;,...cxxooxdlc::;;;'.....''......;'............':,,..c0kdd:. ...'';c:'........'.....',;:;,,,;:collllllloooollc;:,;,....''..
                       .',;,....'llloddoc:,,;;:,..,,;:c;lllllc,...........;l;,''xOxdd;...,,,;cc,,...............,:llccclc:llllllllooc::ccc;;:;'...''..
                     ...,;,'.......',;,;;,';colc,:llodxxdlloxddo;.........;l:c:dOxddd,.,;,,;:lc'';;,''....';:::cllllooollol:llcclllc::clc:;:;;,'.'....
                    ...,;,..'';lc:;;,,,,,coollooooooddddlclodxxxdc'.....'lc,:dkOxxddo',,,;;;:c:'.,;cc;,;cllc;;:clllloooooolccc:clc:c::::::;''',;:;....
                    ..';,'..,:llc'......:xdoc;cxxxddoccc:loxdooooxo:...,kkkdoxxxooloo.,,,,,;:c:'',:cc::lllc;;cc::::cloooddoll:cc::::c;,;::,..';:;,'...
                 ....',,''''oxo;:l:,....,dxxxddxdddoc:cldkxooolloxxdl,..cxkkxxxdoolll,,'''',;;;cll::lollc:;;:cllcccclllodddocc:,,::;:;,,;,...,:;;;,'''
                  ..';,,,,,,cc,.,oc,....,cldxkoc;:::codxdxkdol:;,:ddddl'.okOkxdddooooc;''..;cloollodoll:,';cccccllllllc:ccldoc;';::;,;'.'..';;,,:::,;,
                ...';;,,,,,,,'''''.. .....cxool;..,,:;locxOkdlcc:;codxdo'.;dOkodxdooool:;;clooolllllc:;;;;:cccccclllc:;;;:cccl::c::,,,'.'''',,'.',;:::
              ....,;;'',,;;;,,;,'.........cdooo:',,',.,cdOkdl:;:ccc::lox:...ckxxxxxxxdodddxxxdolc::::::::;;:::;;:lc;;;:::::;';clccc:;,;',,,,'..'',;::c
            ....',,,'',;;;,,,;,...........llllcc,;;,,,;lxxkdoocclolc:c:od....dOkkkkOkkkkkkxddolc::cccccc::::::ccc:;;;::;;,,''':;,''';;;:;:::;,;:;;cllo
           ....','''..,;;,,,;'...........'oc:ccc,.,,;:cdkOxdodoloool::;cd,..'okOkkkOOkkkkkdool:;clcccccclllccc:;;;;;;::;,,''',::','',,;cl:;:c:loc:lodd
                                                                                                                 ...'':. ..                           
                                                                                                                  ...';. .,                           
                                                                                                                  ...';. .'.                          
                                                                                                                  ...';, ..                           
                                                                                                                   ...,;  .                           
                                    .',,,,,'.                                                                      ...';. .                           
                                  .cOOxo:;;;;'.                                                                    ....:. .                           
                                 ;OKkdlc;'''....                                                                    ...,' .                           
                                :KK0x:'........ .                                                                   ...,' .                           
                               .xXKk:.............                                                                  ...',                             
                               .0XOc;,'';cooolclddooooc;''''..                                                       ..':.                            
                               ;K0xodkkOkdlcx0d;ddc:;:oxdlc:ccclc;.                                                  ...;.                            
                             ..o0kxxkOxo:,'.,kOcol;,,;cooc:c:clodxdoc,'.                                             ...,,                            
                            .c'd0kxxxdoc,'...dOdo;'::lodoc::;;::,.,;:::c:'.                                          ...,;.                   ........
                         ...lkl0Okxl;,;:;;;,;kOkl:looododxxxoloc,...''.':cc;.                                         ..';.          ..',,;::c;'.    .
                        colcdOOOkd;....''..;xOkdddoc;,::'''':dxxxdllc,...,:cc,.                                       ...;.        .,;,;;,;:;;;cl:'...
                        ..  :kOOxc......'.'oOOxxdl'. ..,.    .:llc',cddoc.';cc;'                                      ...''      .,:;;,'',;,;;::coolcc
                            lkOkxo,....';:kkOOOkOc.....'        .. .,cccokl;;:oc'                                      ...;.     ;::;,'',;'.',;coollcc
                           .xkOkddc'..'okOOxkkkkOOc''''.           .':ol''oOdccol,                                     . .:;.   'c:;,'.........',cokxl
                          'dkxkxddo;,...cx0kxxddxo..,,''.           .'';l;.'oxccoc.                                    . .,;.   ;c:;,''........',,,:::
                         ,xkxxkkxdoldl,..':llcc;.  .';,..           ....;c:..cxlld:.                       .;,... .    . ..'.   ;c;;;'',;,.......,'...
                     ..:dxxxdddddolllll;..   ..     .,,'.           .....,;,. cxlll.                     .cl;,;c:l;;,'... ..'.  ,;;:,',,;,''.....'''..
                    ;kOkkxoololccccccllc,..  ..      .,'.           .. ..'',. .ddod'                 . .coc.. ..',,...,;,.....  ':::',:::,;:,....','..
                    :Oxoooc;ldl::::ccc:;,'.   ..     .',.           ......'''. 'kdx;   .            ..;ol',:.. ..,...  .',''... .;,.,cool,';;;,..;'...
                     ';;;;'.lkoc::;:::;;;,.    ...    .''.         .,:;;''',,.  okxc ...          ..''ll'.,d.  .'      ...',,'.   ..;llll::;,,;,..'...
                            ,dxoc:;'.,',:;'.   ....    ':,.      .,cl:,::,,;c;. ,Okl.''.      .....,,loc,,do:....   ...''',;;;;'...';cll:;::;;:,,,'..'
                            .,,;'.     .:c;..... ....  .,:,.    .;c:'.'';:;:lo;..dOo'''..''.....  :dxkkxdxlcl;.     ...''',,,;;,;:,;::cc;:c;,,,;:,:;'.
                           .''...      'cl;..............;:.    ',.     .;,',::;.lOo;,';,...  .'cokkkxxxdc,,;c,     ...''',,,,,':olccloo::ll;'.,:c:;:;
                          ..,....    .':cl;...............;;.          .....';cccoOl;,,'.     ;xxdoc;;cc,..':;;'.   ....,,;:ccc::loccdddlllc;''',';:::
                          .',,'.   ...::ll,'...............:'.     .........',;:lxOdc;'... ...:dd:...... ..';:::,.  ....,;:cllllcloodxddoloc;,.......,
                         .',;,..,cc;,;,,:c;,'..............,;... ..........,,,,':OOxdc.......'co:.      ..'..,::c;...',,;:lllooooloodxxxoclc;,,'......
                       ...;;,...cxkdoddlc::;;,'......'......;,.............:;,'.:0Odd:......';c:'.... ...'....'',;;;,,,;:clllllllloddool::c;;,'...''..
                       ..,;;'...'loloddoc:,;;:;'..',,;:;cllllc,...........,l;;..dOkod:...',';cc,'...............';clc::clccllllllloolc::cc;,:;,...''..
                     ...,;,'.....'',;;;;:;';colc,;clldxxdlloddol;.........;lc:;:Oxddd;.,;;,;:lc,';,'.''...';:::cllllooollllcclccllllc:clc:;:::,'......
                    ...,;,'..';cc:;;,,,',cooooooooooddddlclodxxxdc'. ....::,:okOkdddd'',,;;;:c:'.':cc;,,:llc:;;:lllloooooolc:::clc:cc::cc:;,,,,;::'...
                   ...';;'.',:ccc'......:kxoc;cxxxddoccc:coxdooodxo:...'dOkdlxkxdoooo',,,,,;:c:'.':cc:clloc,,cl::::cloloddollc:c::::c;,;::,..',;;,'..'
                 ....',;''''lxl;:l:,....;dxxxddxdddoc::loxxooolloxxol,..ckkkxxxdoolll,,,,,',;;;cll::lollc:;;;cccccccollldxddc:c;,;::::,,;;...,:;;;,'''
                  ..',;,',,,ll,.,ol,....;cldxxoc::cccldkdxxxol:;,:dddoc..oOOkxdddoollc:'''.;cllollodool:,';cccccllllolc:ccldol;,;:::,;,.'..',;,,:::;;,
                ...';;,,,,,,,'''''........cxool;..,;::locxOkdlcc:;codxxo'.:xOkddddooooc;,,:lllolllllc:;,,;:ccccccllllc;,;:clllc:c::;,,,.'''',,'.,;;;:;
              ....,;,,'',;;;,,;,'.........cddol;',,',.,cdkkxl;;:clc::odx:...lkxxxxxxddoddddxxdocc::::::::;;:c:;;:oc:;;:::::;,;clc:c:;,;'';;,'..''',;:c
            ....',,,'',;;,,,;;,'..........llllc:;;;,',;cxxkdoocclol::c:od....dkOkxkOOkxkkkdddolcc:cccccc:::::::clc;;;;:;;,,''';;,,'';,;;;;::;',:;;:cld
           ....',,,,..,;;,,,;'...........'oc:lc:,.,;;:cdxOxooooloolcc:;cd,...lkOkxkOOkxkkkddol:,cc:ccccccccccc::::;,;:c:;,''',::','',';:lc;:c:cl::clod
                                                                                                                 ....,;. .'                           
                                                                                                                  ...';. .,.                          
                                                                                                                  ....,, .''                          
                                                                                                                   ...,;...                           
                                                                                                                   ...':. .                           
                                     .;;,,,'.                                                                      ....;. .                           
                                  .:OOxdc;;;;,.                                                                     ...,' .                           
                                 ,kXOdlc:''''...                                                                    ...,, .                           
                                ,0K0x:,........ .                                                                   ...';...                          
                                dXKOc.............                                                                   ..':.                            
                               .kX0l;,'',;clllccodooolc;'.....                                                       ...;.                            
                               '00xodxkkOxdcd0d:odlc;;lxdlc:cccc:,.                                                  ...,,                            
                             ..l0Oxxkkkdc,'.'x0llo;;,,:odl:c::lodddl:,'.                                             ...,;.                           
                             :,l0Okkxxoc;'...l0do:';:coooc;;;;:c:,,::::c:'.                                           ..';.                   ........
                          ..;kcO0kxo;;;::;;,'d0kl:clooooodxxoccl'...'..':cc;.                                         ...;.          ..',,;::c:'.   ..
                        :olldOOOkx:....''..;o0kddddl:;:c,,,,:dkkxdlc:,'..,ccc,.                                       ...,'        .,;,;;,;:;;;cl:'...
                        ..  ,OOOxl'.....''.cO0xxdo,. ..,.    .:loo,,cddl:..;cc;'                                       ..''      .,;;;,'',;,;;::cooolc
                            :OOkxo,.....,;dkO0kOkl.....'       ... .':ccoxl;,:lc,.                                     . .,.     ;:;;,'',;,.'';coollcc
                           .okkkxdc,...lxkOxkOkkOOl.'...           .':oc.'oOdc:ol;.                                    . .,:.   'c:;,'''.......',coxxo
                          .lkkkxddo;'...cx0kxdddkx,.,;,'.           ..':l,.,okccol'                                    . .,:.   ,c:;,'''.......',,,:c:
                         .okxxkkkdolol,..'colll:,.  ',,'.           ....;c;..:xccdc.                        .'...      .  .''   ;c:;,''',,.......','..
                      .,lxxxxxxdddlllll;..   .      .','.           .....,:;. ;xolo'                      'lc;;:;::,,'... ..'.  ;;;;;'',;;'''.....''..
                    'xkkOkdoollcccccclll;.   ..      .,'.            ....',,.  lxod:                    ,ll,....,,,...;;,.....  ':::,';:::;:,....','..
                    :Okddoc:lol:::cccc::,'.   ..     .',.           .......''. .xdxc   .             ..cd:;:.....,,..  .','.... .;;',clol;';;;,..,'...
                     ;::::;.ckocc:;:::;;;,.    ...    .''.         .';;''.'',.  ckxo.  .            '':o;.,o'   ..     ...',,'.   ..,clllc;:,,;,....'.
                            'xdlc:;,',,,:;'.   ....    ';,.       .;c:,;:;,,:;. .kOd....       .....,:lc,'od:  ..    ..''',;:;;'....,:llc;::;;;,'''..'
                            .;::,.     .;c,..........  .;:'.     'll:;,,;:;;co:..l0d'.,..'....... .ldxxxddolo;..    ....'',,,;;,,:,';:cc;:c;,,';:;;;'.
                           .''...      .:l;..............;:'    ':..   ..;:;;::;.,Ox;''.,'.... .':xOOkxxxo;,;c;.   .....',,,,,,';locllllc:lc:,.';c:;;;
                           .,'.'.    ..;cl;'..............:;.   ..     .....';:c::kd:,,;.     .oxdddlcllc'.';:;,.  .....,',;::::;loccoddlllc:'',,,;::;
                          .';''.......;:ll;'..............';,.  .. .........';;ccoOdc;,..  ...cxdl,...... .';:::,.  ....,;;cllllclooodxdolll:,'.....',
                         ..,;,'.';;,';;,cc;,'..............,:... ...........,,;,;xOxd:'... ...:dc..      ..'.,::c;...'',,:clllooooooddxxdclc;,,'......
                        ..,:;'..cxkdodoc:c:;;,'.......'.....;,.............;;,,.,kOxdc......';c:,........'....',,::,,,,;;:lllollllooddolc;:;;;,....''.
                       ..,;;'...,ooloxdoc:,;::;'..',,,:;:llclc,...........'c;;'.cOkodc....'';:c,''..............';clc::cc::olllllllolc:ccc:,:;;...''..
                     ...,;,'.....',;:c:::;',cll:,,ccldxxdoooddol;.........;lc:,,kkxdx:.',;;;:lc,','.......',:;::lllloolllcccllllllllcccll:;;:::'..'...
                    ...';;'..';cc;,,,,,',:loooooloooodddlclodxxxdc..  ...,:;;lxkOxxdd,';,,;;:c:'.';::;,,;clc:,;:cllllooooolc::::clc:c::cc::;,;,,;:'...
                   ....;;'.'':ccc'......:xdlc;:xxxdddlllcclxdooooxo:....:xkdcdOkdddod',,,,,;:c:'..;clcclloc;,:cc::::lollodoccl:cc:::c:,;::;'..';;;'...
                   ...,,,'''lxo::c:,....;ddddodxxxdol::coxxooolllxxol,..lkkkxxxddollo,,,,,',;:::clcclllccc;,;:ccc:cclllldxddlc::;;:::c;,;;'..';:;,;,''
                 ...',,,,,,,ll;',ol;....;cldxxdl:ccclldkxxxdol:;,:oxdoc..oOOkxxxdooll:;,''.,cllooloooolc;,,:ccccllllllc:cclool:,,;::;;,'''..,;,,;c:,,;
                 ..';;,,,,,;,'''','.......cxdol;..,,::locxOkxocc:;codxxo''lkOkddddooolc;',:llloollllcc:;;,:cccccclllll:,;;clllc:c::;,,,'.'.',,'.',;::;
               ...';;,'',,;;',;,'.........cddol:'',',.,cdkkxl;;:clc:coddc..'oOxxxxddddoooodxdddccc:::::::;;ccc;;:lc:::::;:c:;;ccl:c:;,;,',;,'...,'';;:
            ....'',;,',,;;,,,;;'........ .lllll:,;;'',;cdxkxollccolc:ccod'...dkkxxxkkkxxkkxddolcc::ccccc:::::::cll:;;;:;,,,''';:,,'';;;;;;::;'';;;:clo
           ....',',,..,;;;,,;;'..........'ol:lcc;.;;;:coxOxdoooolool:c;cd;...lkOkkkOOkxkkkoodoc;:ccccccclllccc;;;:;,;;::;,,'',;:,'..,;,;cc:::::l:::lod
                                                                                                                  ...';, .'.                          
                                                                                                                  ...';, .,'                          
                                                                                                                   ...,; ..,                          
                                                                                                                   ...':. .                           
                                                                                                                   ....;. .                           
                                     .;;,,,'.                                                                       ...;' .                           
                                   ;kkxdc;;;;,.                                                                     ...', .                           
                                 'kX0dlc:'''....                                                                    ...'; .                           
                                '0XKkc,........ ..                                                                  ...';...                          
                                lXKkl'......... ..                                                                  ....;.                            
                                xX0l;,'.';ccll::loolol:,'.....                                                       ...,'                            
                               .00xddxkkkkdld0d;oxlc::lxdlc:ccc:;'.                                                   ..,;                            
                              .c0kxdkkkdc,'.'dOcld:;,,cldo:c::lodxdl;,..                                              ..';.                           
                             ;,l0Okkkxol;''..c0doc',:coool;;;;:c:,;c::cc;'.                                           ...;.                   ........
                          ..,kck0kxdc;;:::;,'l0ko::loldoodxdoccl'...''.':cc;.                                         ...;.          ..',,;::c:'.   ..
                        ,loodOO0kd:....''..;lOOxdodlc:cc;,,;cxkkxolc;'...,:c:,.                                        ..',        .,;,,;;;:;;;cl:'...
                        .'. ,kOOko'.....'..:k0xxdo;. ..,.    .:ood:,cddc:..;cc;'                                       ...,.     .';:;,'',;,;;::cloolc
                            ,OOOxd,.....,,okO0kOko... .,.      ......;lcoxc,,:lc,.                                     . .,.     ;:;;,'',;,.',;coollcc
                            lOkkxdl,...cxxOxkOkkOOl.'...            .;lc.'oOdccol,.                                    . .,:.   .c:;,''.......'',:oxxo
                          .ckxkkddo;'...cx0kxdddxk:.,;''.           .',:l,.,okccol,                                      .':'   ,c:;,''........'',,:cc
                         .okkxkOkxolol,..,ldoloc;.  ',,'.           ....;l;..:xlcol.                        .....       . .',.  ;c:;,'',,,.......,''..
                       'cdxxxxxxxdlllll;..   ..     .','.           .....,:;. ,kllo,                      .:o:;;,;;,,'... ..'.  ;;;;;'';,;'''.....',..
                    .okkkkdooolllcccclll;..  ..      .,'.            ....',;.  cdloc                    .co:...';;,..';;,....'  ':::,';:::;:,....','..
                    ;0kdxdlccol::::cccc:,'.    .      ',.           ......'''. .xddl.   .            ..;ol::.    .,'.  .','..'. .::'':lol:';;;,..,''..
                    .:cccc:.:koc::;:::;;,,.    ...    .,'.          .,,'...',.  :Oxd.  ..           .';oc.'l,   .,.   . ..',,'.  ...,clllc;:,,;;'...'.
                            'xxoc:;,,;,,:;'.   ....    ';,.       .'::;::,,,:,. .xOx'...        ....,,lc,'cd:. ..    ..'',,;;;;,....,:llc:;:;;;,'''..'
                            .:cc;'.  . .,c,..........  .,:'.     .col:;;::;;co:. :Ox,.,. ..........:lxxxdddll;..    ...'.',,,;;,,;,',;cl;;::,,,;:;;;'.
                            ''....     .:l;..............;:'.   .:,..  ..;c;;cc;.'kk:.'.,,.......,oOOkxxxd:,;c;.    ....',,,,,,',llcllllc:ll:,'';::;;;
                           .,'....   ..;cl:...............:;.  ....    ......;:c:,xx:;';..    .cxxdxdlool;..;:;,.   ....',,,;:::;locclooolll:,',,,;:::
                          .';''...  ..,:cl;'..............';,.. .. ..........;;:loOxc:;...  ..;xxo:'........;:::,.   ...',;clcclclolodxxdlll:,'....'',
                         ..,;,'..,,'',;;cc;,...............,:... ...........,,,;;oOkdc'... ...:oc.        .'',::c;....''';:lllooooooodxxdlll;;,'......
                        ..,;;'..cxkdool::c:;,,'.......'.....;,.............';,,''x0xdl'.....';c:,....  ...'...',;:;,,,,;;:loooolllooddool:c:,;,....''.
                       ..,;;,...,oocoxdol:,;:;;,..',,,:;;cccc:,............:;;,.;Okddl....'',:c,''..........'...';:cc:::cc:lllllllloocc::cc,;;;....'..
                     ...';,,.....',;:c::c:,,:ll:',cccodxxoooddol;.........,lc;;'dOxddc..,;;;:ll,',.........,:;;:cloloolllcccllllllllcc:llc:;:::,......
                    ...';;'..';cc;;;;,,,,:coooooloolodddoccldxxxdc........,;;coxOxxdd;.;,,;::c:'.';::;,,;cllc;;:clllooooooo::c:cccccc:::c::;,;,,;:,...
                   ....;;,.'':ccc'......:xdlc::dxxdddollccoxdooodxo;....,dko:okkxdddx,',,;;;:c:,..,clccllll;,;cc:cccloloodoccc::lc::c:;;c::,..';:;'...
                   ...';,'',lxo::c:'....;ddddodxxxdol::coxxddoollxxdl,..lkkkdxxxdollo,',,,',;::::lc:collcc;,;:ccc:cclllldxddoc:::;::::;,;;,...;:;;,,.'
                 ....,,,,',;ol,.,oo;....;lldxkdlcccclldxxxkxol:;,:dxdol'.oOOkxddddoll:;,''.':clooloooolc:,,::ccclllllllclloddc:;,;::;;;'''..',,,;::;,;
                 ...,;,,,,,;,''.','......'cxdol;..,,::locxOOxocc:;:odxdl''okOkddddooolc,',;clloolllllc:;;,;cccccclllll:,;;:cllc:c::;,,;'.'.',;,'';;;:;
              ....';;,'',,;;,';,'.........cddoo:'',',.,coOkxl;;:cclccoddc..,dOxdxxddddoloodddddccc::::::;;;ccc:;;cl::::;;:c:;;cclcc:;,,,',;,'...,.',;;
             ...'',;,'',;;,,,;;'........ .lolll:;;;''';cdxkxollccolc:c:od'...oOkkxxkkxxkkkxddolcc::::ccc::::::::cl:;;;:;,;,''';:;,'',;;;;;;:;,.,;;;:co
           ....''',,'',,;;,,;;,..........'ol:lcc;.;:::ldxkxooooolool:c;cx;...ckkkxkOOkkkkkoodoc;:ccccclllllcccc:::;;;;:;;,,'',,:''..',,;:c::::;l;;:coo
                                                                                                                  ...',,  '.                          
                                                                                                                  ...',,  ''                          
                                                                                                                   ...';. .;.                         
                                                                                                                   ...':. .                           
                                                                                                                   ...';' .                           
                                     .;,,,,'..                                                                      ...,, .                           
                                   ;xOkxl;;;;,.                                                                     ...'; ..                          
                                 .xK0dl::''.....                                                                    ...';...                          
                                .OX0kl,........ ..                                                                  ....;...                          
                                cKKOl'........   .                                                                   ...;.                            
                                xXKo;,'.',:ccc::lollll:,......                                                       ...',                            
                               .OKxdodkkkkxld0x:lxol::lxdll::cc:;'.                                                   ..';.                           
                              .:Okkdxkkdl;'..oOlcd:;,,:ldo:cc;codxdl;'.                                               ...:.                           
                             ;;c0Okkxxoc;'...;Oxoc'';:lodl;;;:::c;;c::lc;'.                                           ...;.                    .......
                            'x:x0kxdc;;:::;,.c0ko:;looooodxdoc:c'...''.':cc;.                                         ...,'          ..'',;::c:'.   ..
                        'coldOO0Oxc'...''..;ckOxoddoc:cl;;;;cxkkxoc:;'...':c:,.                                        ..',.       .,;,,;;;;;;;ccc,...
                        ',. .kOOko'.....''.,k0kddoc. ..,..   .:odd:;lddc;..;cc:'                                       ...,.     .';;;,',,;,;;::cloolc
                            'OkOxd;.....',lkO0kOko.....,.      ......;lcdxc,,:lc,.                                     . .,'     ;:;;''',;,'',;coolccc
                            cOOkxdl'...:xxOkkOOkOOl.'...            .;o:.,dOd:cll;.                                     ..':.   .c:;,''..'....'',:oxxo
                          .;kkkkddo;'...cx0kxdddkkc.';''.           .';cl'.,dkc:oo;                                     ...:,   ,c:;,'''.......'',,:cc
                         .cxkxkOxxdcol,..,lxdddl;' ..,,..           ....;l;..;klcll.                         ...        ....,.  ;::;,'''','......','..
                       .:dxxxxxxxdoolol;..  ...     .','.            ....,:;. ,koco;                      .,ll;,,,,,'.. . ..'.  ;;;;,'',,;,''.....','.
                    .lxkkkdoooolllccclll;..   ..     .,'.            .....,;.  :xooc.                   .;lc...'::,..',,'....'. .;::,',;;:;:;....',,..
                    ;0kdxdllcol:::ccccc:,'.    ..     ',.           ... ...''. .oxdd.   .            ...lo::..   .;,. ..,;'.... .::,';clo:';;;,'.,,'..
                    .:llll:';koc::::::;;,,.    ...    .,'.          .''....''.. ,Oxx'   .           .',ol,'l;. ..'.  .. ..',''.. ...'cllol;;,,;;'.'''.
                            'xdoc::;,;,,;;'.   ....    .,,.        .;:;:;,,,;,. .oOk,...         ...,,ll,'cd:. ...   ...'',,;;;'....,:lll;::;;;,,''..'
                            .:llc,.. ...,c;..........  .,c'      .:dol::c:,,:l:. 'Ok;.,' ..........'coxxoodol;...   ....'',;,;;,,;,',;cl:;c:,,,;:;,;'.
                            .'....     .;l:..............;:'.   .:;..  ..;c;;cc;..xk:''.','.......lOOkxxxxc;;:;.    ....',,;,,,,,cocclllc:cl:,'.;::::;
                          ..''...    ..,cl:...............::.  ....    ...'..;:c:'xxc,,,'.     ;oxdkxooool..;::,.  .....',,,;:;:;colccooolllc;'',;,:::
                          ..,''.......,:cl;'..............';,..    ..........;;cllkxc:;,.    .,xddc;...,'...,c::,.   ....,,:llccclolodxddoll:,'....'',
                         ..,;,'...'..';;cc;,'..............':... ...........,,,;;oOkdc,... ...:dl,...   . .',,::c;.....'';:cllolllooodxxdlll:;,'......
                        ..';;'..cxkdlol::c:;,,........'.....;,.............';,,''o0kxl......',cc,....   ..'...',;::'',,;;:collollllodddol::c;;,'...''.
                       ..';;,...;ooloxxol:,;:;;,..''',;,;cc:cc,...........';:,,.'kOdoo....'',:c,''..............',:cc:::cc:lllolllloolc::cc;;;;'...'..
                    ....';;,.....,;;clccc:,,:cc;'':clodxxoooddol;.........,lc;,.lOxddl..';,;:ll,',.........';;;:cllooollllcccllllllllccclc:;:::,......
                    ...';;'..';::;,,,,'',:cooooolloloddxoccldxxxdc........';:cloOkxdx:.,;,;::c:,.';:;,,',:ccc;,:cllllooooloc:ccccccccc::c::;,;;,;:,...
                   ....,;,.'':clc'......:xxlc::dxxdddollc:odddoodxo;....'lxo;okkkdddx;';,,;;:::'..,:llcclll:;,:c:ccclllooodl:c::cccccc;,:c:,..';:;'...
                   ...';,'''cdl:c:;'....;ddddodxxxdol::coxxddoollxxdl,..lkkkddxxdollo;',,,,,;::::clccolllc;,,:cc::c:clllodddol;::;:::c;,;;,...,:;,,,.'
                 ....,,;'',;ol;',do;....;lldxxdlccllcldxxxkxoc:;,:dxdol'.lOOkxddddoll:;,'''';cllollooooc:;,::cccccllllcclooddcc;,;::;;;,''..',;,;::;,;
                 ...,;,,,,,;,''.';'......'cxool;..,,:codcxOkxoc:;;:odxdl''dkOkddddooolc,'';clloolllolc::,,;cccccllllllc,;;:clll:cc::,,;,.'..,,,'';::;;
              ....';;,'',,,,,',,'.........cddoo:'',,,.,cdkkxl:::cclccodxc..;dOdddxdddoollodddodlcccc:;;;;;;clc:::clc:::;;:c:;;cclcc;;,,;',;,''..,..,;;
             ....',;,'',;;,,,;;,........ .lolllc,;,''';cdxkxlllccllc:ccox,..'okxkxxkkxxkkkdddolcc:::::ccccc:::;:clc;;;:;,;,,'',::,,',;;:;;;;;,.,;;;:cl
           .....'',,',,;:;,,,;,'. .......'ol:lcc;.;:::cdxkxoloollool:c;cx;...ckkkkkOOkkkkkdoooc;:ccccclllllccc::::;::::;;;,''',c,'...,'':::;;;;c;;;:co
                                                                                                                  ...',:  ..                          
                                                                                                                  ...',;. .'                          
                                                                                                                   ...';. .,.                         
                                                                                                                   ....;' .                           
                                                                                                                    ...,, ..                          
                                     .,,,,,'..                                                                      ...'; ..                          
                                   ,xOkxl;;;;,.                                                                     ...';. .                          
                                 .dK0xlc:''.....                                                                    .'..;. .                          
                                .kXKkl,...........                                                                   '..;. .                          
                                :KKOo'.........  .                                                                   ...,,                            
                                oXKo:,'.'';::c::lolclc:,.....                                                         ..';                            
                               .OKkoodxkkkxoxOx:cxol::lxdll::c::;..                                                   ..';.                           
                              .;0Okdkkkxo;,..lOo:dc;,,:lddc:c:cldxdc;'.                                               ...;.                           
                             ';:0Okkxxdl:'...,kxoc,';:lodl;;;;:cc:;c::lc;'.                                           ...;'                    .......
                            .x:d0Okdc;:c::;,.:OOd:;colooodddl::c,...''.':cc;.                                          ..,,.         ..'',;::::,.   ..
                        .clldOOOOxc'...''..;cdOxdddolccl:;::ldkkdlc:,....':cc;.                                        ...,.       .,,,,,;;;;;;cc:,...
                        ';. .kOOkd,.....''.'x0kdddc'...,.    .cdddl:looc;..;cc:'                                       ...,.     .';;;,',,;;,;::cloolc
                            .kOOkd;.....''cxO0kkxo.....,.      ..'...;cldxc,,;cc;.                                      ..',     ;:;;''',;;'',;coolccc
                            :OOOxdl,...:xdOkkOOkOkl......          ..;l:.,dOo;:lo;.                                     ...:.   .::;,''..'....'',:oxxo
                           'xkkkddo;'..'cxOkxdxxxOo.';''.           .';lc'.,okl:lo;.                                    ...;;   ,c:;,'''.......'',,:cc
                         .:xkxxkxxdcol'..,lkxddo:,. .,,'.           ....;l,..;kl:ll'                          .         ....,.  ,::;,''''''......','..
                       .,oxkxxxxxdoolol;.. ....     .','.            ....,::. 'xllo:                       .:l:,'''''.  . ..''  ;:;;;,',,;,''.....','.
                     :dxOOdooooollccclll;..  ...     .,'.            .. .',;'  ;kool.                    .:c,..':::..',,'....'. ':::;',;;:;:;'....,,..
                    ;0kxxxllcllc:::ccccc;'.    .      ',.            .. ..'''.  oxdd.                  .:ol:.  ...';. ..,;..... .:c,',cllc,;;;,'.','..
                    .colllc,,xoc:::::::;,,.    ...    .,'.          ..'....',.  'kxx,   .            .'lo:'c;.  .''...  ..',''.. ...':loll:;,,;;'.'.'.
                            'xxoc:;;,;;,;;'.   ....    .,,.        .,;;:;'',;,.  cOk;....         ..',:l;':xc.  ..   ....',,;;;'....':lll:;:;,;,,''.''
                            .cooc,.. ...,c;.. .......  .,c,       ;ool:;c:,,:c:. .kkc.'' ...........:oxdolddo;...   .....',;,,;;,,,'';clc;::;,,;;;,,'.
                            .'....     .;l:..............;:'.   .;c,.....;c;:ll;..dOc',..,'..... .;xkkkkxxl;;:;'   ......',,;,,,':l:ccllc;cl:,'.,::;:;
                           .',.'.    ..,cl:...............::.  ..'.    ...,'',:c;.oOc,'',... ...cdxkkxddoo'.,::;.  ......,,,;;;:;:olccooololc;'',;;::;
                          ..,,'.......':cl;'..............';,..    ..........,;clcdkc:,,..   ..dxdlc,.';;'..,:::,. ......,,:clccccolldxddollc;,'...',;
                         ..',,,......'::cl;''..............,:... ...........',,;:lkkdl;.......:do:.. .    .'',::c;.....'';:cllllolooodxxdoll:;,'......
                         .';;,..:xkdllc;:c:;,'..............;;.............';,,''cOkxo'.....',:l,..     ..'...',;::'',,;;:coolooooooddddoc:c;;,'...''.
                       ..';;,'..;odloxdol:;,:;;,..'''';,,:::cc,............,:,;.'dOxoo'....',;c;''..............';:cc:;;:c:lllolllloolc:ccc;,:;'...''.
                    ....',;,.....,::collcc,,:cc:'';:cldxxoooddol;.........'cc;;.:kkddo'.',,,:ll,.,.........';;;::llooolllc:clllllllllc:ccc:,:;:;......
                    ....,;,'..,::;,;;,',;::oooollloooddxoccloxxxdc........';::lckkxddl.,;,;;:cc,'';;,',,,;clc:;,:lllloooolll:ccccclccc:cc:::;;;,;;,'..
                   ....,;,..':clc'.....':ddlc::dxxdddollccldddoooxo;.....;dl;lxOkxddd:.;,,;::::'..,:llcclll:;,:c:cccloooodoo:c::clc:cc;;:c:,'.',;;,'..
                   ...';,'''cxo:::;'....;ddddodxxxdol::coxxddolllxxdl,..ckkkddkxdoolo;',,,,,;c:;;clclolllc;,,;ll::c:cllloddolo:::::::c:,;:;...,:;,,,''
                 ....,;;'',;oo,.,do;....;lldxxdlcclllloxxxxxdl:;,:dxddl''okOkxxdddoll:;,','';lllollloooc:;;:::ccccclllllcodxxlc:;;:::;:,',..',;;;:c;,,
                 ...';;,,,,;,'''';,......'cxdol:..,,c:odlxOOxoc:;;:odxdo''xOOkxdddoollc,'';clllolllolcc:;,;cccccllllllc;;:cclolccc::;,,,''..',;'';::;:
              ....',;;,,,,,,,',,'.........cddoo:.',,,''cokkxl:::cclccodxl..:x0xddddddollclddddolcccc::;;;;;clc:::clccc:;;::c:;:clcc:;,,;',;,'''.'''';;
              ...',,,'',,;,,,;;,..........lolllc;;,''';cdxkxlllccllc;ccox'..'dkxxxxxkxxxkkxddolcc:::::cc::::::;:clc;;;;;,,;;,',c;;,',;;:;,;;;,.';;;:cl
           .....'',,,,,;;;,,,;,'.........'ol:lcc,';;;:cdxkxoloollool;c;cx:...:kxxxkkOkkkkkdooolc:ccccclllllccc::::::::;;;,,,'',:''..',,,;;::::;c:;,;cl
                                                                                                                  ....,:. ..                          
                                                                                                                   ...';. .'                          
                                                                                                                   ...';. .,.                         
                                                                                                                   ...';, .                           
                                                                                                                    ...,;  .                          
                                     .,;,,,'..                                                                      ...':. .                          
                                   ,dOkxl;;;;;'                                                                     ...':. .                          
                                 .dKKdlc:,'.....                                                                     '..;. .                          
                                .xXKOl;'..........                                                                   ...,' .                          
                                ;KKOo,..........                                                                     ...', .                          
                                lXKd:;'..';;::::clcccc;'.....                                                         ..';.                           
                               .xKOoooxkkkkdxOk:cxolc:lxdlc::cc;,.                                                    ...;.                           
                               ,OOkxxkOko:,..cOo:dc;,,:lddccl::loxdc;'.                                               ...;'                           
                             ';;OOkxkxdl:'...'kxll,',:codl;;;::cc::c:clc;.                                            ...,,.                   .......
                            .d:o0Okdl::cc:;,.,kOd:;cllodddddl:;:,...''',:cc;.                                          ..';.         ..'',;::::,.   ..
                        .:lloOOOOxl,...''..;:oOxddddlccoc::cldkkdlc:,....':cc;.                                        ...;.       .',,,,;;;;;;cc:,...
                        ';...xOOkd,.....''..d0kdddl'...,.    .cdddo:looc;..,cc:'.                                      ...,'     .';;,,'',;;;;::cloolc
                            .kkOkd:.....'';xO0kOkd'....'.     ..''...;cldd:,';cc,.                                      ..',.    ;:;;,'',;;,',;coolcc:
                            ,kkOxxo,...;ddOkkOOOOOl''..'.           .;l:.;xko;:lo;.                                     . .;.   .::;,''''''...'',:oxxo
                           .dOkkdod;'...cxOkdxxxxkd'',''.           .':oc'.,okl:ld:.                                    . .;:.  ,::;;,.'.......'',,:cc
                          ;xkxxOxxxlll'..;dkxddoc;. .,,..           ....;l,..,xl:co'                                    . ..,.  ;:;;;'','''......',,'.
                        'lxkxxxxxxoolol;.. .....    .','.            ....,::. .xoco:.                      .,c:,'.....   ...''  ;:;;;,',,;;''.....','.
                     ;oxkOdooooollccclll;..   .      .,'.            .. .',;'  ,xlol.                    .,c:'.':cc'.',,.. ..'. .:;:;,',,:;:;'....,,..
                    ,0kdxxlccllc:::ccccc;'.    .      ',.            .. ...''.  lxdd'                   'oo:..   ..;. ..,;..... .;c;',:cll;;;;;..','..
                    .ldlolc;,xdc:::::c:;,,..   ...    .,'.          .......',.  .kxx;   .            ..;dc'c;.....,...  ..',''.. ...';loll:;;,,;'.'.'.
                        ... 'xdoc::;,;;,;;'.   ....    .,,.        .',;:;''',,.  :kx: ...          ..,;l:';dc.  ...   ...',,;;;'....':lllc:::;;,,''..'
                            .cdol;'.....,:;.. .......  .,c'       .loo:;c:,,;c;. .xkc.',. .. .......:lxdolddo; ...  .....',;,,;;,,,'';:cc:::;,,;:;,;,.
                            .''''.      ,l:..............;:'     'c:,....;:::ll;..lOl','.,''......,okkxxxxl;;:;..  ......',;;,,,';lc:ccll;cl:,'.,::::;
                           ..'.'.     .':lc...............::.   .,..  ....;,',:c;.cOl,,.,... ...;oxkkkxddo,.,::;.   .....,,,,;;;;;ooccooololc:,',;;;::
                          ..,,'........:cl;''.............':,.     ..........,:clcoOc;,,..   ..oddooc,,cc;..,cc:'.  .. ..,;;:ccccclllodddollc:,'.'..,;
                         ..',,,......';:cl;,'..............,:..  ............,;;:lkOdl:,.. ...;xol,..  .. ..';::c;.......,::llllllooodxxdoloc;,,......
                         .';;,'.:dxdllc;:c:;''..............;;.............';,,,':Okxd;.....',cl,.      ......',;::''',;;:clllooooooddddol:l;,,,....'.
                       ..',:;'..;odlldxol:;,::;'...',',,,:::cc,...........'':,;..l0xod,....',;c;''..............';;:::;;:cccllllllllooccccc:,:;,...''.
                    .....,;,'...',::loolcc,,::c;'';:cldxxdooddoc,.........':c;,.,kOdod'..',,:ll,''.........';;;::llooolllc:cclllllllllcccc:;:::;......
                    ....,;;'..,::;,,;,',;::loodlcloooddxoccloxxxd:........';c:c:xOxddl.';;;;ccc,'';;,.'',;cll:,,:lllloooolll:ccccccccc:cc:::;;:,;;,'..
                   ....,;,'.':clc''''''':ddlc::dxddddollccldddoooxo;. ...,lc,cxkOxdddc.;;;;::::'..,:lccllllc;,:::cccloooddoo:c::cclccc:;:c:;'.',;;,'..
                   ...';;'''cdo:::;'....;ddddooxxxdol::coxxddoollxxdl,..:kkkdokkdoooo:';,;,,;::;;:cllllllc:,,;ll::c:clllodddloc:c::::c:;;:;'..';:,,,''
                 ....';;'',,oo,',do;....;lldxxdolllllloxxxxxdl:;,:dxdol,'okOkxxxddlllc,,,,'';ccoooooodoc:;,;::cccccllllccooddl::;;:c:::;','.'',;;:c:,'
                  ..';;,,,,;;,''';,......,cxdol:..',ccldlxOOxdc:;,:odxxo''xOOkxddddoll:,'',:llloollolccc;;;:ccccllllccc;;:cllll:cc::;,,,'''.',;,';::;;
              .....,;;,,,,,,,','''........cddoo:..'';''cokkxo:::cclccodxl.'cxOxddxddoolccloddddlcccc:;;;;;:cll:::clccc:;;::c:;ccllc::;,;,';,'''.''.';;
              ...',,,'',,;,,,;;,..........lolllc;;,''',cdxkxlllccllc;ccox,..,xkxxxxxxxxxxkxddolcc::::::::cc:::;:clc;;;;;,,;;,,,::;,,,;;:;,;;;,.';;;;cc
            ....'',,,',;;;,,,;;'.........'olclcc,,::::coxkxololllool:::cx:...:kkkkxkkkkkkkdooolcc:c::ccclllc:::::c:;:::;;;,,,,':,'..';,,:::::;,::,,;:l
                                                                                                                  ....,:. .'.                         
                                                                                                                   ...';. .'.                         
                                                                                                                   ...';' .''                         
                                                                                                                    ...;; ..                          
                                                                                                                    ...':...                          
                                     .,,,,,'..                                                                      ...';. .                          
                                   ,xOkxo;;;;;'                                                                      '..;. .                          
                                 .oKKxoc:,'''...                                                                     ...,' .                          
                                .xXKOl;'..........                                                                   ...,, ..                         
                                'KKOd,.........                                                                       ..'; .                          
                                cXKd:;'...,;;;;;clc:c:;'....                                                          ...;.                           
                                dKOoooxxkOkdxOk:cxdlcclxdlc:;::;,.                                                    ...;'                           
                               'OOkxxkkxd:,..cOd:dl;,,;lddlclccloddc,..                                               ...,,                           
                             .;;OOkxkxdo:'....xkll,',;cloo;;;::ccc:lcclc,.                                             ..,;.                   .......
                             o:l0Okxl::cc:;'.'kOd:,:llododdoc;;:;...'''':cc;.                                          ...;.         ..',,;::c:,.   ..
                        .;clokOOOkl,....'..;:lOkdoooollol:clodxxdc:;'....':cc;.                                        ...,'       .',,,,;;;;;:cl:,...
                        'c'..xOOkd;.....''..dOkdddl,...,.    .cdddocooo:,..,:c:'.                                      ...',     .';;,,'',;;;;;:cloolc
                             xkOkd:......';okOOkxd,....'.      .','..,clddc'';cc,.                                      ...;.    ;:;;,'',;;,',;coolcc:
                            .kOOxxo,...,dokkxOOkOkl,...'.          ..'c:.;xOo;:ll;.                                     . .,'   .::;'',''''..''',:odxo
                           .oOkkdoo;'...cdOOxxxxxOk,';''.           ..;oc'.,dkl:lo:.                                    . .':.  ,::;,,''.......''',:lc
                          ,dkxxkxxxlll,..;dkkdddc:...,,'.           ....;l,..,xl:co,                                    ....,.  ;:;;;'','''......',,'.
                        .cxkxxxkxxdolll;.. ..''.    .','.            ....;c;. .xollc.                       .::,'.....   ...''. ,:;;;,''';;,'.....','.
                     'ldkOdoooooollcclll;..   .      .,'.            .. ..,;,  'xolo.                     .:l;''::c;',,'.. .... .:;:,,',,:;:;'....',..
                    ,0Oxxxollllc:::::ccc;'.    .      ',..           .. ...',.  cxod;                   .:ol..  ...,...';;'...' .:c;,':ccl;;;;,'..,,..
                    .dxoolc:,ddc::::cc:;,,..   ...    .,'.           ......',.  .xxxc   .            ..'lo;:;.  ..''...  .','... ....;looo:,;,;;'.'''.
                       .... 'xxoc::;,;;,;;'.   ....    .,,.         .,;:;'.',,.  ,kxl....           .';lc,,do.   ..   ...',,;;;'....':lllc:::,;,,''..'
                            .lxol:,.....,:;.. .......  .,c,.      .:llc,::,';:;.  dOl.',.       ....;:ddlcodo;  ..  .....',,,,;;,'''';ccl;c:;,,,:;,;,.
                            .'','..     'c:'.............;:'     .:l;''',;:;:ll;. :Oo'',.'''......'cxkkxxxo:;c;..  ......',,;,,;,;l::cclc:clc,,.,::::;
                           ..'....    ..:c:'..............::.   .;'.  ....;;,;:c;.;Oo,'.,,......,cdkOkxddd:',;::.   .....,,,,,;;,;loccloololcc,',;;;::
                          ..',''.   ...;cl:'..............':,.   ............':ccclOl;,,'.    .cxdooo::clc..':::,.    ...',;:cccc:lolldxdollc:,'.'..,;
                          .',,,......';:cl;,'..............,:..  ............,;;:cxOol;,..  ..,ddo:'........';:::;.......,::lollllloodxxxoloc;;,......
                         .',;,'.;odocc:;:c:;''..............;;.............';,,,';kOxd:..  .',cl;..      ..'..',;::''',;;:cllloooooodddddlcl:,,,....'.
                       ...,;;'..;odolxxolc;;::;'...''','';::::,...........'':,;'.:Okod,....',:c;''...............;;::;;;:cccllollllloolccc::,;;,...''.
                    .....,;;'....;c:lddocc;,;:c;'',:clddddooddoc,.........',c;;.'dOxoo,...,,;ll,.'..........,;;::clooolclc:;clllllclllc:clc;;:;;......
                    ....,;;'..,::;;,;,,,;::looolccoooddxoccloxxxxc........':c:c;oOxdoo'.,;;;cll,'',,'..'';:cl:,,;lllloodolllcccccccllccccc::;;:;,;,'..
                   ....';;'.':clc''''''':xdll::dxddddollc:ldddooodo;. ....c:,:dkOkdddl.,,;;::::'..,:c:cclllc;,;:cccclooooooo::c::clccc:;;c:;''.,;;,'..
                   ...';;'''cdl:::;'....:dddoloxxxdol::lodxdddoloxxdc,..;dkkolxkxooloc';,;,,:::,,:ccloollc:,',clc:cccollldddlcc;c::::c:;,:;,..';:,,,'.
                 ....',;,',,oo;.,do;....;lldxxdolllllllxkxxxdl:;,:dxdol,'dkkkxdxdooclc,;,,'';clloloolooc:;,;:::c:cclllllcoodxo::;;:c:::;,,,..',;;;::,'
                  ..';;,,,,;;,''';,......,cxdol:..,,cclxoxOOxoc:,,:ldxxo,'kOOkxdddooll:,'',;llloolloolcc:;;:ccccllllccc;;:cllllccc::;,,,'''.';;,';::::
              .....,;;,,,,,,''''''..... ..lddoo:..,',,'coOkxoc::cclccodxl.,lkOxddxddoolc:coooddoccccc:;:;;;:cl:::clcccc;;;:::;ccllc:;;,;,,;,''''.'.';:
             ....',,,,',,;,,,;;,........ .lolll:,;,'.',cdxkxlllccllc;clox,..,xxxxxxxxxxxxxxddoolc::::::::cc:::;;ccc:;;::;;;;,,,:::,,,;;::,;;;,..,;;;:c
             ....',,''',;;,,,;;'.........'olcllc,,:;;:coxOkdlolllool::;cd:...:kkkxxkkkkkkkdoollccc::::cllllcc:::ccc::::;,;;,,,,:;'...,,,;:;:;:,;:;,;:c
                                                                                                                   ...';' .'.                         
                                                                                                                   ...';' .'.                         
                                                                                                                   ....,, ..,                         
                                                                                                                    ...':. .                          
                                                                                                                    ...':. .                          
                                     .,;,,,''.                                                                      ...';. .                          
                                   'dOkxo;;;;;,                                                                      ...,' .                          
                                 .lKKxocc,'''...                                                                     ...,, .                          
                                .dXKOl;'..........                                                                    ..'; ..                         
                                '0K0x;.........                                                                       ..';...                         
                                :XKxc;'...',;;;;:c::::;'....                                                          ...;.                           
                                oXOdooxxkkkxxOk:cddlcclddlc:;::;,.                                                    ...,,                           
                               'kOkdxkkkdc,'.;Ox:dl:;,;ldxlccc:coxd:,..                                                ..';                           
                             .:;OOkxkkxl:'....dOll;',,cloo:;;::ccc:lccl:,.                                             ..':.                   ...... 
                             l:cKOkxo::cc:;'..xOd:';clodoodol;,;;...'',':cc;.                                          ...;.         ..'',;::::,.   ..
                         ,:llkOOOko;....''';:cOkdoooollllcclodxxdc:;'....':::;.                                        ...,,       .',,;,,;;;;:clc,...
                        'c,..dOOOx;.....''..lkOddoo;...,.    .cxxddlool:,..,:c:'.                                       ..';.     ';;,,'',,;;;;:cloolc
                             dOOkx:......',lkOOkkd,....'.      .,;,..,clddc.';cc;.                                      ...,.    ;:;;,'',;;,',;coolcc:
                            .xkOkxo,...,loxkxOOkOkl,...'.          ..'c;.;xOl;;lo;.                                     . .''   .::;,''''''...',,:odxo
                            lkkkdoo:'...cxOOxxxxxOk;',''.           ..;oc..,oxl:co:.                                      ..:.  ,::;,,'''......''',:lc
                          .okxxkkxxclc'..;dOkdddlc'..,,..           ....;l, .,xo:co;                                     ...;'  ,:;;;',,'''......',,'.
                        .;dkxxxkxxdoool;....'''..   .','.            ....;c;. .dollc.                       .,;,... ..   . ..'. ,:;;;,''';;''.....','.
                     .:okOddddoooollclll;..    .     .,,.            .....,:,. .xolo,                     .;c;,,::c:',,......'. .;;;;,'',;:;;''...','.
                    'OOxxxollllc::c::ccc:,.    .      .'..           ......',.  ;kod:                   .,ll.. ..'''...';;....'..;:;,,;:cl:;;;,'..,,..
                    .dxoooc:,ddc:::ccc:;,'..   ...    .,'.           .......,'  .oxxl   .             ..:dc:;......,...  .,''........,clooc;;,;;'.'''.
                      .......xdlc::;;;;;;;,.   ....    .,,.         .',;,..',,.  'kxo....           .',cl;'oo.   .'   ....',;;;'.  ..;clll:::,;,,'..''
                            .lxdl:,'....,:;..  ......  .,c,.      .,clc;::,,;:,.  lOd.''.       ....,:odl:oxo;  ..   ...'',;;,;;,'''',:cl::c:;,,;;,;,.
                            .',;,..     'c:'.............;:'     .;oc;,,,;:;;ll;. ;Oo,.;..''.......;dkkdxxd::c;... .......,,;,,;,,cc:cccl:clc;,'';:;;;
                            .'....    ..:cc'..............;:.   .;;..  ...:c,;::;.,Oo;,'';.......;oOOkxxxdc',;::.   .....',;,,,;,,cdccloollolc,',;;;::
                          ..''''.   ...;cc:'..............':,...... .........'::c::Oo;,',.    .,dxoddl:lll;.';::,.    ...',;:cc:c:colldxdolll:;'.''.,;
                          ..,,,'......;::l:,'..............,:..  ............,;;:ldOoc;,... ..,ddd:,........';c::;.......,;;clllollooddxxdool;;,......
                         ..,;,'.,lolc::;:c:;'...............;,..............,,,,';xOxd:'.. ..,:l:'..     ..''.',;::'.',,;:cllllooooooddddlcc:,,,....'.
                       ...,;;'..:oxooxxolc;;::;'...''','.,;;:c,............':;;'.,kkdd:.....,:c;''...............;;:;;;;;:cclloolllloolcc:::,;;,....'.
                    .....,;;,...':cclddolc;,;::;'.,:clodddddddol,.........',c;;..lOxld;...',;cl;.'..........';;;:clooolclc:;cllllcllllc:clc;;:::'.....
                    ....,;;,'.,;;;,,;;,,;c:cloolccoooodxolcloxxxdc........':lc:;cOkdod'.,;;;:ll;'',,....';:cc:,,;lllloodolllc:ccccclllcccc::;;:;,,,'..
                   ....';;'.';llc''',''':ddol::dxddddollc:ldddooodo,......;;,:oxOOdddo.',,;::::,..,:c::cclll;,;::::clooooooo:;c::cllcc:;:cc:,'.';;;'..
                   ...';;'''cdlcc:,'....:xdooloxxxdoo::lodddddoloxxdc,..'okkolxkxdoodl',,;;;:::,,::cooollc:,',clcccccollodddlcl;c::::c:;,::,...,:,,,,.
                 .....,;,'';do;.,do;....;lldxxxoolllllldxxxxdl:;,:dxdol''dOkkxdxddollc',,,'';ccoolooodoc:;,,;:cc::clllllllodddc::;::::::,,,..',;;;::;'
                 ...',;,,,,;;,'',:,'....',lxool:'.,,cloxodOOxo:;,,:odxxo,'kOOkxdddooll:;'',;lollolloolcc:;;:ccccllllccc:;:looolcccc::,,;'''.',,;',:::;
              .....';;,,,,,,''''''........ldooo:..,';',coxOxoc::cclccoddl.;okOxddxdoool::clodddolccc::::;,;:clccccccccc;,;::::ccllc:;;';;',,,'''.'',;;
              ...'',,,'',;,,,;;,........ .lolll:,;,'.',:dxkxllcccllc:clox;..;kkdxxxddxdxxxxddoolcc:::::::cc::c:::cc:;;;;,;;;,,,:::;;,;;::,;;;,..,;;;:c
             ....',,''',;;,,,;;'.........'olcllc,;:;;;coxOkdlolllool:::cdc...;kxxxxkkkkkkkdoollccc::::cclllc:::::cc::;;;;,,,,'';;'...,;;;;;;;;',c;,,:c
                                                                                                                   ...';, ...                         
                                                                                                                   ...',, ...                         
                                                                                                                    ...,; ..,                         
                                                                                                                    ...':. .                          
                                                                                                                    ...':. .                          
                                     .,:;,,,'..                                                                     ....;, .                          
                                   'dOkxd:;;;;,.                                                                     ...,, ..                         
                                 .cKKxoc:;'''...                                                                     ...'; ..                         
                                 lKK0o;'..........                                                                    ..';...                         
                                .OK0x;.......... .                                                                    ...;...                         
                                ,XKkc;'...'',,,;:c:;::,....                                                           ...,'                           
                                lX0dooddxkkxxOkccdxolclxdlcc:;;,'.                                                     ..,;                           
                               .k0kddxOkxl,'.;Ox:dl;,';cdxoccc:loxo:'..                                                ..';.                          
                             .;,kOkxkkxo:,....oklo;',,cloo:;;;:cllcclll:,.                                             ...:.                   ...... 
                             cc:KOkxo:;cc:;''.dOxc';clodoodol;,;;...',,,:cc;.                                          ...,,         ..'',;::::,.  ...
                         ':clkOk0kd;....''.;::kOdooodllolcloddxxdc:;'....':::;.                                        ...';.      .',,,,,;;;;:cl:,'..
                        .c;..oOOOx;.....''..ckOddoo:...''.  ..:xxddlolc;,..,:c:,.                                       ...;.     ';;,,'',,;,,;:cloolc
                             okOkx:......''ck0Okkd;.....'     ..,;;..'cldo:'.;cc;.                                      . .,.    ;:;;,''';;,',;coolcc:
                            .xOOkxo,...'lldkxOOOkOl,'....           .'c;.:xko,;co:'                                     ....,   .;:;,''''','.'',,:odxl
                            :kkkxoo:....cxOOxxxxxOkc';''.           ..:o:..,dkl:cdc.                                     ...;.  ,::;,,'.'......''',:lc
                          .ckxxkkxxlcc,..;xOkdxdol;..,,..           ....:l' .,xo::o:.                                    ...,,  ,:;;;,'''.'.....'',,'.
                        .,dkxxxkkxdoool;....,,,'.   .','.            ....;l;...docll.                        .,'...        ..,. ,:;;,,,'',:''.....',,.
                     .;lxkxddddooollclll:..   ..     .,,.             ....,:;. .ddlo;                      'cl:,:;;c,;,......'' ';:;;;,',;:::,'...','.
                    .kOxxkooollc::c::llc:,.    .      .,..            ....'',.  ,Oodc                 .  .:o,.. .,,'...';;....'..:c;;';:cc:;;:;'..,;'.
                    .xkoool:,odc:::cccc;,,..   ...    .,'.           ... ...,'  .okdo.   .            ..;ooc;.... .,'.. ..,''........'coool;,,;;'.'''.
                      ....'..xxlc::;;;;;;;,.   ....    .,,.         .',;,..',,.  .xxd....            .':o:,lo.   .'.  ....'',;;,.   .;coll:::,;,,'..''
                            .lxdlc;'..'.,:;..  ......  .,c,.       ':cc:c:,,,:,.  cOx'.'.        ...,:ldl:lxo;   .. .....',,;,;;;'..',:ll:c::,,,;,,,,'
                            .,;;;'.     .c:'.............;:'     .,ol:;,,;:,;cl;. 'Ox,.,...........,lxxdddxc:c,... ......'',,',;,,:c;:ccl::lc;,'';:;;;
                            .,....    ..;lc'..............;:.   .;:... ..'cc;:c:;..kd:',.;'......'okOkkxxdl',,::.   ......,;,,,,,,coccloollolc;,,;;:::
                           .',.'.   ...,cc:'..............':,................':cc:,kd:;',.     .oxddxdolll:..;::;.     ...,,;:c:c:colldddolllc;'''.',;
                          ..,;,'......;::l;,'..............,:..  ............,;;:loOoc:,...  ..oxdl:'...''...;:::;.......';;cllllloooddxxdool:;,......
                         ..,;;'.':lc:::;:c:;'...............;,..............';,,,;dOxdc'.. ..,clc;..     ...''';::;'..',;:cclllooooooddxxoccc;,,'.....
                       ...,;;,..:dxoodxolc:;::;'...''','.,;,:c,............';;,'.,xOdxc.....,:c;''..............';;:;,;;;;cclllollllodoccc::;,;,'...'.
                    .....,;;,...'clclddoc:;,;::;'.';:codddodddoc,.........'':;;..:Okoo:...'';cl;.'..........',;;;clloolclc:;clllllllllc:clc:;:::,.....
                    ....';;,'.,;;;,;;;,,;c:cooolccoooddxdlccoxxdxc........';cc:;;kOxdd,.';;;:ll,.','....',:cc:,,;cllloodolllc:ccccclllcccc:::::;,,,'..
                   ....';;,.';clc,',,',':ddol::dxdoodollc:cdddooddo,......';,;ldkOxdod'.,,;::::,'.'::;;:clll;,,::cccllooooooc;c::cll:cc:::c:,'',;;;,'.
                 ......,;,''cdlc::,'....:xdoollxxxdooc:coddddooloxxdc,...cxko:xkkdoooo';,,;;:::,,;:cloolllc,'':lccccclllloddlcc::lc::cc:;;:;'..,:;',,.
                 .....,;,'',do;.,oo;....;lldxxxoooollllxkxxxdoc;,:dxxoc,'dkkxdxxdollll,,,,,',:llolloodol::,,;::cc:ccllllllodddl::;::::::;,,..'',;;;::,
                 ...',,,,,,;;,''':;'....',lxdol:..';cloxodOOxoc;,':odxdo,'xOOkxdddooll;;,'';lollooloolclc;;:cccclcccccc:;:looooccccc:,,;,''..,,;,,:c:;
              .....';;,,,,,,''''''........ldooo:..,,;',coxOkoc::::lcldxxl.;dkOxddddooolc;:lodddolccc::::;,;:cccccllcccc:;;::::clllcc;;';;',,,'''.'',;;
              ...'',;,'',;,,,,;,........ .lolllc,;,..',:dxkdllcccllc::lox;..:kkddxxddxxxxxxddoolcc::::::::cccc::ccc:;;;:;;,,,,,:c:;;,;;::;;;;;'.';,;:c
             ....'',,'',;;,,,:;'.........'olcllc,;;;;;coxkxdodollool:cccdc...cxxxxxkkkkkkkxoooolcc:::::ccclc:::::ccc:;;;,,;,,,,;;'...';,;:;;;;,'::,,;c
                                                                                                                   ..'',;  ..                         
                                                                                                                   ....,;  ..                         
                                                                                                                    ...';. .;.                        
                                                                                                                    ...':. ..                         
                                                                                                                    ...';' .                          
                                     .,;;,,,'..                                                                      ...,,                            
                                   'dOkxdc;;;;,.                                                                     ...,;  .                         
                                  :KKkoc:;'''....                                                                     ..';. .                         
                                 :KKOo:'..........                                                                    ...;. .                         
                                .kX0x:.........  .                                                                    ...;. .                         
                                ,KXkc;'....'',,,;c;;;;,...                                                            ...,,                           
                                :X0dloddxkkkxOOlcoxdlclxxlc:;,,,'.                                                     ..';.                          
                               .d0kxdxOkxl;'.;kk:oo:,';coxocccccoxo:'.                                                 ..':.                          
                             .;,xOkxkkxdc'....lOcoc'',:looc;;;:cllcllll:,.                                             ...;'                   ...... 
                             :l;0Okxoc:cc:;''.l0xl,,cloooooll;,,;...'',,:c:;.                                          ...,;.        ..'',;;:c:,.  ...
                         .;:ckOk0kd:....''';:,xOdooodoldolldddxdd:;,.....':::;.                                         ..';.      .',,,,,;;;;:clc,...
                        .o:'.oO0Ox:.....''..:xOddddc'..,'.....:dxxdoolc;'..,:c:'.                                       ...,.     ';,,,'',,;,,;::loolc
                             cOOkxc......'.:xOOxxd:'....'      .,::..':odo:..;cc;.                                      ...''    ;:;;,''';;;',;coollc:
                             dkOkxo;....:coOxOOOkkl,'....           .':;.:xOl,,cl:,                                      ...,   .;:,''''',,'..',,:ldxl
                            ;Okkxoo:'...cxkOxkkxxOOl',''.           ..;o:..,okl:cdc'                                     ...;'  ,::,,,,.'......','':lc
                          .:xkxkxdxlcc,..;xOkddddo;..,,'..           ..':l' .,do::o:.                                    . .';. ,:;;;,'''.......'',,'.
                         'okkxxkkxdoool;...';,,,.   .','.            ....;l:. .ddcco'                        ..'..       . ..,. ,:;;;,,,',;,''....',,.
                      ,cdkxdddddoolllcol:..   .      .,,..            ....':;. .ddll:                      .;cc;;;,:,,'.......' ,::;;;,'',:;:;....','.
                    .dOxkkdolllc::c::cllc,.    .      .,..            ....'',.  'kool.                   .,l:.. .;;,...';,....'..::;;',::c:;:::'..,;'.
                    .xkdoolc,ldc:::cccc:;'..   ...    .,'..          ... ..'''.  cxdd.   .            . .lol;.    .',.. ..,'.....''..':lool;;;,;'..,'.
                     ...','..xxlcc:;;;;;;;,.   ....    .,,.         ..','..'',.  .dxx' ...           .';oo,cd.   .'.  ....'',;;,.   .,clllc::;;,,,'.''
                            .lxdlc:,'.'.,:;'.. ......  .,:,.       .,:c;::'',;,.  ;Ox,.'.         ..'::ol:cdo;   ..  ....',;;,,:;'..',:clc:c:;,,;;,,,'
                            .,;::,..    .::'.............;:'.    ..odlc;;::,,cl;. .kx;.,...........'cdxddxxccl,.... .....'',,,,;;';c;::cl::lc;,,',:;;;
                            .,....     .,cc,..............;:.   .':'.....':c;:c:;..xx:',.,'.......cxOOkxxxl,,;::'. .......,,;,,,,,:occloollolc;,,;:::;
                           .',.'..  ...,:lc,..............':,..............'..;:c:'xxc;','.    .:xxxkxdollc..;::;.    ....,,;:c:cc:llloddolllc;,'''.':
                          ..,;,'.. ...,::l:,'..............':................';;:llkd::,'..  ..lxdlc;'..,,'..;:c:;.......';;:llclllooodxxdool:;,......
                         ..';;'.';c:;;:;;c:,,...............;,..............',,,,;oOxdc,.....':olc,. .   ....',,;::'..',;:ccllloooooodddxdllc;;,'.....
                       ...,;;,..:dxoodxdlc:;:;;,....''''.',,:c,...........'';;,,..o0xxc'....':c;''...............,::;,,;;;:clllollllldolc:c:;';,'...'.
                    .....,;;,'..'clcldxdl:;';::;'.';:cooddddddoc,.........'':;;'.,kkoo:....,;cl;.'..........',,;;clooolccc:;:lllllccllc:cll:;:::,.....
                    ....';;,'.,;;,;;;;;;:c:coool:coooodxdlccoxxxdc........',lc;,'dOxoo;..,;;:ll;.','....';::lc;,,cllooodollccccclcccllccccc:;:::,,,'..
                   ....',;,'';clc,',,,,,:ddll::oxxddddolc:coddddddo,.......,;;ldx0xddd'.;,;::cc,'.'::,,:lccl:,,,;:ccclooooooc;c::ccllcc::c:c;,'',;;,'.
                 ......,;,''colc:;,'....:xdoollxxxdooc:loddddoolldkdc,...;oxl:dkkxoddo',,,;:::;,',:cloolllc;'';cc:cccllllodol:c::ccc::c:;;:;'..';;,,,.
                 .....,;,'';do;.,oo;....;lldxxxoooolllcdxxxxdoc;,:dxdoc''dkkxdxxdolllo,,,;,,,:clllloodolc:,,,;:c::ccclcclloodoo:::::::::,','..',;;;::'
                 ....,;,,,,,;,'',:;'....';lxdol:'.',cloxodOOxdc;,':odxdo,,xOOkxxddooll;;,,',clllooooollc:;;:ccccccccccc:;:lddoocclcc:;,;;''..,,;,,:c:;
                ...',;,,,,,,,'''''........lddoo:..',;',coxOkdlc:::lcldddo':xOkxddddoool:;:loodooocccc::::;;:cccccllllcc:;;:c::clloc:;;'';,';''','.',,;
              ....',;,'',;,,,,;;........ .loollc,,,'..,:dxxdllcccllc::cox;..:kkdddxddxdxxxxddoolccc:::::::ccccccccc::;;:;,,,,,;:cc;;,,;::;,;;;'.',,,;c
             ....'',,''',;,,,:;'.........'olcllc;::;,,:odkkdodollool::ccdc...ckxxxxkkxxkkkxooooc:cc::::clloc:;;::ccc::::;,;;;,,;;'...';;::;;;:,'::,';c
                                                                                                                   ..'',:. ..                         
                                                                                                                    ...,:. ..                         
                                                                                                                    ...';. .;.                        
                                                                                                                    ...':' ..                         
                                                                                                                     ...,, ..                         
                                     .,;;,,,'..                                                                      ...,;  .                         
                                   .oOkddc,;;;;.                                                                     ...';. .                         
                                  ;0Kkolc:'''....                                                                     ...;. .                         
                                 ;KK0d:,..........                                                                    ...,. .                         
                                .xX0kc'.........                                                                      ...,, .                         
                                .OKOl;'.....''',;:;,;;'..                                                              ..,,                           
                                ;X0xloddxxkkxOOl:okoocodxlc:;,,,..                                                     ..';.                          
                               .oKOxdxkOko:,.,xk:oo:;,;coxo:cc:cool:'.                                                 ...;'                          
                              ,,dOkxkkkdc,....cOloc',,;codc;:;:clllllll:'.                                             ...;;                    ..... 
                             ,l,OOkkdcclc:;'..c0xl,,:lloooolc;,,;,...',,:c:;.                                           ..,:.        ..'',;;:c:,. ....
                         .,:cxOk0kx:'..','';;,d0xollooldolldxdddo:;,.....'::c;.                                         ...;.      .',,,,,;;;;;clc,'..
                        .oc'.lO0Okc.....''..:xOddddc,..,,.....:dxxddol:,'..,:c:,.                                       ...'.     ';,,,,,,,;;;;::lollc
                             :OOOxc......'.,dOOkkd:'....'      .;:c,.,:odo:..,cc,.                                      ....'    ;:,,''.';,;,,;cooolc:
                             lkOkxo;...';clkxOOOkOl,'....           ..;;'cxOl',:l:,                                      ...,.  .;:,'''''',,..',;:ldxl
                            'kkkxdoc'...:xkOxkkxxkOd',''.           ..;o:..,okl:col'                                     . .,'  ,::,,;,'.'.....'''':ll
                           ;xkxkxdxlcc,..:x0kdddddc..;,...           ..':l' .,do:clc.                                    . .':. ,:;;:,'''.......'',,'.
                         .lxkxxkkxdoool;...,:;;;..  .','.            ....;l:. .odcco,                         ....        ...,. ,;;;;,,,',;,''....',,.
                      .;okxdddoodolllcll:..   ..     .,,.             ....,;;. .odll:.                     .,cl:;,';,,'. .....'.,;:;,;,'',:;;;'....,'.
                    .oOkkkdolllccc:::cllc,.    .      .,..            ....'',.  .xdol.                    .:c'...;::...,,'....'..:;;;,,;:cc;:::'..';,.
                    .xkdoocc,cdc::ccccc:;'..   ...    .''..          ... ..'''.  ;xdd'   .              .;oo:.    ..;'. ..,'.....,,..';loll;,;;;,.''''
                     .''',,..dxl:::;;;;;;;,..  ....    .,'.          ..'....',.   lxx, ...           ..'lo::d'    .'. .....,;;,,.   .,clllc::;;,,,'..,
                             lkdlc:,'',',:;'.. .....   .':,.       .';::c:'',;,.  ,Ox;.'..          .;:oo;:dd;   ... .....,:;;,;;'...,:clc:c:;,,,;,,,'
                             ':cc,..    .::'........... .;:'.     .ldol;:c:,,:l;...kk:.'' .........':oxdodxlcl;.... ......',,'';;,;c;;:cl:;ll:,,',:;;;
                            .,....     .,cc,..............;:.    .:;'.....:c::lc,..dkc''.,,'......:dkkkxkxo,,;;:'. .......,;;;,,,,;olclollcolc:,,;;::;
                           ..,....  ...':cc,..............':,.  ..'.......','';:c:'ok:;,''..   .,dxxkkddool,.;:c;.    ....,,;;::cc:llcodddollc;,'','':
                          ..,;,'......';:lc,'..............':.................,;:ccxx::,,.  ...cxxolc;.':;;..,cc:;. ......,;:llclllooodxddooo:;,......
                         ..';;,..,;;,;;;:c:;,...............;;..............';,,,;cOxoc,......:ool;..    ....',;::;'..',,;clllloooooodddxxlll;,,'.....
                       ...';;,'.:dkdoddlcc::;;,'....''''.',,;:,...........'',:','.lOxxl'....';c:,'...............,::;,,;;;:cloloolllodollc:::';,'...'.
                    .....';:,'..,loclddolc;,;::;'.',;clodddoddlc,.........''::,,.'dOool....',:l:.'..........',,,;clloolcccc::lllllcclllc:clc;;::;.....
                    ....';;,''',,;;;::;;;:::looc:clooodxdlccoxxxxc........',cc:,.lOkoo:..,;;:ll;.'''.....';clc:;,:llooooolc:c:clllcclllcclc:;:::;,'...
                   ....',;,'.;coc,,,,,,,:ddolccoxdodddolc:coddddddo,.......';;cooOkxod;.,;;::cc,'.';;',;cccl:,,,;:c:clooodoll;:ccccllcc::::::,'',;:,'.
                 ......,;,'':ooc:;''....cxdoolldxddooc:lodddddooldxdc,...'cdc;dkkkdddd',,,;::::,',:cllllllc;'';cccccclllloooo::::cccc:c:;;:;,'.';;,,,.
                 .....,,,'';dd;.,lo:....;lodxxxooooolccdxxxxdoc;,:dxdoc'.dkkxddxxdoolo',,,,,,:cllllloddlc:;,,;:c:::ccllccloddoo:::::::::;',,...,;;;::'
                 ....',,,,,,;,'',c;'....,;cxddo:'.,;cloxddOOxoc;,';odxdo;,dkkkxxddolcl;;',',clllloodoolc:;;::cccccccccc:;;lddooccccc:;,;;''..',;,,;cc;
                ....,;;,,,,,,'''''........lddoo:..'';,,coxOkdlc:::lcldddo.ckOkxddddoool:;;cloddoolccc::::;;:cccccllllcc:;;:c::cllocc;;,';,,,'',,'.',,;
              ....',;,'',,,,,,,,'....... .loollc,,,'..,:dxxdllcccllc;:lox:.'ckOddxxdddddxxxdddlll::::;::::cccccccccc::::;;,,;;;:cc:;,;;;:;;;;,'..,;,;:
             ....'',,''',,,,,:;,. .......'olcllc;:;,',:odkkdoolllllc:;:cdl...lkxdxxxxxxkkkxooollccc::;:ccclc::;::ccc:;;;;,;;;,,;:'....,,;:;;;:,',:;,;c
                                                                                                                   ..'.,:. ..                         
                                                                                                                    ...,:. ..                         
                                                                                                                    ...';. .,'                        
                                                                                                                    ...',, ...                        
                                                                                                                     ...,;  .                         
                                     .,:;,,,'..                                                                      ...';. .                         
                                   .oOkxdc,,;;;.                                                                      ...;. .                         
                                  ;0Kkdc::,'''..                                                                      ...,' .                         
                                 ,0K0d:,'.........                                                                    ...,, .                         
                                 dX0kc'.........                                                                       ..,, .                         
                                .OXOl;'.......',;;;,,,'..                                                              ..';.                          
                                ,KKxoooddxkkxOOo:okdoloddl:;;,,'..                                                     ...;.                          
                               .lKOxodkOkoc,.'xk:ldc:,,cdxdc:cccldl;..                                                 ...;,                          
                              ,,d0kxkkkdc,....:0loc,',;cldc;:;:cloloolc;'.                                             ...,;.                   ..... 
                             'o,k0kxxl:ccc;...;0kl,';clooolcc:,':,..'',,:c:,.                                           ..':.        ..'',;;:::;. ....
                         .,;:dOk0kxc'...,,';;'o0xollooooooodxdooo:,'.....'::c;.                                         ...,.      .',,,,,,;;;:clc,'..
                        .ol,'lO0Okc'....''..:oOxdddo,..',.....:xkxddlc:,'..,:c:'.                                       ...''     ';,,,',,,;;;;::loolc
                             ;OOOxl'........okOxkdc'.. .'.    ..;cc;.,:odl:..,cc,'                                       ...,    ;;,,''.';,;,,;coool::
                             lOOkxo;....;:ckxkOkkOo''....          ...;;'cxOl',:l:,                                       ..,.  .;;,,''''';,..',;:ldxl
                            .xkkxdoc'...:xk0xkkxxkOd,,''.            .,o;..;oxl:col'                                      ..',  ,;;,,,,'''.....'''':ll
                           'dOxkxdxl:c,..:x0kdddddl'.,,'..           ..,cl' .,dd::oc.                                     ...:. ,:;;;,,''.......'',,'.
                         .cxkxxkkxdoool;...,::::'.  .','..           ....;l;. .odc:o;                          ..         . .,'.,;;:;,,,'';,''....',,.
                      .,lxxdddddddollcll:..   ..     .,,..            ....,;;. .oxllc.                      .;lc;,',,''.  ....'.,;;:,;;'',::;,,...'''.
                    .lOkkOxoolllc:::ccllc,.    .      .,..            .....';.  .ddll'                    .;l,...:cl'..';'......':;;;;,,;:c::::,..';,.
                    .kkdoocc;:dc;:ccccc:;,..   ...    .''..          ... ..'''.  'xdd,   .               'cd:.    ..,,. .',,...'.,,'.';lloo:,;;,,'.,'.
                     .,,,;,'.oxl:::;;;;;;;,..  ....    .,'.          .......',.   ckx:   .            ..:dc:o'    .,.......',,,'..  .'clllcc:;;,,,'..,
                             lkdlc:;'',,,:;'.. ......  .':,.        .,;:c:'.,;,.  .kk:.'..          .,:ldc:dd;.   .. .....,:;;;;;'...,:cll:c:;,,,;,,,'
                             'clc;'.    .::'..........  .;:'.     .:odo::c:,,:c;. .dOl.''..........':odxodxoll;  .........',,'';;,,c;;;clc;ll:,,.,:;;;
                            .,..'..     'cc,..............;:.    .;:,.....:c::lc,..lOl'''.,'......;okkkxxxd;,,;;'.. ......',;;,,,',olcclllloll:,,;:::;
                           ..,.'.... ...:cc,..............':;.  .',.......';,'::c:.lOl;,';......'oxkkkxdool,.,;c:. .  .. .,,,;:::::llcloddolll:,'',,,:
                          ..',,'......'::cc,'..............':'................;;cccdkc:,,.    .;dxolo:,,:c:'.,cc:,........,;;llccllooodxxxdooc:,'.....
                         ..';;,'.',,',;;:l:,'...............;;...............,;,;;ckxoc,.. ...:odoc,.   .....',::::'...',;cccolooooooodxxxoll:,,'.....
                       ...';;,'.:dkxoddlcc::;;,'....''''..'';:,...........'',:,,'.cOkxl'....';c:,'...........'..',::,',,,;:clolooollooddlc:::,,,'.....
                    .....';:;'..,llcldddl:;,;::;'..';clooddoddl:,.........'';:,,..oOdoo'...',cl;............',,,;:lllolccc::;lllllcccllcc:cc:;::;'....
                    ....';;;'.',,,;::::;:c::lloc;:looodxdlccoxxxdc........',cc;,.:kkooc..',;:ll;..''.....',:cl:;,:loooooolc::ccllccclllcccc::::c;''...
                   ....',;;'.,loc,,,,,,,;ldolccoddooddolc:coddddddl,. .....';::lcOkxod;.,,;::cc;'',;,.',cccc:;',,:ccclooooolc::ccccllclc:::::,',,;;,'.
                 ......,;;'':oolc;'.....cxdoolcdxxdooc:loodddoolldxdc,....;oc;okkkxdod,',,;::::,',;cllllllc:'',:lcccclollooooc:c:clc::c:;;::,...;;,'''
                 .....',,'';dd;.,oo;....;oodxxxdoooooccdkdxxdoc:;:dxdoc'.okkxodkxdoolo,',;;,;:cccllllodoc:;,';:cc::cclcclloodooc:ccc::::;,,,..'';;;::,
                 ....',;,,,,:,'',c:'....,;lxddo:'',;cloxddOOxdc;,':oxxdo;,xkkkxxddolcl;,,,,':llllloodolc;;;;:cccccccccc::;coddolcccc::;;;,''.',;;,;cc;
                ....,;;,,,,,,'''''........lddoo:..',;,,lokOkdl::;;cllddxo'cOOkxddddoloc:;;cloddoolcccc::::;:cccccllclcc:;,:ll:cllolc:;,',,',''','.',;;
              ....',;,'',,,,,',,..........loollc,,,'.',:oxxdllcccllc;:lox:.,lOkddxxddddddxxdddlllc:::;::::ccccc:ccc:::::,,,,;,;:cc:;,;;;::,;;,,..,,,;:
              ....',,''',,,,,:;;.........'olcllc;;;''':oxkkdoollllll:;:cdc..'oOddxxxxxxkkkxooocc::c::;:ccclc:::cccc:;;;:;;;;;;,,:'....,;::;;;;:.,:;;;l
                                                                                                                   ..',';. .'                         
                                                                                                                    ...';' .'.                        
                                                                                                                    ....,' .,,                        
                                                                                                                     ...,;  ..                        
                                                                                                                     ...':. .                         
                                     .,:;,,,'..                                                                       ..';. .                         
                                   .oOOxxc,;;;;.                                                                      ...,' .                         
                                  ,OKOol::,''....                                                                     ...'' .                         
                                 '0K0d:,'.........                                                                    ...,, .                         
                                 oX0kl,.........                                                                       ..';...                        
                                .kXOl;'.......'',;,,,'..                                                               ...;.                          
                                '0KkooodddkkxOOo:oxdoloddl:;;,''..                                                     ...;,                          
                                cKOxodkOkdc;',dk:ldl:,,cdkdc:ccclol;.                                                   ..,;.                         
                              .'o0kxkkkxl,....;Ooll,',,cldl:;;:cloooooc;'.                                              ..,:.                   ..... 
                             .l'k0kxxl:clc;...;Oko;';cloodocc;,,;,..',,,:c:,.                                           ..';.        ..'',;;:::;. ....
                          ';;oOx0Oxc'...,,';;,l0kocloooodlodkdolo:,'.....':cc;.                                         ...''      .',,,,,,;;;;clc,'..
                        .ol;,lOOOkl'....''..:okxdddo;'.,;.....:xkxddoc:,'..';::'.                                       ....'     .;,,,,,,,;;;;::llllc
                             ,OOOxl'........lkOxkdl,.. .,.     .:cl:'':odl;..;cc,'.                                      ...,.   ,;,,'''',,;,,;coodl:c
                             cOOkxd:....,::xxkOOOkl''....         . ..,,,lxxc',:l:,.                                     ...'.  .;;,,''''',;'.',;:lddl
                            .dkkxdoc'...:kkOxxkkkkkx;,'..           ..,l;..;oxc:cll,                                     ....,  ,;;,,,,''''....'''':ol
                           .oOxkxodl:c,..:x0kxdddxo;.,,'..           ..;cl' .;dd;:lc'                                     . .:. ,:;;;,,,'.......'',,'.
                         .:xkxxkkxdoodl;...;cc::,.. .','.            ....;l;. .od::o:.                          .         . .,,.,;;:;,,,.';;','....,;.
                      .':dxxddddddolllll:..   .      .,,..            ....,:;. .lklll.                      .,cc:'..''..  . ..,.,;;;,;;'',::;;,....''.
                     :kkkOxoooolccccccllc,.    .      .,..            .....';.  .oxlo,                     'c:'..;cl;..,,......'.c:;;;,,;:c::::,..',,.
                    .kOdddlc;:oc;::cccc:;,..   ...    .''..          ... ..'''.  .ddx:                 . .;oc.   ...',. .';,...'.,;'.,,clloc,;;,,'.,'.
                     .;;;::,.lxlc::;;:;;;;,..  ....    .,'.          .......',.   :xxc   .            ..,llco,... .''......',,,'..  .':lllcc:;;,,,'..,
                             lxdlc:;,,,,,;;'.  .....   .':,.        .',;c;'',;,.  .kxc....           .;loc:dx:.   .......',:;;;;;'...':cll:c::,,,;,,,'
                             ,lol:'.  ...::'..........  .;:'.     .,lod:;c:,';c;.. oOo..,....   ...';ldxodxoco;. .........',,'';:;,:;,;ccc;ll:;,'';;,;
                            .,..'..     'c:,..............;:.    .'c:,..''::;:ll,. :Oo,.'.,'......,lxOkxdkd:,;:;..........',;;,,,',llccllllollc,,,;::;
                           ..,..'...  ..;cc,..............':;.....;.......,:;';:::.:Ol,,';'......cxkOkxdddo,.,;::.    .. .,,,,:::::loccoddoool:,,',,,;
                          ..',''.......;:cc,'..............,:'................,;cc:lOl:,,.    .,okdooo:;ccc,.':cc;.... ...';;ccccllloodxxxoool:,'.....
                         ...,;,'..'''';::l:,'...............;;...............,,,;;cxkol;'.. ..;oxdl:'.  .....',::::'...',,cccllooooooodxxxollc;,''....
                       ...',;;'.;dkxoooccc::;,,'....'''...'';:,............'':,,'.;Okdd,....';::;,...........''..,:c,'',;;:cloloolloooddoc:::;;,'.....
                    .....',;;'..;loccdxolc;,;c:;'..';:clloddodo:'.........'';c;,..cOxoo,....,:l;.'..........',;,,:cllllcccc::lllllccllllc:cc:;;:;'....
                    ....',;;'.'',;:::c::::::cllc:;cloodxxoccoxxxdc........',:c;,.'xkdol'..,;:lo;..'.......,:cc:;;:llooooolc:::clllccllllcccc:::c:,'...
                   .....,;;,',col;,,,,,,;loolccoddooddooc:coddddddl'.......':c;c:dOxdd:.',;::lc;'',;,.',:cllc;',,:cccloooooll::ccccclllc::cc:;',,;:;'.
                 ......';;'':oolc;''....cxdooccdxxddolclldddddllldxdc,....'l:,lxkOxdod;',,;::c:,.,;cllcllll:,',:ccccclolloodoc;c:clc:cc::;::;'..,;,','
                 .....';;,';xd;',ll;....;oodxxxooooooc:dxxxxdol:;:dxdoc,.lkOkldkkxoooo,,,,,,;::cllllloxoc:;,',:cc::cclcccllodolc:cccc::::,,,'..,;;;;:;
                 ....',;,,',:,'',c:'....,;cxddoc,';;cloxddOOxo:,'':dxxdo;;xkkxxdddolcl;,,,,,:llllooooolc:;,;:ccccccccccc::codddlccccc:;;:,''..,;;,:cc;
                ....';;,,,,,,'''''........lddoo:..',;;,ldkOkxl::;;clldxdo'cOOOkxxddollc:,;:lodoooollc:::::;:cccccllccc::;,:llccllolc:;;',;',''',,'',;:
               ...',;,,'',,,'',,'.........looll:',,'.',:oxxxlcccclll;:oox:.;oOkddxxdododdddddoollcc::;::::cc:cc::ccc:::c;,,,;;;:cc::;;;;:c;;;;,'.',,,:
              ....',,'''',,,,;;;.. ......'olcllc,;;''':oxkkdooolllll:;ccdl..,dOddxxxxxxkkkxoollc:cc::;::clol:cc::cc:::;;;;;;;;;;:''...,;::;;;;:.'::;:l
                                                                                                                    ..;';'  ..                        
                                                                                                                    ...',,  ..                        
                                                                                                                    ....,;  .,                        
                                                                                                                     ...':. ..                        
                                                                                                                      ..';. .                         
                                     .,:;,,''..                                                                       ...,' .                         
                                   .lOkxdl;;,;;'                                                                      ...,, .                         
                                  'OX0ol::,''....                                                                     ...,,...                        
                                 .OK0x:,'....'.....                                                                    ..';...                        
                                 :K0ko,.........                                                                       ...;...                        
                                 dX0l;,'........',,'''..                                                               ...;,                          
                                .OKOoooddddxkOOd:lxdoooodc;,;,'..                                                       ..,:.                         
                                ;0OxodkOkxl;',dOccxl:,,:dxxc;cccloc,.                                                   ..,:.                         
                              .'l0Oxkkkxl;'...,Odlo;'',:coo:::;:codddl:,'.                                              ..':.                    .... 
                             .c'd0Oxxocclc;...'kko;',cloooocc;;,;;..',,;:c:,.                                           ...,,        ..'',;;:::;......
                          .',lOdOOkl,...,,,;;,:0Ooccoolodlodxdllo:'.......:cc;.                                         ...',      .',,,,,,;;;;clc,'..
                         lo:;cOO0Oo'.....'..;lkkdddd:,',;....':xkxdoc::'...';::,.                                        ...,.   ..;,,,,,,,;;;;;:llllc
                         .   'OOOxl'........:xOxkdo,.. .,.     .:lol,;:ooc;..,:c,'.                                      ...'.  .,;,,'''',,,;,:cooolc:
                             ;kOkxd:....';;okkOOOkl''...'        .. ..',;lxxc',:l:;.                                      ...'  .,;,'''''',:,.',;:lodl
                             okkkddc'...:kxOkxkkkkOk:''..            .,c,..:dxc;:cl;.                                     . .,. ,;;,,,,''''....''',:ll
                           .cOxkxddl;c,..:x0kxxddxxc.,,'..           ..;lc.  ;dd::ll'                                       .;, ,;,;;;,''...'...''',''
                          ,okxxkkxxoodl;...:ollc:'. .','..            ...;l;. .ld::l:.                                    ...';.;;;;;,,;..,;,,'....,,.
                       .;oxxxdddddolllll:..          .',..            ....;:;. .cklcl'                       .,c;'......  . ..'';;;:;;:'.';:,;,....''.
                     ;dkkOxoooolcc:cccllc;.    .      .,'.            ....'',.   lxlo;                     .;c:'';::c'',,......,'c:;,;;,,;:c:::,..',,.
                    .xOdddll:;ol:::ccccc;,..   ...    .''..           .. ..'''.  .dddc                 .  'lo'.  ..'.....',,...'.;:,''':cloc,,;;,'.''.
                     '::::c;.:xl:::::::;;;,..   ..     .,'.           ......',.   ,kdo.  .              .:old,... ..,......',,'.... ..;clllc:;;,,,'..,
                             lkdlc::;,;;,;;'.   ....   .';,.        ..';:;..',,.  .dko....           .,;llclx:.   ........'::;;:;'...';cllccc:;,,,,,,,
                             ,odoc,.. ...;:'..........  .;:'.      .:loc;c;'',:,.  :Od'.'.        ..,codolddlo;.  ........',;,',;;,;;,,:cc;cl:,,',;;,;
                            .''.,...    .::,..............;:.     .cl:,,,,::;;ll;..,Od,.'..'......,cdkkxdxxc;;::...........,;;;,,''co:clolcoolc,,,;::;
                           ..,'.'... ...;cc,..............':;... .:'......,::,:c:;.'Oo;''',......;dxkkxxxxd:.,;;:'..  .....;;,;;;:;colclodooolc;,'';,;
                          ...;''.......,:cc,...............,;.................,:cl::Oo:;,'..  ..lkxdddlcc:c:.':cc;.    ....;;clcclllooodxxdool:;'..'..
                         ...,;,'......;:;l:,'...............;;................,,;:coOol;'..  .,oxdoc;.. .,,...,:c:;'....',:ccllllooloodxxxdllc;;,'....
                       ...',;;,.,okxollc:cc:,,'......'......,:'............',;;,'';xOxx:.. ..,::::;...........''',;:,'',;;::clolooloooddooc:::,;,.....
                    .....',;;,..;lolcdddlc;,;c:;'..';:clloddodl:'.........',,:;,..;Oxod:....,;c:.'...........',,,:cllllc::cc:cllllclclolc:cc:;;:;,....
                    ....',;;,'.'';::clcccc:;ccc:;;:loodxxoccoxxxdc........',;c,,..oOxlo;..',:ll;..........';ccc:;;lloooollc:;:ccllcccllcclccc::c:;'...
                   .....,;;,.,lol;;,,,,';loolcloddooddool:coddddddl'.......':l::,cOxddl..,;;cll;'',,'..';cclc:''';ccclooooooc::ccccclllcc:cc:;,;,,:;'.
                 ......';;,':llcc,'.....:xdllccxxxddol:cloddddllodxdc,.....;:,:dxOkxod:.,,;:cc:,.';clccclll:,'';:cc::cllloodol;c::clcccc:;:c;''.';,'''
                 .....',;,';xd;.,ll;....;oodxxdooooool:oxxxxddl:;;dxdoc'.;xOkcoxkxoood;',,;;;::cclllloddlc:,'':cc:ccclcccllodolc:cccc::c:,','..',;;;:;
                 ....',;,',,:,'.,l:'....;;cxddoc,,;:cldxddkOxo:,'.:oxxdo;;xkkxxxxdoocl;';,,';llllllooolc;;,,;ccccccc:::c:::ldddlccccc:;,;;',..',;,;cc:
                 ...',;;,,,,,'''''........lddoo:...,;;,ldkOOkl::;;:cldddd'cOOOkxxddollc;;;:codoooollc:::c:::clc:cllccc:c;,:lolcllool:;;,,;',''',,'',;;
               ...',,;,,',,,'',,'.........loollc'',''',:odkxlccccllc;:oox:.cdkkxddddooodddddddollcc::::::::c:cc::ccccccc;,,,;;;:ccc:;;;:::;;;;''..,,,;
               ..'',;,,'',,,',:;........ .llcllc;;;...;lxkkdodolclll;;clxo..;xOxoxxxxxxkkkxooolcc::::;::clll:cc::cc:::::;,,,,;;,;,''...,:l;;;;;'.;:::l
                                                                                                                    ..;',;  ..                        
                                                                                                                    ....,;  ..                        
                                                                                                                     ...';. .,                        
                                                                                                                     ...':. ..                        
                                                                                                                      ..';' .                         
                                     .,::,,,''.                                                                       ...,, .                         
                                   .lOkxdl;,,;;'                                                                      ...,, ..                        
                                  .kX0ol::;'''...                                                                      ..';. .                        
                                 .kX0xc;'....'.....                                                                    ..';. .                        
                                 ;K0Oo,.........                                                                       ...;' .                        
                                 oX0o:''........','''...                                                               ...,;.                         
                                .kXOoloodddxkOOd:lxddddddc;,,'...                                                       ..,:.                         
                                ,O0xooxOOxl:,'oOlcxoc,,:dxdl::ccll:'.                                                   ..':'                         
                              .'cOOxkkkxo;'...'kdco:',,;loo:::;:cldxdl:,'.                                              ..';,                    .... 
                             .l,oKOxxocclc;...'kko:',:cooooc:;,,::'.,;;,:c:'.                                           ...,,        ..'',;;:::;......
                          .'':OdOOko,'..',,;;':OOoc:lolddloxxdlcc:.......':::;.                                          ...,.     .',,,,,,;;;;clc;'..
                         cdc:cOO0Od,.....'..:lxkddddc,',:'..'':xkkxoc:;'...';::,.                                        ...,.    .,,,,,,,,;;;;::llllc
                         ..  .kOOko,........,xOxxdo;.. .,.     .:ldo;;cooc;..,:c;'.                                      ...'.  .,;,,'''',,,;,:looolc:
                             'OOOxd:....',,lkkOOOko''...'.       ......';oxxc'';l:;.                                      ...'  .;;,'''''',:,',;;:lodl
                             cOkkddl'..';xxOxxkkkkOxc'...           ..'c,..:dx:;:cl;.                                     . .,. ,;;,,,,,'''....',',:ll
                           .:kxkkooo::,..:x0kxddddko',,'..           ..;lc.  ;dd::cl'                                     . .,,.,;,;;;,'.....'..'',,'.
                          .lkxxkOxxoodl;..'coollc,. .','..            ...;l;. .cx::lc.                                    ...';.;;,;:;,,..,;,,'...',,.
                       .,lxxxxddxdoollll:..  ..      .',..            ....;c;. .:klco,                       .';;'.....    ...'':;;;;;:,.';:;;,...'.''
                     'okkOxdooolccccclllc;.           .,'.            ....'';'   :xlo:.                     '::;';:,c;,,'......',c:;,;:,',:c;::,..'',.
                    .xOxdxoc:;ll:::ccccc:,..   ...    .'''.           .. ..'',.  .oddl.                   .:o,.. .,,'....,,,....'::,',,;clol,,,;,'.''.
                     ,ccccc:.,xl:::::::;;;,..   ..     .,'.           ......',.   'xdd.   .            ..,loo,... ..',.....',,'.......;cllll:,;,,,'.',
                             ckdlc::;;;;,;;'.   ....   .';,.         ..,;,..',,.   okd. ..            ',collxc.    .'....'';:;;;;'....;clocc::;,,,,,,,
                             'odol;'. ...;:,..........  .;:'.      .,clc;c:'',:,.  ;Ox,.'.        ...:oddoodol;.  ........',;,',;:,,;,,;cl;clc;,'';;,;
                             ',,,'.     .:c;..............;:.     .;ol:;;;::;;cc;...Od;.,.........,:okkxdxxc;;::...........';;,,,,':lcccllllolc;,,;::;
                           ..,'.'...  ..,cc;..............':;... .;;......,:c;:c:;..kd:''';'.....;oxkkkxxxd:.,;;:,.   .....,,,;;;;;:olclooooolc;,,,;,;
                          ...,''.......,:cc,''.............,;...............'.':cc:;kd;;,,... ..cxxdxxdll:c:..;cc:.     ...;;:lccclllloodxdoooc;'..'.'
                         ...';,,......,::lc,,'.............';;................,,;;clOdc:,..  .'lxddl:,..',;'..,:c::'....',:cclllllooooddxxdool:,,'....
                      .....,;;,',lxxollc:cc:,,'............'':,............',,;,,',dOxx:'....':c:c:,..........''',::,'',;;:ccloloolloodddoccc:,;,.....
                    ......,;;,..;oolldxdoc;,;c:;'..',;:lllooool:'.........'',:;;'.,kkod:....,:c;'............',,,:cllllc::::ccllolllclolcccc:;;:;,....
                    .....,;:,'.'';::cllccc:;ccc:;,:llodxxoccodxxd:........',;c,;..cOxlo;...,:ll:..........';:cc:;:cloooooll:;;ccllccclllllccc:ccc;'...
                   .....,;:,',col;,;;;,,;loolcloddooddool::oddddddl'.......':l:;';kkddo'.,;:cll;'',,'..',:clc:'',,:cllooooooc::cc::clllcc:ccc:,;;,;;,.
                 ......';;,':llcc,.'...'cxdllccdxxddol:ccoddddllodxdc,.....,,,:oxOkxodl.',;::cc,.';:cc::lllc;'',:cc::clllooool;:::cllccc:;:c:,'.';;'''
                 .....',;,';xd;.,ll;....;oodxxxdddoool:oxdxxddl:;:dxdoc,.,okkllxkkdood:';,;;::ccclllloddoc:;,';cc:cccllcclllodc:::clc::::;,;''..,;;;;;
                 ....',;,',;:,'.,lc,...';:cdddoc,,;:llokdokOxoc,,':dxxdo;;kkkxdxxxolcl:';,,,:clllllodool:;,,;:c::cc::c:::;:lodooclllc:;,;;',..',,;;:c:
                 ...',;;,,,,,'''''........lddoo:...,;;;ldkOOxo:;;,:lodxdd,:OOOkxxddollc;;;;coooooolll:::::;:clc:cllccc:c:;:odocoloolc;;,,;,,,'',;,',;:
               ...'';;,,',,,'''''.........loollc'',,'',:odxxlcccclll;:ooxc.lxkkxddxdooooodddddolll:::;:::ccccccccllccccc:,,;;;;:cccc:;:::c;,;;,'.',,,;
               ..'',;,''',,,',;,'.. .... .llcllc;;;'..;ldkkdloolclll:;clxo..;kOxddxddddxxkxdoolccc::;;:::cll:cc::cc:::::;,,,,,,;:,''...;:c:,;;:'.,:ccl
                                                                                                                    ..,,,:. ..                        
                                                                                                                    ....,:. ..                        
                                                                                                                     ...';. .,.                       
                                                                                                                      ..';. ...                       
                                                                                                                      ...,; ..                        
                                      ,::;,,''.                                                                       ...,;. .                        
                                   .cOOxxo;,;;;,.                                                                      ..':. .                        
                                  .kK0dl::;'''...                                                                      ...;. .                        
                                 .xKKxc;'..........                                                                    ...;, .                        
                                 '00Od;.......... .                                                                    ...,;..                        
                                 cX0d:,'........''''....                                                                ..,:..                        
                                 xXOdlloooddxkkx:lxxddodoc;,,'...                                                       ..':.                         
                                .O0xooxOOko:,,oOlcdoc;,:oxxlc:ccll:'.                                                   ..';'                         
                              .':OOxkkkxo:'....kxcoc,'';codc::;:cldxdl:,..                                              ...;;                    .... 
                              c,oKOkxdcclc;....xOoc.':cooooc:;;;;:,.,:;;:c:'.                                           ...,;.       ..'',;;:::;......
                           ..;OoO0ko;'..',,;;';OOd::lolodoodxdlcc:........:c::.                                          ...,.     .',,,,,,;;;;clc;'..
                         :dl:ckO0Od;.....'..;ldkddddl;,,:,.'',:xkkdoc:;'...';::,.                                        ...'.    .;,,,',,,;;;;::cllcc
                         ..  .xOOko,........'dOxddoc.. .,.     .;odd:;cdo:;..,:c;'.                                      ...''  .';;,''.,,,,;;:cooooc:
                             .kOOxd:......,:xkOOOko''. .'.       ......';oxdc.';c:,.                                      . .'  ';,,,''',,';,',,;:lool
                             :Okkddl'...,xdOkxkOkkOxc'...            .'c,..:dxc,:cl;.                                     . .,. ';;,,,,,''''...''.':ll
                            ,kkkkdoo;:,..;d0Oxxdddkd,,,'..           ..;l:.  ;dx::cl,                                     . .';.,;,,;;;,.....'..'',,''
                          .cxkdkOkxdldl;..'cddool;'. ','..            ...:l,. .cx:;ll.                                    . ..:';;,;:;,,..,;,,'...',,.
                        .cdxxxxdxxdolloo:..  ...     .',..            ....;c;.  ;kl:l;                        .''...       ...',::;;;;;;.';:;;,.....''
                     .ckkOkdooollcccccllc;.           .,'.            ....',;'   ,xllc.                     .;cc:;;'::,,.. . ..,;l:;,;:,',:c:c:,....,.
                    .oOxdxocc;ll:::c:ccc:,'.   ...    .'''.           .. ..',,.   ldoo.                    ,l:....';,....,,,....,:c,',,,:lol;,,;,''.,.
                     ,llllc:.'xo:::::::;;;,..   ..     .,'.           .......,.   .xdx'   .            . .:oo;..    .,,....',,'.'.....,:loll:;;,,,'..,
                         ..  ckdlcc;;,;;;;;'.   ....   .,;,.         ..';,...,,.   ckd, ...           ..;ollxl.    .,...'.';;;;;;,. ..;clllc:::,,,'',,
                             'dxol:,.....;:,..........  .;:'.      .';cc:c:'',;,.  'kk;.''         ..;lodoodol;.  ........'';,'';:;,,',;cl:coc;,,',;,;
                             .,,;,..    .;c;..............;:.     .,oll;;;::;;cc;...xk:.'.........,:lxkxddxo;;c:...........',;,,,,,:lc:cllcldll;,,,:::
                           ..,'.'.... ..,cc;..............':;.....';'.....':c::c:;..xx:.,.,,.....,lxkkkxxxd:.,;:;'..  .....',,,;;;;:olccoddoool:,,,;;;
                           ..,,'.......':cl,''.............,;'.............''.':cc:,xd:,',... ..cxxdxxxolccc'.;:c:.     ...';:cccclclllodddoooc;'...''
                         ...';,,......,::lc,,'..............;;................,;;:cckdcc,'.....ckdolc:'.';;;..,::::'.....';cclllllooooddxxxdol:;,'..'.
                      .....';;,''cddlclc::c:,,'.............':,............'',;,,,,lOxx:'....':ccll:..  ......''',::,'',;;::clollooooodddolc::;,,'....
                    ......,;;,'.;oolldxdoc:;;c:,'..',;:cclooool:'.........',,:;,'''xOdxc....':c;..............,,,:cllllc::::cclllolcllolcccc:;;:;,....
                    .....';:,'..':c:colllc:;:ccc;,;clodxxdlcldxdd:........',;c;;..;Oklo:...';co;...........,:cl:;;clooooolcc;;ccllc:cclllccc:::cc;'...
                   .....';:,',cll:;;;;,';lollcloddoodddolc:lodddddl'.......,:l:;''dkxoo;.';::lo;..','...';clc:,''':cloooooooc;:cc:c:clllcc:cc:;;;,;;,'
                 ......',;;.;llcc,.'...'cxdll:cdxxddol:ccoodddolodxdc,.....',,:loxOxddl'',;::cc,'',:cc:;:llc;''';cc::clllooool::::cllcclc:;c:,''',;,''
                 .....',;,';xx;.,ll;....;oldxxxdddoool:oxdxxxdo:;;dxdoc,..:dxccxkkxdodl',,;;:::::cllloddolc;,',;cccccllcclllodl:::clcc:c:;,;,'.'',;,;:
                 .....,;,',;:;..,lc,....;:cdddoc;;;:lloxdokkxdc;,':dxxdo;;kkkxdxxdooll:.,,,;;cllllcldddl:;,,;:c:cc:::::::::codooclllc:;;;:','..,,;;:cc
                 ...',;;,,,,,,'''''.......lddol:...,;;;odkOOxo:;;,;codxdd,:OOkxxxddollc,;;:clooooolllc::;:::clc:cccccc:c:;;lodllloolc;;,,;,,'.',,,',;:
              .....';;,,,,,,,''''.........looolc'','''';odxxocccclll;:ooxl'okkOxddxdooolooddddolll:::;::ccccccc::llccccc:,,;::;:cclc:;;:;::,;;,''.'',,
              ...'',;,''',,,',;,'.........llcllc;;;..';lxkxdooolclll:;clxo..:xOxddxdodxxxkxdool:cc:::;::ccllccc::cc::::c:,,;,,,;:;,'...,;l:,:;;,.':ccc
                                                                                                                    ..,;,:. ..                        
                                                                                                                     ...':. ..                        
                                                                                                                     ....;. .,.                       
                                                                                                                      ...;, ...                       
                                         ..                                                                           ...,; ..                        
                                     .,::;,,,'.                                                                       ...,;. .                        
                                   .cOOxxo;,;;;;.                                                                      ..';. .                        
                                  .xK0dl::;'''....                                                                     ...;' .                        
                                  dX0xc;,..........                                                                    ...,; .                        
                                 .0KOd;.........  .                                                                     ..,:..                        
                                 ;KKdc,'.........''....                                                                 ..':..                        
                                 oKOdlloooodxxkxclxxdddolc;'''...                                                       ..';'                         
                                .kKkooxkkkdc;,oOo:ddc;,;oxxl::cclc;'                                                    ...,,                         
                               ';OOxxkkko:'....xkcoc,,';codc;:::cldxdl:,.                                               ...,;.                   .... 
                              ;,cKOkxdlcll;....oOoc.';coooo:;;,;;:;',::;:c;,.                                            ...;.       ..'',;;:c:;......
                           ..,kok0kd:'..',,;;,'xOd::loloolodxxl:c:.....'..:::;.                                          ...,.     .',,,,,,;:;;:lc;'..
                         ;ooclkO0Ox;'....'..;loOxodol;,;:;'',;cdkkdlc:;.....;::,.                                        ...'.    .;,,,',,,;;;;::clllc
                         ..   xOOkd,........'okkddol....''     .;dddc;col:,..,:c;'.                                       ...'  .',,,''.,,,,;;;cooooc:
                             .xkOkxc......';xOOkOkd'.. .'.       ......';oxdc.';c:;.                                      ...,. ',,,,''',,,;;',,;:lool
                             ;kkkxdl,...,odkkxkkkkOxc'...            ..:,.':xx:,:cl:.                                     ...'. ';;,,,,,,'''...'''':lo
                            .xkkkdlo;:,..:d0Oxxxxdkx;,,'..           ..:o:...,dx:;:l;                                     . .';.;;,,;;;,'....'..''',,'
                          .:dkxkOkxdloo;..'lxddoo:,..','..            ...;c,. .:k:;cl'                                     ...:,;;,,:;,,..';;,'...',,.
                        .:dxxxxdxxdolloo:..  ...     .','.            ....;c;.  ;klcl:.                        ....        . .';::;;;;;;.',:;;,...'.''
                     .:xkOkdooollcccccllc;.           .,'.             ...',;,   'xlll.                     .'clc;;';c;,.. ....,;c:;,;c;.,:c:c:,..'.,.
                     oOxxxocc:cl:::c:ccc:;'.   ...    .'''.           ..  .'',.   cxlo.                    .c:'...,::'...,,'....,:c;';;,;col;,,;;'.',.
                     ;oollcc..do:::::::;;;,..   ..     .,'.            ......,.   .ddx,   .            .  ,od;.     .',.. .',,..'.....,:loolc;;,,,'.',
                        .... :kdlc::;;;;,;;'..  ....   .';,.          .'''...,,.   :kx; ...           ..,lolxl.    .,'..''',;;;;;,.  .,clll:c::,',',,,
                             'dxol:,'....;:,..........  .;:'.       .,:c:c:'',;,.  .kx:.''.         .'codooddo:.   .......',;;'';:;''',;:lcclc:,,',;,,
                             .;;:;..    .;c;..............;:'     .'looc;:c:,,:c;...dkc'.'........';lxxxdoxd::c:. .........',;,,,,,;lc:cclllolc:,,,;::
                            .''.'...  ..'cc;...............::... .':;'....';c:cc:;..okc,'.,,.....'cdxkkkxxx:.,;:;'... .....';;,,;;;;loccooooool:,,,;;;
                           ..,,'.......';:l;.'.............,:'. ..'........,,'':cc;.okc,','.. ..;dxoxkxdolll,.;:c:.     ...',:cccclclolodddoloc:,..'''
                         ...';;,......,::lc,,'.............';;................';;:cckxcc;'.....cxxdlll;'';::'.';cc:'.....',:clllllolooddxxxdolc;,'..'.
                      .....';;;'':loccc:;cc:,,'.............':,.............',;,,,,lOxdl,.....:clooc,.........'',;;:;..,,;:cclolloooooddddocc:;,,'....
                    ......';;,'.;looldkxoc:;;::;'...,;:cccooodl;'.........',,:;,'..oOxxl'...';c:'''...........,,,;clllcc::::cclllolclloolc:cc:;;;;'...
                    .....';:;''.'cc:coool:;;::c:;,;clldxxdlcldxdd:........',;:;;'.'kOlol...';co:...........':clc:;cloooooolc;;:cloc::clllcccc::cc:,...
                   .....';:,',cll:;;;;,,;lollcloddoodddolc:lodxxddl'.......,:l:;'.lOxoo:.',;:co;...''...';cllc,''':cllooooolc;:clcc:cllllcccc:;;;,;;,'
                 ......',;;';lll:,.'...'cxdllccdxxddoocccoooddolodxdc,.....',;;:ooOkdoo,.,;::lc;.',:c::;:llc;,'';ccc::lllooool::c:cclcclc:;c:;,'',,,''
                 ......,;;';xx:.,ll;....;oldxxxddddool:oxdxxxdo:;;dxdoc,..,ldc:dkkxdodo',,;;:c:::cllloddolc;,',;cccccclcclllodl;::cllcccc;,;;'..',;;;;
                 .....';;',;c;'.,lc,...';:ldddoc;;;:lloxdokOxdc,'':dxxdo;,kkkxdxxxoolll',,;;;clllccldddo:;;,,;cccc:::::;:::loddoccllc:;;::,',..',;;:cc
                 ....,;;,,,,,,'''''.......lddol:...,;:;lxkOOxo:;,,;codxdd,:OOkxxxddolcl,,;:clooooolooc::;;;:clcc:ccc:::c:;;coollloolc;;;,;;,,.',,,',::
              .....',;;,,,,,''''''........looolc'.,'''';odxxocccclll::ooxl.oOkkxddddooolooddddolllc::;;:ccccccc::llccccc:,,;::::cllc:;;:;::,;;,''.''',
              ...'',;,,'',,,',,,... ......llcllc;;;...:ldkkdooolclll;;clxd.'ckkdddxdodddxkxoolc:cl:::::cccllccc::cc:::cc:,,;;,;;::,'...,:c:,;;;,.';:cc
                                                                                                                     .';';. .'                        
                                                                                                                     ...';. .'                        
                                                                                                                     ....,' .''                       
                                                                                                                      ...,, .'.                       
                                         ..                                                                           ...,:. .                        
                                      '::;,,,'.                                                                        ..':. .                        
                                   .cOOxxd:,,;;;.                                                                      ...;, .                        
                                  .dKKdlc;;'''...                                                                      ...,; .                        
                                  oK0kl;,..........                                                                    ...,:..                        
                                 .OKOd:'.........  .                                                                    ..':..                        
                                 ,KKxc,'...............                                                                 ..';..                        
                                 lX0dlooolooddxxclxxdddolc;'''...                                                       ...,,                         
                                .xKkoldkOkdl;,lOd:ddl:,;oxxlc::ccc;.                                                    ...,;                         
                               .;OOxxkkkdc,'...dkcol,,';cldc::::cldxdc;'.                                                ..,:.                   ...  
                              ;;c0Okxdlcll;....lOdl'.;:loooc;;,;;:;,,:;;:c;,.                                            ...;.       ..'',;;:c:,......
                           ..'xox0Od:,..',,;;''dOxc;colodoodddl::c.....'.';::;.                                          ...,'     .',,,,,,;:;;:lc;'..
                         ,lollkO0Ox;'....'..;llOxdodo:;;c:,,,;cdkkdl::,.....;::,.                                        ...''    .;,,,',,,;;;;;:cllcc
                         .'.  oOOkd,.........cxkddol'...''.    .;dddl:col;'..,::;,.                                       . .'  .',,,''.,,,,;;;coddoc:
                             .dOOkxc'.....''dOOkOkd'.. .'.       .',...':oxd:.';cc;.                                      ...'. .;,,,'''',,;;,,;;:lool
                             'kkOxdo,...'lokkxkkkkOxc'...            ..:,.':dx:,;cl:.                                      ..'. ';,,,,,,','....'''';lo
                            .dkkkdoo;:,..;dOOxxxxdkkc,,'..            .;o;...;ddc;:l;.                                     ...;.;;,,;;;,'....'..''',,'
                          .,dkxxOkxdcoo;..'lxxdddc;..','..            ..':c,. .:kc;:l,                                     ...;;:;,,:;,,..';;;'...',,.
                        .,oxxxxxxxxoolll:..  ....    .','.            ....;c;.  ,kocl:.                         ...        ...':::;;;;;;..,:;;,'..'.''
                      ,ox0kddooollccccloc;.    .      .,'.             ...',;,   'xlcl.                      .;ll:;'';;,.  ....':c:;,;c;.';c::c;....,.
                     lOxxxdll:cl:::::cccc;'.   ...    .'''.            ....'',.   ;xlo,                    .;c;...':c;...,'.....;cl,,;;,,clo;,,;;'..,.
                     ;dolllc'.oo:;::cc::;;,..   ..     .,''            ......,.   .odd:   .               .ld:.    ...,....','..''....':clooc;,,,,''.'
                       ..... ;kdc::;;;;;;;;'..  ....   .',,.          ..'....',.   ;kdc....           ...;ooxo.    .';..''',;;;;;,.  .,:llocc::;',,',,
                             'xxolc;'..'.,:,..........  .,:'.       .';:cc:'',;,.  .dkl..'.         ..cloooddo;.   .......',;;'',;;''',;:cc:oc:,,',;;,
                             .;::;..    .,:;..............;:'      .codl;:c:,,:c,...lOl'., ........,cdxxdoxd::c:. .........',;,,,;;;cc;cclllool:,',;::
                            .''.....  ...:c;...............:;......;:;'...,:c:clc;..cOl,''.,'....,codxkxxxxc',;:;...........,;;,,,;,locclooloolc;,,;;;
                           ..,'.'... ...::c;''.............,:'. ..''.......,;,'::c;.lkc;,',.....,oxoxkxxolol,.;;::'.     ...,;:::ccclolodddoool:,..'''
                         ...';,,......';ccc,,'.............';;................';;cl:dkcc;,.. ..:dxxoloc;,;;:;.';:c:'......,;:clllllloooddxxdooc;,'..''
                      ......,;;'';cl::c:;cc:;,'.............':,.............'';,,,;cOxol;.....:cldol;.. .......',;::,..',;:cllllloooooddddocc::,,'....
                    ......',;;'.;ldoldxxoc:;;::;'..',,;:ccloool;'.........',;;:,,'.cOxxo,....;c:',,'..........,,,;clllcc:::;:clllolclllolcccc:;;;;'...
                    .....';:;'..'cl:codolc:;;cc:,,;:lloxxdlcldxdd:........',;c;;'..xOool'...;cl:...........';clc:;cllooooolc;;:llolcccllllclc::cc:,...
                   .....';;;,,cll:;;;;;,;llllllodooodddooc;lodxxxdl'.......,;l:;'.:kkooc'.,;:co;...'....',;llc;,'.;llloooool:;:cccc:cllllcccc:;;;;;;,'
                 ......',;;,;cllc,'''.''cxdll:cdxxddooccclooddolooxoc,......,;::cckkxoo;',;:cll;'',:::;,;cll:,.';cccc:llloooolc:c::clcclc:::c:,'',,,',
                 .....',;;';xx:.'lc,....;olddxdddddool:oxdddxdo:;;dxdoc,...:o:;dkOkdddo,,,;::c:;::clllooool:,.';cc:ccclccloloxl;:;:llcccc:,,;,'.',;;,;
                 .....,,,',;c;'.,lc;...';:cdddol:;:clooxdokOxdc,,':dxxdo:,xkkxoxkxdolll',,;,:clllccloddoc:;',;cccc:::::;;::codoocclllc;;;:,,,..',,;;cc
                 ....,;;,,,,,,''','......'lddol:...,;::lxkOOxo:;,',codxxd;:kOkxxxddolll,,;;clooooooool:c:;,;clcc:ccc::::c:;:looloooll;;,,;;,,..,,;',:c
              .....',;;,,,,,''''''........looolc'.,'''':odxxocccclll::odxl.okOkxddddoollloddddolllc::;;:ccclc::c:clccccc:,,;:cc;lllc::;::;:,;;;'''''',
              ...',,,,,'',,,'',''.. ......llcolc,,;...:ldkkdodolclll;;cldd''okkdddxdooddxkxdooc:cl:::::c:cllcccc;cc:::cc:,,;;,,,::,'...':c:;;;:,..,::c
                                                                                                                     ..:';, .'.                       
                                                                                                                     ...';, .'.                       
                                                                                                                      ...,;  .'                       
                                                                                                                      ...';. .'                       
                                         ..                                                                            ..,:. .                        
                                      ,cc;,,;'..                                                                       ..';' .                        
                                    :kOxxd:,,;;;.                                                                      ...,; .                        
                                  .dKKxlc;;'''....                                                                     ...,:..                        
                                  lX0kl:,'.........                                                                     ..':..                        
                                 .kKOd:'.........  .                                                                    ..';...                       
                                 .0Kxc,'...............                                                                 ...,'..                       
                                 :K0dllollloddxxclxkdddoc:,'....                                                        ...,;                         
                                .dKkdldkOOxl:;lOd:dxl:,;oxxoc::cc:,.                                                     ..';.                        
                               .,kOxxkkkdc,'...dkcol;'',:ldl:cc::ldxoc;'.                                                ..';.                    ..  
                              ,:;00kxdolol,'...cOdl,.;:loooc;;,;;::;;c;:cc;'.                                            ...,.       ..'',;;:c:;'.....
                            ..dox0Ox:,..';,;;''oOx:;:llodoodddl;;:.....'..:c:;.                                          ...''     .',,,,,,;:;;:lc;,'.
                         'collkO0Ox:'....''.;olOxddddc;:c:,,;:cxkkol:;,.....;::;.                                         ...,    .;,,'',,,;;;;::cllcc
                         .,.  lOOOd;.........:xkoxoo,...''.    .;dddlcloc;'..';:;,.                                       ...,. .',,,''.,,,,;;;coodoc:
                              dOOkxc'......'lO0kkkd''. .'.       .,;'..';odo:.';c:,.                                      ...,. .;,,,'''',,;:,,;;:lool
                             .xkOxdo,....coxkxkOkkkdc'...            ..;'.,cxx:';cl:.                                      ...'.,,,,,''',,''...'''';lo
                            .oOkkdol;:,..;dOOxxxxxxOl,,,..            .;o;. .,ddc;cl;.                                     ...;.;;,,;;;,,....'..''',,'
                           'okxxOxxdloo;..,okxxddl:...,,..            ..':c,  .;xc;:l,                                     ...;:::,,;,;,..',;;'....','
                         'lxxxxxxxxoolll:.. .....    .','.             ...:c;.  'xo:cc.                          ..        ...':cc;;;;;;..,;;;;'....''
                      'lx0kxdooollcclclol:.           .,'.             ...',;;   .docl'                      .'coc,'''''.    ..':c:;,,c:'';c::c;....'.
                     ckkxxdllccl:::::cclc;'.   ...    .'''.            ....',,.   ,xlo;                     'c:'..':cc..',......;ll;,;:,,:lo;,;;;'..,.
                     :xdollc,.lo:;::ccc:;;,..   ..     .,,'           .......,'    oddc.  .               .:dc.    ...'....','...,'...';coolc;;,',,'.'
                      ...... ,kdlc::;;;;;;:'..  ....   .',,.          .......,,.   'xdl.  .            ..,ldxo. .   .,''''',;;;;,,.  .,:cllcc::;,,''',
                             'xxolc;,..'.;:,..........  .,:'.       ..,:cc;'',,,.  .dxo..'.         ..;cldodxo;.   .'.....',:;'',;;'..';:cl:oc:;,'';;,
                             .:lc:,.     ,:;..............;;'.     .:loo:;c:,';c,.. cOo'',...... ..,:oxddoxxc:l:. .........',;,',;;;c:;:clllool:,'',::
                            .''.'...   ..:c;...............:;......,c:,.',,;:;clc;..:Ol;''.''....':odxkxxxxc',;:;...........,;;,,,,,:occlooooolc;;;,;;
                            .,'''.......;:c;''.............,:'. ..',.......,;;,:::;.:kl;,';.....,ldookxxdodl,.,:::'.   .....,;::::cclollodddool:,''.''
                         ...';,,.......;:cl,,'.............';;.................;::c:okc:;,..  .:dxxdodl:;;;::..,cc:.......';:cllllllooodxxxdooc:;'...'
                      ......,;,'',:c::::;cc:,''.............':,.............'';,,;;cxkdo;.....,llddl:,....',...',;::,..',;:clllllloooodddddlcc:,,'....
                    ......',;;'.;oddodxdoc:;;::;'..',,;:::cllol;'.........',;;:,,'.:Okxd;....;c:',;,..........,,,;cllccc:::;:cclllllllloocccc;;,:;'...
                    .....';:;'..,cl:coddl:;,;c::;,,:looxkdlcldxdo:........',,::;,..oOdoo'...;cl:...........',clc:;:llooooolc:;:llllc:cllllccc::cc:;...
                   .....',;:,,:cc:;:;;;;:clllcllldooodddoc:loddxxdl'.......,;c:;'.,kkool'.';:lo;...'....'';llc;,'';clloooodlc;;cllc::clllccccc:;;;,;,'
                 .......,;;,;cllc,.'''',cddll:coxxddooccclodddolooxoc'......,;::c;xkxoo:'';;:cl;'.,;::;,;ccl:,'.,ccc::loooooolc:ccccccllcc::c:,'',,,,'
                 .....',;;':xx:''lc,....;olddxdddddoll:lxdxdddoc;;dxdoc'...'l:;oxOkxdod,,,;::cc:;:llllooool:,'',:c:ccclccllloxo;:::llcccc:,,;''.',;;,;
                 .....,,,'';c;'.,ll;...';:cddxol:;:clooxdlxOkdl;,':dxxdo;'dkkxldxxdoolo,,,,;:lllcccloddoc:;,,;cccc:::::;;::lodolc:llc:;;;:;';'.',,,;:c
                 ....',;,,,,,,''','......'lddol:...,;::oxkOOxo:;'',codxxd;ckkkxxxddolcl,,,;clooooooool:c:;,;:ll::cc:::::c:;:llloolool:;;,;;,;'.,;;,';c
              .....',;;,,,,,''''''........looolc'.,,''';odkkolccccll::odxl.lOOkxddddoolcloodddollolc:;;::cclcccc:clcccc:c,,;clc:llll:::::;:;;;;'''''',
              ....,,,,,'',,,'',''.. ......llcolc,,;'..:ldkxdooolcool;;cldd';dkkxddddooddxxxdool::l:;;::cccllc::c:cc:ccc:c,';,,,;:c,,...';cc;,,;,..,:::
                                                                                                                     ..:,;;  '.                       
                                                                                                                     ...',;  ..                       
                                                                                                                      ...,;. .'                       
                                                                                                                      ...':. .'                       
                                         ...                                                                           ..':' .                        
                                      ':c;,,,'..                                                                       ...;; .                        
                                    :kOxxdc',;;;.                                                                      ...,:..                        
                                   oKKxlc;:'''....                                                                      ..,:...                       
                                  cX0kl:,'.........                                                                     ..';...                       
                                 .xKOdc'.........  .                                                                    ..','..                       
                                 .OKkl,'....... ......                                                                  ...,,..                       
                                 ;K0dlllllloodxdlldxdddoc:,'....                                                         ..,;.                        
                                 lKOdlokkkxoc:lOd:oxl:,;oxxoc:;cc:,.                                                     ..';.                        
                               .'x0xxkkOxc,'...oOcoo;'',:ldo::c::ldxo:,..                                                ..';.                    ..  
                              ':;O0kkdolol;'...:0dl,.,:clooc,;,;;:c;;c::c:,'.                                            ...,'       ..'',;;:c:;'.....
                            ..dodKOxc;..';,;;'.oOxc;:llodoodddc;;:.....'..;c:;.                                          ...',     .',,,,,,;:;;:lc;,'.
                         .:lloxO0Ox:'....''.,lcOkddodl::lc;;:clxkxoc:;,.....;::;.                                         ...,.   .,,,'',,,;;;;;:cllcc
                         .,.  cOOkx;.........:oOoddo,...''.    .;dddocloc;'..';:;,.                                       ...,. .',,,''.,,,,,;;coodoc:
                              lOOkxc'.......ckOkkxx,'. .''      ..,:,..':odo:.';c:;.                                      ...'. .;,,,''',,,;;;,;;:lool
                             .xkOxdo;....:odkxkOOkOdl'....           ..;'.'cxx;',:l:.                                      ...' ,,,,,''',,,'...'''';ll
                            .lkkkdoo:;,..;xO0xxdxxxko,,,'.            .;l,. .;ddc;:l:.                                     ...,';;,,;;;,,....'..''',,'
                           .lkxxkxdxloo;..,oOkxddl:,..,,..            ..,:c'. .;kl;:l;                                     ...,c::,,;;;,...,;;,....','
                         .cdkkxxxxxdolll:.. ......   .','.             ...:l;.  'xd:ll.                           .         ...:cc;;;;;,..'::;;'...'''
                      .:oOkdddooollclclol:.    .      .,'.             ...',;;   .docl,                       .;cc,....'.   ...'cl:;;;:;..;cc:c;'...'.
                     :kkxkdlllclc:::::clc:'.   ...    .'''.            .. .'';.   'xlo:                     .:c;'.,::c,.',... ..;ll;,;:;';ll:,;;;''.,.
                     ckdoolc,.co::::ccc:;;,..   ..     .,''            .....','    cddl.   .            .  ,ol.    ........',,...;,...,;:looc;,,',,'.'
                      ...... 'xdc::;;,;;;;;,..  ....   .',,.          .......',.   .xdo.  .            ...:oxd'..   .',''.'',;:;,,.  .':clolc::;,,,',,
                             'xxocc:,.',';:,..........  .,:'.       ..';c:;'.';,.  .okd..'.          .,ccoodxd;.    ''....',;;,,,;;'..';:cl:lc:;,'',,,
                             .:llc;..    ':;..............;:'.     .,cld:;c:,';:,...:Od'.,. ...   .';lddoddxlclc.  .'.......,;,'';;;:c;:cclloolc,,',;:
                            .''.''...  ..:c;...............:;......'ll;,,,,::;:lc;..,Oo;.'.''....':lodxxxxxl'';;;..'. ......,;;,,,,,:occcooooolc:;;,;;
                            .''.'.......,:c:''.............,:'. ..';'......,:;,:::;.,Oo;,','....'ldlokxxdddl,.,:::'.   .....,;;:::cclollldddool:,''.''
                         ....;,,'......,:cl;''.............';;.................;::c:cOl:;,... .;oxxdoddl:;;::'.,:l:'......',:cllcclooooddxkdooc:;'...'
                      ......,;,''';;,,:c;cc:,'..............':,.............'',;,,;cdOoo:'....,lodooc;....,;'..',:::;..',,:clllllloooodddddolc:;,''...
                    ......',;;,.;oxxodxdlc:;;::;'..',,,;;:cllll;'.........'',;:,,'':kkxd:....,c:'::;'.........',,;cllcc::;;;:cllloollllool::c:;;:;,...
                    .....',;:'..,cl:coxdlc;,;:::,',:cloxxdolldxxd:........',;::,,..lOxoo,...,:l:............,:llc::cloooollc;;:clloc:cllllccl:;:cc;...
                   .....',;:,,ccc::::;;;:ccllclllooooddool:loddxxdl'.......,;::,'..kkdoo,..,:co:'.......'',:lc:,'.,clooooodl:,;cllc::clllccccc:;:;,;,.
                 .......,;;,;cllc,''''',cxdlc::oxxddooccccoddoolooxo:'......,::::,okxoo:'';::cl:'.';:;,,,cccc;'.,:ccccloooooolc:cc:ccclllc::c:;,'';,,'
                 .....',;;,;xd:',cc,....;olddxxddddool:lxxxxddoc;:okdoc'....:;,ldkOxdod;',;::cc:;:clollllol:,'',:ccccclcclllodo::::clccccc;,;,,'.',,,;
                 .....',;,';c;..,ol;...,;ccdddol:::clloxdlxOkdl;,':xxxdo;'lxkxlxxxdoolo,,',;:llllc:codxdlc:,,;:ccc:::::;;::loddoc:cllc:;;:;,,,.'',,;:c
                 ....',;,,,,,,''','......'lddolc...,;::oxkOOko;,,''codxxd;lOkkxxxddolcl,,,::cooooolodocc;;,;:cc:::::::::c:;:clloolool:;;,,:,,'.,,;,,;c
                ...',,,,,,,,''''''........looolc'.,,''':oxkkolccccclc:odxl'lOOkxxddoollcclodddollllc:;;::cclcc:::clcccc:c;,;cll:llllc:;::;:;;;;'',''''
              ....',;;,'',,,'''''.. ......llcolc,,;,'.;ldxxdloolcool;'cldx';kOkxxdxdooddxkkdool::lc:;;:cclllcc::::ccccc:c,';;;,;;c;;'..';cc;,;:,..';;:
                                                                                                                     ..:,,;  ..                       
                                                                                                                     ...',:. ..                       
                                                                                                                      ...':. ..                       
                                                                                                                       ..';. .,                       
                                         ...                                                                           ..';, .                        
                                      ':c:,,,,'.                                                                       ...,:..                        
                                    :kOxxdc,,;;;'                                                                      ...'c..                        
                                   lKKxlc;;''.....                                                                      ..';...                       
                                  :K0kl:;'..........                                                                    ..';'..                       
                                  dX0xc'.........  .                                                                    ...,,..                       
                                 .kKkl;''...... .....                                                                   ...,;..                       
                                 '0Kxolllcclolddlcoxdddoc;,.....                                                         ..';.                        
                                 cKOdloxkOkdcclkx:oxoc;;lxxlc::cc;'.                                                     ..';.                        
                               .'d0xdkOOxl;.'..lOcoo:,',:lddc:c::ldxo:,..                                                ...;'                        
                              .:,O0kkxolol;'...;0dl;.,;coool;;,;;:c:;:::c:,'.                                            ...',       ..'',;::c:;'.....
                            ..ooo0Oxl;'..;;;;'.l0kc,;lllooodddl;,:'....'..;::;.                                           ...,     .',,,,,,;;:;:lc;,'.
                         .:lllk00Okc'....''.,lcxkdodol::lc;;:codxxoc:;'.....;::;.                                         ...,.   .,,,'',,,;;;;;:cllcc
                         .;'  cOOOx;'........;lOddoo:...',.    .;dddololc,'..';:;,.                                       ...'. .',,,''.,,,,;;;cooooc:
                              cOOkxl'.......;kOOkkd;.. ..'.      .;c;..';ddo:..;c:;.                                       .... .;',,''',,,;;;,;:clool
                              dkOxxo;...':lokxkOkkOdc,....           ..,'.,lxx;',:l:'                                      ...'.,,,,''''';,'...'''';lo
                             ckkkxoo:;,..;xOOxxxxxxkx;,''.            .;l,. .;xd:::l:.                                     ...,,;;,,;;;,,.......''',,'
                           .ckxxkkdxlol;..,oOkxdxdc;..,,.'.           ..,cc'  .;xo;:l;.                                     ..'cc:,,;;;,...';;,....','
                         .:dkkxxkxxdoool:....'''..   .','.            ....;c;.  .dd::l.                                     ...:cc;;;;;,..';:;;,...'''
                      .;lkkxddoooolccllll:.    .      .,'..            ....,;;   .oocl;.                      .';:,......    ..'cl:;;,::..,:::::'...'.
                     ;kkkkdollllc:::::clc:,.   ...    .''..            .. .',;.   .xloc.                    .,cc;.,:;:;.,'......;ll:,,c:';clc,;;;,'.''
                     ckdlllc;.:o:;::cccc:;,..   ..     .,''.           .. ..','    :xoo.   .            .  .co'.   .'......',,...;,...';:lool;,,',,'.'
                      ...'''..xdc:::;;;;;;;,..  ...    .',,.           ......',.   .xdd'   .           .  ,oxd'..   ..,,....':;;,,.  ..;clolc:c;,,''',
                             'xxocc:;'',';:,..........  .,:'.        ..,::;..',,.   lkd,...          .';:oooxd;.    .,....',::,,,;;'..',:clclcc;,'';;,
                             .:ooc;..  . ':;..............;;'.     .';loc;l:,,,;,.  ,Ox;.'. .     ..,:odoodxoclc.  .'.......,;,'';;;::;;:clloolc;,',;:
                            ..'.''...  ..;c:...............:;..... 'lol;,;;::;;cc,. .Od;',.......':lodxxxxxo,,;:;...........';;,,,;,;olccooooolc::;;;:
                            .',.'.......,:c:...............,:'. ...,'......,::;:c:;..ko:,'',....'collxxxdddl,.,;:;'..  .. ..';;:::::collldddoolc;,'.''
                         ....;,,'......,::l;''.............';:..............'..,;:c::Oo::,'....,oddddxdocc::c'.,:c:'.......,;:llcclolooddxxdool:;'...'
                      ......,;;,.',,,,:::cc:,''.............':,.............'',;,,::oOol:'....,llxdoc:,...;;;...,:::,'.'',;cllllllooooddddxolcc;,''...
                    ......',;;,.;oxxoodolc::;:;,'...'',;;;cllll;'..........',,:,,'';kOxx:....,::,:cc,..........,,;:llc:::;;;:cllllolclooolccc::;;;,'..
                    .....',;:,..,ll:coxdoc;,;:::,'';cloxxxolldxdo:........',;;:,,..:Oxoo;...,cl:..'.........,:llc::cloooollc:;:ccloc:cclllccc:::cc:'..
                   .....',;;;,clc::;::;;:clccccllooooddodl:coodxxdl'......',;::,,..dOdlo;..,:co:'........',:lc:,,''clooooodoc,,cclcc::lolccccc:;;:;;,.
                 ......'';;,;cllc,''''',cddll:coxxddoolcccoooddlooxo:'......':c;;'ckkooc'',::ll:'.';:;;,,:ccc;'.':ccccloooooolc::c:ccclllc::cc;,,',,,'
                 .....',;;,:xx:',cc,....;olddddddddoolclxxxxddoc::okdlc,....,;,cdkOxdod;.,;;:cc:;:clolcllllc;'',;::cccllclllldd::::cllcccc;,;;,'.',,,,
                 .....',;,';l:'.,ll;...';ccdddol:::clloddlxOkdl;,':xxddo:.:okxcdkxxdood;',;;:lllc::codddlcc,,,:cccc::::;;::loddoc::llc:;;:;',,.'',,;:l
                 ....',;;,,,,'''','......'lddolc..',;c:oxkOOko;,,.'codxxd;lOkkddxxdolcl,,,::cooooooooolc:;,,:clc::c:::;:::;:cllooloolc;;;,:,;,.',;,,;c
                ...'',,,,,,,''''''........looolc'.''',':dxkkolccccclc:odxo'lkOkxxxdoollccloddddolllc:;;;:cclcc:::clcccccc;,,:llccoolc::::;:;;;;'',''''
              ....',,;,'',,,'''''.. ......lllolc,,;''';ldxxdloolcool:,:oxx',kOOkddddooodxkkdool:;ll:,,;ccclllc:::;c:ccccc;',;;:;;c;;''.';cc:;;:,'.';;;
                                                                                                                      .,,,:. ..                       
                                                                                                                      .''':. ..                       
                                                                                                                      ...':' ..                       
                                                                                                                       ..',, .,.                      
                                         ....                                                                          ..';:..                        
                                      ':c:,,,,'.                                                                       ...,:...                       
                                    ;k0kddl,,;;;'                                                                       ..';. .                       
                                   lKKklc;:,......                                                                      ..';' .                       
                                  ;KKkl:;'..........                                                                    ...,, .                       
                                  oKOdl,.........  .                                                                    ...'; .                       
                                  xXko;''......  ....                                                                    ..';..                       
                                 .00xolllcccllodlcoxdoooc;,....                                                          ..';.                        
                                 ,0OxlldkOkdlclkx:lxoc;;lxxoc:;:::'.                                                     ...,'                        
                               ..o0xdxOOxo;''..cOlldc,',:lodc:c::lodl:,..                                                ...,,                        
                              .:'k0kkxoloo;'...,Odo:.';:lloc;;,;::c:;cc:c:,'.                                            ...';       ..'',;;:c:;'.....
                              col0Okl:'.';;;;'.:0kl,,cllooooddl;';,....'.';c:;.                                           ...,.    .',,,,,,;;;;:cc:,'.
                         .,clok00Okc,....''.,l:xOdoddoc:cc::clodxxo:;,......;::;.                                         ...,.   .,,,'',,,;;;:;:ccccc
                         .:'. :OOOx:'........;ckddoo:...';.    .;dxdolol:,'...;:;,.                                       ...'.  ',,,''.',,,;;;cloooc:
                              :OOkxl'.......'dOOxkxc..  .,.      .;l:..':dol:..,::;.                                       .... .,',,''',,,;;;,;:clool
                              okOkxd;....;lokxkOkkOdc'....           ..,'.;cdx;',:c:.                                      ...'.,,,,'''',;,''..'''';ll
                             ;kkkxoo:;'..;xk0xxxxxkkk;,''.            .,c,. .;dd:::cc.                                     ...',:;,,,;;,,.......'''','
                           .:xxxkxdxcoo;..,dOOxdxdo:'.,,.'.           ..;cc'. .:xo;;l:.                                     ...cc:,,;;;;...',;,...'','
                         .,okkxxkxxdoool:....,,,'.   .',..             ...;c;.  .dd:cl'                                     ...:l:;,;;;'..';:;;,...'''
                      .,ckOxdddoooolcllll:.    .      .''..            ....;;;.   ldcl:.                       .,;,... .     ..'cc:;;,:;..,:c;::'.....
                     'xkkkxollllcc::::clcc,.   ...    .''..            .. .'';.   .dllc.                     .:c:,,;,;:,,,. ....;ll:,,c:';clc,;;;,'.''
                     ckxoolc;.;oc;::cccc:;,..   ..     .,''.           .. ..','    ;xod'   .               .:o;..  .,,.....','...;;'..,,;lool:,,',,'''
                      .'',,,..ddlc::;;;;,;:,..  ...    .',,.           ......',.   .ddx;   .              .ldx,. ..  .','...';;;,,.  ..;:lolccc:,''','
                             .xxlcc:;,',,;:,..........  .,:'.         .';;,..',,.   :kx:....          .;;:odxx:.    .,,...',::,',;;,..',:cllllc;,,',,,
                             .cddl:'.  . ':;'.............;:'.     ..,:oc:c:,',;,.  'Okc.''        .':oooddxollc.   ''......';,.',;::c,,:clllolc;,'';;
                            ..'',,...  ..;c:...............:;...  ..colc:;:::;;cc,. .kx:''........;coddxddxd:,;:;............;:;,,,,;olccoooloolc:;;:;
                            .','''... ..':c:'..............,:'.....,,.....'':c;cc:;..xdc,'.,'...'coccoxxxxxo'.';:;'.. ... ..',;;:::::olclddooooc;'''''
                         ....,,,'......'::l;''.............';:.............'''.,::c:;ko::,,....,oooldxxdlc:cc,.,:cc,.......',:cllccooooddxxxdoo:;''..'
                      ......';;,...''';c;cl:,''.............':;..............'';,,::lOdc:,....,loddolc:'.';::'..,:::,'..',;cllllllooooodddxdllc:,,'..'
                    ......',;;,';lxxdodolcc:;;;;'...''',,,:ccll;'..........',,;;,',,dOxxc....':c,col:..........',;cllc:::;;;:cllllolllloooccc::;;,;'..
                    .....',;:;..,llccdxdoc;,;:::;'';cloxxxolodxdo:........',;;:,,'.,Okod:...':l:'.'.........',cll::lllooollc;;:cclll:cclllcccc::c::,..
                   .....',;;;,:cc::::::::cc:c:cllooolodddo:cloxxxxl.......',;::,,..cOxlo;..':co:.........',:llc;,.'clooooodoc,,:llcc::coolcccc:;;:;,,.
                 ......'';;;;cllc,''''',cdolc:coxxddoolcccododdlodxo:'......,cc;;';kkdoo,.,;:ll:'.',;;;,,;ccc:'.'::ccclooooool:::c:cccclll::cc;,,,,,,'
                 ......',:,;dxc,,c:,....;oldddddddooooclxxxxdddc::okdo:'....',,codkkxodc',,;:cc:;:cllc:clll:;'',;:c:ccllcllooddc;::clllccc:,;;,,'',,,,
                 .....',;,':l:..'ll;...,:ccdddolcccclllddldOkdl;,':xxxdo:',lxxcoxkkddod;,,;;:lllc::cloxdolc;,,:cccc::c:;;;:clddo:c:llc:;;:;,,,'.'',;:c
                 ....',;,,,,'''',,'......'lddolc..',;ccoxkOOko;,'.'codxxd;cOkkddxddoocl,,,;:coooooolooll:;,,:clc::c;;;;;::::clclooooll;;;;:,,;.';,;,;c
                ...'',;;,,,,,'''''........looolc'.''',':dxkkoocc:cclc:odxo'lOOkxxddoocl::loddddollllc:;;:::llc:::cccc:::c;,,:cllcooolc;::;:;;;;,'''.',
              ....',,;;;,,,,,'.''...... ..lllolc,,,''';ldxxdllolclol;':oxx,,kOOkdddooooddkkxoolc:ll:;,;ccloolc::::ccc::cc,';;:c:;:;:,''':cl:;;;,'..,,,
                                                                                                                      .';,:. ..                       
                                                                                                                      ..'':' ..                       
                                                                                                                      ...';; .'.                      
                                                                                                                       ...,:..''                      
                                         ....                                                                          ...,c...                       
                                      ':c:,,,,'.                                                                       ...':' .                       
                                    ;k0xddo;,;;;'.                                                                      ..';' .                       
                                   cKKklc;;,......                                                                      ...,, .                       
                                  ,K0ko:;'..........                                                                    ...,; .                       
                                  cK0xl,.........  .                                                                     ..';..                       
                                  dKOo;,'......  ....                                                                    ..';..                       
                                 .OKkollllcccllolcoddoooc;'....                                                          ...;'                        
                                 '0OdlldxOOxoclkx:lxdc;;lxxoc:;::;'.                                                     ...,,                        
                               ..l0kdxOOko;''..:Olldc,',:lodc:cc:lodl:,..                                                ...',                        
                              .:'d0kkxdooo;'...,Oxoc'',:lool;;;;:cc:;cc:c:,'.                                             ...;.      ..'',;::c:;'.....
                              coc00kl:'.';;;;'';OOl,,cllodlodoc;';,...''.';c:;.                                           ...,.    .',,,,,,;;;;:lc:,'.
                          ,;llk0O0Ol,....''.,c:dOxooooccloc:cloxxdo;;,......;::;.                                         ...'.   .,,,'',,,;;;:;:ccccc
                         .c;. ;OOOk:'........,:kxoodc...',.    .;dxdoooc:,....;::,.                                        ...'  ',,,''.,,,,;:;:loooc:
                              ;OOkxl,........lOOxkdl'.  .,.      .:lc,.':doc;..,:c,'                                       ...' .,','''',,,;;:;;:clooc
                              lkOkxd:...',cckxkOkkOxc'....          ...''.;ldd;',:l:'                                      ...'.,,,''''',;,''..'''';lo
                             ,xkkkoo:,,..;xk0kxxxxkkO:,''.            .,c,. .:dd;;:cc'                                      ...,:;,,,;;,,.......'''','
                            ,xkxkkddloo;..,d0Oxdddoc,.,,.'.           ..;l:.  .:xo;:c:.                                     ...:c:,,;;;;...',;,'..'','
                          'lxxxxkkxdoool:....,,,,..  .',...            ...;l;   .ox::l,                                     ...:oc;,;;;,...,::;,...'''
                       ';dkxdddoooolcllll:.    .      .''..            ....;:;.   cxclc.                        .,'..        ..'cl:;;;:;'.':c:::,.....
                     .dkkkxooollcc::::cllc,.    ..    .''..            .. .',;.   .doll'                     .,cc:,;,,:,,,.  ...;ll:,,cc,,:ll;;;;,'..'
                     ckxoolc:.,oc;;:cccc:;,'.   ...    .,''.           .....','.   ,xod;   .                ,lc'.  .;,,....,,'...;:'..,,,cool:;,',,,''
                      .,,,,,..oxlc::;;;;;;;,..  ....    ',,.           ......',.   .odx:   .            . .:dx,.     ..;'...';:,'''. ..,:lolc:::,''','
                             .xxlcc:;,,;,;:,'.........  .,:,.         ..,,'..',,.   ,xxl....          .,;;ldxxc.    .';'..',::;,;;;,...,:cllll::,,',,,
                             .cxdlc,.. ...:;'.............;:'.      .';ll:cc,',;,.  .kkc.',        ..;looodxdllc.   .'......';,..,::;:;,;cllloll:''',;
                             .,,,;..   ..,c:...............;:.......;ool:;:c:,,:c,. .dk:''........,cooxxddddc,;:;. .........',:;,,;,,llccoooloolc:;;::
                           ..',.''... ..':c:'..............,:,.....';,'...',:c;:c:;..dk:;'.,'...'col;lxxxxxo,.,;:;....... ...,;;;::::olcloddlooc;,''''
                          ...,,''......';:c:''.............';;.....'.......'''',::c:'dd::',....'locclkxdoc:cc,.';cc,. .....',:cllccllooodxxddoo:;,'..'
                      ......';;,'....';c:cl:;,..............':;...............',,;:cckdc:;.. .'lldxdolc;'',::,..,:cc;'..'';:clllllooooodddxxllc:;,'..'
                    .......,,:;',cxxoodoccc:;;;,'..'''',,,;ccll;'..........',,;;,',,oOxxl'...':c,cooc'.....''..',;cllc:;;;;:::lllloolllooolcc:::,,;'..
                    .....',;:;'.,llccoxdoc;,;:::,'.;ccoxxxdoloxdo:........',,;:;,'.'kkdxl....:l:'.',........',cllc:lllooolc:;;:cllllccccllcccc::c::,..
                   .....',;;;,:ccc:::cc::cc:c:ccllollddddoccloxxxxl........,,;c,,..;Oxllc...:cl:'........',;llc;,''cllooooooc,,:lllc::clolccccc:::;,,.
                 ......'',:;;cllc,''''',cdoll:coxddodolccclooddlodxo:'......,:c:;''dOdlo;.,;:cl:..'',;,,,,:cc:,.'::ccclooooool:::cc:ccclllc:cc:;,,,,,'
                 ......',:;;ddc,,c:,....;olodddddoooooclxxxxdddc::okdlc'.....'';ldxkxodl',;;:cc:;:cloc:clllc;'.',::cccclcllooodc;::clllccc:,;;,'''',,,
                 .....',;,';l:'.'oo;...,:ccdddolcccllllddldOkdo:,';xxxdo:'';ox:cxkkddodc,,;;:lllc::cloxxoll:,,;cccc::c:;;;:clodo:::cll:;;::,,;'.'',,:c
                 ....',;,,,,'''',,'......'lddolc..'';ccoxkOOko;''.'codxxd:cOkkddxxdoocl:,,::coooooooooolc:,,;cccc:c;;;;;::::clllolloll;,;;:;,;..,,;,;c
                ....',;;,,,,,'''''..... ..looolc'.''',':dxkkdocc::clc:oxdo,okOkxxxdooclc:coddddoolllc:;::::llcc::cccc:::c:,,;clllooolc:::;;:;;;,',,'',
              .....,,;;;,,,,'..''.........lllolc,';,'.;ldxxxllolcodl:'codx,,xOOkddddolodoxkxoool:ll:;,;cclool:::c:ccc:cc:,',;:c:;c::;'.';ccc;;:;''.',,
                                                                                                                      ..;':, ..                       
                                                                                                                      ..'';: ..                       
                                                                                                                       ..',:..'.                      
                                                                                                                       ...,c..',                      
                                         ....                                                                          ...,:...                       
                                      'clc,,,,'.                                                                        ..';' .                       
                                    ,k0xodo;,;;;,.                                                                      ..',, .                       
                                   cKKklc;;,......                                                                      ...,; .                       
                                  'K0Oo:;'..........                                                                     ..';..                       
                                  :X0xl,'........  .                                                                     ..';..                       
                                  oXOo;,'......   ..                                                                     ...;'.                       
                                  kKkdlllc:ccclolclddlooc;'....                                                          ...,,                        
                                 .OOdlloxOOxollkk:cxdl:;lxdoc:;;:;..                                                     ...,;                        
                                .c0koxkOko:''..;Oocdl,,,:lodc:cc:lodl:,..                                                ...';.                       
                               :,o0Okxdooo:'....kxol'.,:clol;;;,;:cc:cccc:'..                                             ...;.      ..'',;;:c:;'.....
                              ;d:00ko:,.';;;;'.,OOo,':llooooooc;',;....''':c:;.                                           ...,.    .',,,,,,;;;;:lc:;'.
                          ',cox0O0Oo,....''.,l:dOxdooolcloccloddxdl;;,......;;:;.                                          ..''   .,,,'',,,;;;:;:ccccc
                         .c;. ;OOOkc'........,;xxoodl. .';.   ..,dxxoooc:'....;::,.                                        ...'  ',,,'..',,,,:;:loooc:
                              ,OOkxl;........:kOxkdo'.  .,.      .clo;.,cdoc:..,::;'                                       ...'..,','''',,,;;:;;:clool
                              ckOkxd:....'::dxkOkkOx:,....          ....'.;odd;.,;l:,                                       ..'',,,''''',;,'''..''';lo
                             .xkkkooc;'..,xk0kxxxxkkkc,,'.            .'c'...:dd:;:cl,                                      ...;:;,,,;;,,.......''''',
                            'dkxkkdxloo;..,d0Okdxdoo;',,.'.            .;l:.. .:xo;:cc.                                     ...:l:,,;;;;....,;,'..'','
                          .cxkxxkkxdoool:...';;;;,.  .',...            ...;l:   .ox::l;.                                    ...,oc;,;;;,...,::;,...'''
                       .,okxddddooollllll:.   ..      .''.             ....;:;.   cdccc.                        .....        ..'cl:;,;:;'.';c:::,.....
                     .okkkkoooolcc::::cllc,.    ..    .''..            .. .',;.    odll,                     ..;cc;,'';,,'.  ...,ll:,,cc,':ll;;;;,''.'
                     cOxool::.'lc;::cccc:;,'.   ...    .,,'.           .. ..','.   .xod:.                   .cl:.. .;;;...'','...;c,..,;,:looc;,,,,,''
                     .,,,;;;..lxl::::;;;;;;,..  ....    ',,.           ......',.    lddl.  .            .  ,ox;.     ..,,...';:,''..  .,:looc:c:,'''''
                             .xxoc::;;,;,;:;'.........  .,:,.         ...,'..',,.   'kdo....          .',':dxkl..    .,,'.',:c;,;;;,...,;clollc:,,'',,
                             .lxdlc,......:;'.............;:'.      ..,clcc:'',;,.  .dxo.''.       ..,cooodxxloc.   .'......,;;'.';:;:;,;:lllool:''',;
                             .,;;;'..  ..'c:'..............;:.......,looc;:c:,,::,. .lOl,.' ......':lodxdddxl;;::. ..'.......,;;,,;,,ll:clooloolc;;;;:
                           ...,.''..  ...;c:'..............,c,.....'::,'.'',::;:c:;..lOc;'.','..':ol:cddxxxo,.';:;....... ...,;;;;;;;lolcoddlool:,''',
                          ...,;''......';:c:''.............';:.....'.......'',',::c:.oxc:,''....coc::xxdolclc,.';::,.......'';cllccllooloxxxdooc;,'..'
                      ......';;,'.....;c:cl:;,..............':;...............'';;:::kdcc;'....lolxdoloc,',;;;..':c:;'..'',:clllllooooddddxxolc:;,''.'
                    .......',:;',cddolooccc:;;;,'...''',,';:clc;...........',,;;,',;lOxdl'...':c,lool;.....,'...,;cllc:;;;;:;:lllloollooddlcc:::,;,,..
                    .....',,;;'.,olccoxdoc;;,:::;'.,:cldxxdlloxdo:.........,;;:;,'..dOxxl'...:cc'.,;'.......',:llccloloooll:;;::llll::ccllcccc::cc:;'.
                   .....'';:;,::cc:::cc::cc::::cclollodddoccloxxxxl'......',,;c,,..,kkloc...;ll:'........'';clc:;'';clooolodl;';lllc::clolccccc:::;;,.
                 ......'',:;;:llc,'','',coolcc:ldxddddlccclddodoooxd:'......':c:;..oOxlo;.,;:cl:'..',;,,,,:cc:,.';;:cclooooool:::cc:ccclllc:cc:,,,,,,'
                 ......',;;:ddc,,c:,....:oloddddddoooocldxxddddl::lkdl:'.....',;codOxddl,';;:clc;;clol::cllc:,.',::ccclllllolodl;:::llllcl:,;:,,''',,,
                 .....',;;';l:'.'oo;...,:ccddddoccclllldxldkkdoc,';xxxdo:'.,co;cdkkxdodc,;;;:cllc:::ldddolc:;,;:cc:::c:;;;::lodoc::cllc:;;:,,;,'''';;c
                 ....',;,,,,''''','......,cddolc..'';ccdxkOOko;,''.:odxxd::Okkddxxdoococ,;;:coooooooooool:;,;:ccccc:;;;;;:::cllcoololl:;;;:;,;'.,,;;,c
                 ...',;;,,,,,'''''..... ..lodolc'.'',,,:dxkkdocc::clccdddo,okOkxxxdooclc::oddddoolllc:;::::cllc::ccc:::cc:,',;cllloool:::;;:;;;,',,'''
              .....',;;;,,,,'..''.........lllolc,';,'';ldxkdllolcooc;':ddx,'xOkxxdddoloooxkxodolcclc:;,clllolc::c:ccccc:;;'';lcc:cc:;'',;:cc;;:;''.','
                                                                                                                      ..;':; .'                       
                                                                                                                      ..,',c....                      
                                                                                                                       ..',c. ..                      
                                                                                                                       ...'c...;                      
                                         ....                                                                           ..':' .                       
                                      ':lc;,,,'.                                                                        ..',, .                       
                                    'k0kddo;';;;,.                                                                      ...'; .                       
                                   :KKOoc;;;......                                                                      ...,;..                       
                                  .00Od:;,..........                                                                     ..';..                       
                                  ;X0ko;'.........                                                                       ...;..                       
                                  lX0d:,'......   ..                                                                     ...,'..                      
                                  xKkdlllc::::clc:loolll:,'...                                                           ...,,.                       
                                 .k0xllodkOkdlokkccxxlc:cdxoc;;;;,..                                                      ..';.                       
                                .:0kdxkOkdc''..;Oocdl;,';cdxl:c::cool;'.                                                  ..';.                       
                               ;'l0Okkxooo:'....kkll,.';clol;,,,;:clcclcc:,..                                             ...,.      ..'',;::c:;'.....
                              'o:O0ko:,.';;;;'',kOo;':clodooolc;',;...'''';c:;.                                           ...''    .',,,,,,,;;;:lc:;,'
                          .,clx0O0Od,....',.'c:lOxooodoclolclddddoo;,'......;::;.                                          ...'   .,,,'',,,;;;:;;ccccc
                         .lc'.,OOOkc,........,;dkoodo'...,.   ..;dxdoooc;'....;::,.                                        ...'  ',,,'..',,,;:;:loooc:
                              .OOOko;........,d0xxdo,.  .,.      .clol',cdl:;..,::;'                                       ...'..,','''',,,;;::::clool
                              ;OOkxd:....':;oxxOkOkx:,...'         .......:ldd;.,;c:,.                                      ...';;,''''',;,''''.''',co
                             .dkkkooc,'..,xk0kxkxxxOOl,''.            ..c'...:dd;,;cc,                                      ...;:;,,,;;,,.......'''','
                            .dkxkkdxlol;..;d0Okddxdo:',,...            .;l;.  .:xd;;cc'                                     ...;l:,,;;;;....,;,'...','
                          .:dkxxxkxdoool:. .,:::;;.  .',...            ...:l;  ..lx::l:.                                     ..,oc;,,;:;...,:c:,...'''
                       .'lkxxddddddolllol:.    .      .',..            ....;c;    cxc:l'                         ...         ..'cl:;,;:;'..,:c::,.....
                     .ckkkkdooollc::::cllc,.    ..    .',..            ....',;'    ldll;.                     .':l:;'.,,''.  ...,ll:,,:c,':cl:;:;,''.'
                     :Okoolc:''lc;;:cccc:;,'.   ...    .,,'.           .....',,.   .dooc.                   .;c:,...;:c. .'''....;c;..,:,:oooc;,,,,,''
                     .;:;:::' :xl::::;;;;;;,..   ...    ',,.           ......',.    :xdd.  .            .. .lx:.     ..',...';:,'''.  .,;cooc:cc,'''''
                             .dxol::;;,;;;:;'.........  .':,.         ...'....',.   .xdd'...          ..'.,oxkl....  .,;''',::;,;;;,...,;clollc:,,'',,
                             .lxdol;'. ...:;'.............;:'.      ..':lcc:'',;,.  .okd'.'.       ..':ooodxxooc.   .',.....,;;'.,;:;;;,,:lllool:,,'';
                             .';::,..  ..'::'..............;:.......':ldl;:c:,,;:,...cOo;.'........;coxxdddxo:;c:.  .'.......,;;,',;,cl::loocooll:;;;:
                            ..,'''.......;c:'..............,c,......:c;,'',,::;cc:,..:Ol;'..''..';ll::odxxxd,.';:;...........,;;;;;:;colcoodlool:;,'',
                         ....';''... ...;:c:,'.............';:.....''......',;,'::c:.ckl:,',....co:,;dxxdolll;.';::,........',:clcclloolodxxoooc:,'..'
                      ......';;,'.....,::cl:;,'.............':;................';;;c:xxcc;,....clcdxoooo:,,;:;..':c:;'...',;clllllllloddddxkdlcc;,'..'
                    .......',:;',codolol:ccc;;;,'...''','',::cc;...........'',,;,,,;:kxol,....;c,lddl;,....,,'..';cllc:;;;;:;clllloollodddlc::::;,,,..
                    .....'',;:,.;ooccoxdoc:,;:::;'.,:cldxxdlldddo;.........';;:;','.lOxdo'...;lc'.;:;.......'';clccllllllll:;;::llllc:cclllccc:cc::;'.
                   .....'';:;;::cc:::llcccc:;;:cccllloddxoccloxxxxl.......',;;:;,'.'xOool...,clc'.........',cll:;'';clooolodl;,;clllc:clolccccc:::::,.
                 ......'',:;;cllc,''',,,:oolcc:ldxdoddlccclodddooddo:'......,;c;,'.cOxloc.',:cl:'...,,,,,,:cc:;'';;:cclooooool:;:cccccclllc::c:;,,,,,'
                 ......',;;;ddc,,c:,....:ocoddodddooolcldxxxdddl::lkdl:'.....,;::llkkdoo;',;:clc;;:lol;:clcc:;''';:cccclcllolodl;:::llllllc,;:;,''',,,
                 .....',;;,:oc'.'oo;...':ccddddolcllooldxldOkdoc,';xxxxo:'..;l;:dxOxxodo,,,;:cllc::cloddolc:;,;:cc:::c::;;:cloddc:c:llc:;;:,,;,'''';;:
                 ....',;,,,,,'..','......,cddolc'.'';clodkOOkd:,'..:odxxd:;Okkdoxxxoolol;,;:cooooolloooolc;;;:ccccc:;;;;;;::coocoolool:;;;;:,;'.,,;;,:
                ....',,;,,,,,'''''........lodol:'.''',,:dxkkdocc:::llcdddd,oOOkxxxdolccc::lodddooollcc:;:::cclc::ccccc::c:;',;:cloodllc:::;:;;;,'','''
              .....',,;;,,,,''.''...... ..lololc;',,'.,ldxxxllolcooc:':ddk,'xOOxxdddollooxkxddol:clc:;;ccclolc::c::c::::;;,';cll:clcc,',;:cc;;;;'''','
                                                                                                                      ..,',c. ..                      
                                                                                                                       .,',c. ..                      
                                                                                                                       ...':' ..                      
                                                                                                                        ..';' .;                      
                                         ....                                                                           ..',; .                       
                                      ':ll;,,,'.                                                                        ..',; .                       
                                    ,x0kdoo:',,,;.                                                                      ...';.                        
                                   ;0KOoc;;;......                                                                       ..';..                       
                                  .OKOdc;,..........                                                                     ..','..                      
                                  ,K0ko:'.........  .                                                                    ...,'..                      
                                  :X0dc,,.......   .                                                                     ...,,..                      
                                  oXOdolcc:;:;:lc::loccl:,....                                                            ..';.                       
                                  dKxlcldkOOxodOOccdxlc:ldxoc:;,,'.                                                       ..';.                       
                                .,OkodkOOxc,'..,kdcoo;,';coxo::::cloc;'.                                                  ...;.                       
                               ,'c0kkkddoo:'....dkoo;.',clol:,;,;:cllllcc:'.                                              ...,'      ..'',;::c:;'.....
                              .o;x0kdc;.';;;;'..dOd;.;clodoollc;,,;'...'',;c:,.                                            ..',    .',,,,,,,;;;:lc:;,'
                          ..:cd0O0Od;'...',.'c;cOOdlldolodlloddddoo;'.......;;:;.                                          ...,   .,,''',,';;;:;;cccc:
                         .ol,.,kOOkl'.....'..;;lkoooo,...;......;dxxdol:,'....;::,.                                        ...'. .'','..,',,;:::loolc:
                              .kOOko;....... .lOxxdo;. ..,.      .codd,,cdl;,..,:c;'.                                       ....','''''',,,;;c:::clool
                              'kkkxd:.....,;ckkOkOkx:'...'        .......':odo;.';c:,.                                      ...,;,,''''',;,'','.''',co
                              lkkkooc,'...xxOkxkxxkkOo,'..            ..:'  .:dd;,;cl,.                                     ...;::,',,,,,.......'''',,
                            .lkxkkddllo;..,dOOkdddxdl,,,'..            .:l;.  .cxd;;cc,                                      ..;l:,,;;;;....',,'...','
                          .'oxxdkkkdoloo:...;cc:::.. .',...            ..':c,  ..ck:;lc.                                     ..'ol:,,;:;...':c:,'..'''
                        .:dxxxxddddolllll:..   .      .',..            ....;c;    ;x::l,                                     ...coc;,;:;'..,:c::;.....
                      ;dkkkdoooolccccccllc,.   ...     .,'.             ...',;'    cdclc.                      .,cc;'..''..  ...,ll:;,:c,';clc::;;''.,
                     ;Okoolc:,'cc:;:ccclc;,'.   ...    .,,'.           .....',,.   .oooo.                    .:c;'..::c,..','....;l:..,:,,looc:,',,,''
                     .:c:ccc, ,xc;::::::;;;,..   ...    ','.           ......',.    ;xox,   .            . .;dl..   ....'...';;'.''.  .',clol::c;'''',
                             .oxolc:;;;;;;:;'.........  .':,.          .......',.   .ddx, ..           ....cxkl..... ..;;',,:c:,;;;,. .';clollc:,,'',,
                             .lxdlc:,.....;;,.............;:..       ..,cc::'',,'.   ckx;.'.        ..;lloodxddc.    .,'....,;,'.';:;,;',:coloolc,'.';
                             .,cll:..  . '::'..............;;....  ..':oo;:lc,';;'...,Ox:.,.....  .':oxxdodxdc:c:.  .''......',;,,,;;:l::clolodll:;;;:
                            ..,'''.......;c:'..............,c,......;ll:,,,;::;:c:,..,Od:''.''...;llc:lodxxd;.';::...........,;;;;:;;:olclodlldoc;,,',
                         ....',''.......,:c:''.............';:.....',......',:;,:c:;.,Oo:;',....:o:''cxddddoc,.';::,...   ...,::cccclloloddxdodl:;''.'
                      .......;;,'.....,::cl:,,'.............':;................',;:c:lOl:;,....:o;:oddddl:;;::,.';cc;'....',:cllllllooddddxxxllc:,''.'
                    .......',;;,,;locclc:ccc;;,,'.....'''.';:cc;..  ........'',;,,,;:xkol:....;c;lxdoc:'...;;,...,cllc:;;;;;:cclllloloodddolc::c;,,,'.
                    ......',;:,.;oolcoxddl:;;:::;'.,::codxdoloxdl;.........,,;;:'''.:kxdo,...;cc'':cc'.......',cllclllollll:;;:cclllc:cllllcccc:::::,.
                   .....'',::;;::lc:cooolc:;;;:c:cllloodxdlcllxkxdl.......',,;:;,,..oOdol,..,clc'..'.......,:ccc:,';clooollol:',cllll;:clollllc:::::,.
                 .......',;;:cllc,',,,,,:oolc::ldddoddlcccldoodooddo:'.....',;:;,'.,kkllc'.':cl:'...',,,,,;:c:;,';;:cclooooool:,cccccc:cllccccc:,,;,,,
                 ......',;;:ddc;,:;'....:ocoooodddoooolcdkxxdddl::lkdl:'.....,;;:c:xkxoo:',::clc,,:lol;;:ll::;''';:cc:clcloolodl;;::clllllc;,;;;,'.',,
                 .....',;;,:dc'.'lo;...':ccddxdollllooloxodOkdoc,';dxxdo:....:,;lxOkdodo;,,;:cllc:::coddoc::;,;;:c:::c::;;;:coddc;::lllc:;:;',;,''',;:
                 ....'';;,,'''..,;,......'cddolc'.',:clodxOOkd:,'..:odxxdc,dxkdlxkkdolol,;;:coolooolodoool:;;:ccccc:;;,;;;:;coolollloll;;;;:,,;.',,;;:
                ....'',;,,,,,,'''''......'lodol:'..'',,:dxkkxoc:;;:llcdxxd,oOkkdxxdooclc;:codddooolccc::c:;:ccc:;;cc::::c:;,,;:ccooooll:::;::;;,'',,''
              ......,,;;,,,,''.''.........lololc,',,,';cdxxdolollloc:,cddk;'dkOxxdddoccoldkkddol:cccc:;:cccllc::::ccccc:;;,',;:lc:llc,,,,:c::,;c,'''''
                                                                                                                       .','c. ..                      
                                                                                                                       .',':' ..                      
                                                                                                                       ...';, ..                      
                                                                                                                        ..',; .;.                     
                                         ....                                                                           ..',: ..                      
                                      ':ll;,,,'..                                                                       ...':..                       
                                    'xKkdoo:,,,;;.                                                                       ..';..                       
                                   ,0KOoc;,;''....                                                                       ..','..                      
                                  .kKOdc;,..........                                                                     ...,,..                      
                                  .K0kd:'.........  .                                                                    ...',..                      
                                  ;X0dc,,.......                                                                          ..';..                      
                                  lXOxllcc;;;;:c::cllccc:'...                                                             ..';..                      
                                  oKkoccoxOOkddkklcdxolcldxoc:;,,'.                                                       ...;.                       
                                .'kOodkkOxl,''.'kx:od:,';coxo:::ccllc;..                                                  ...;'                       
                               ',:0Okkxxdo:'....oOlo:.',:loo:;;,;cclloolc;'..                                             ...,,      ..'',;:cc:;'.....
                              .o,x0kxl;.',;;;'..dOd:.,clooolll:;,,;'..',',:c:,.                                            ..',    .',,,,,,,,;;:ll:;,'
                           .;co0OOOx;'....,.'c::kOdlloolodllodxdool,'.......;::;.                                          ...,.  .,'''',,';;;;;;cccc:
                         .oo;.,xOOko,.....'..;;ckoood;...;'.....;dkxdol:,.....;:;,.                                         ..'. '''''..,',,;:::loolc:
                              .xOOkd:.........:kxxdo:.  .,.      .codd;;ldc;,..,::;'.                                       ...'','''''',,,;;:c::cllol
                              .kkkxdc....'',:xkOkOkk:'.....        ......':oxo;.';::,.                                      ...,;;,''''',;,'',,'''',co
                              ckOkdoc,'...dxOkxkxxkkko,'..            ..;' ..:do;';:l,.                                     ...,c:,',,,,,......'''',,,
                            .ckxkkodllo;..;dOOkxddxxo;,,'..            .;l,.  .cxd:;cc,                                      ..,l:,,;;;;....',,'..''''
                           'lkkdkOkxoloo:...:llcc:'. .',...            .'':c,.  .cx;;cc.                                     ..'ol:;,;:;...';c:,'...''
                        .,dxxxxddddolllll:.           .',..             ...;c,.   ;kc:l;.                                    ...coc;,;:;'..,;c:::.....
                      ,okOOdoooolccccccllc,.   ...     .,..             ...',;'    :xclc.                      .';:;'.....    ..,llc;,:c;',:lc::;;''.'
                     ,Okddocc,':l;;:ccccc;,'.   ...    .,,'.           .....',,.   .oolo'                    .;c:;..::::..''.....;o:..,:;'cool:,,,,,''
                     .clccc:; 'dc;;::::::;;,..   ...    .,,.           ......',.    'xox;   .            .  ,oo,.   ..'.....';;'.''.  .',:lol:c:,,''''
                              oxocc:;;;;;;;;'.. ......  .,;,.          .......',.   .odx: ...          ....;dko..... ..,;,,,:::;;;;,. .',:lolcc:;,''',
                             .okoll:,.....;;,.............;:..       ..':c:;'',,'.   :kxc.'.        ..,cloodxddc.    .',...',;;'.',::,,',;clloolc;''.,
                             .,lol:..   ..::'..............;;...... .';lo::c:,';;'...'Oxc',. ...  ..:lxxdooxdl:c:.  ..'......';;,',;;:l::clolldll:;;;:
                            ..,'',.......,::'..............,:,......,llc;,;:::,:c:,..'kx:''......,:llccodxxxc'';::...........,;;;;;;,;olclodlldoc:,,',
                         ....','''......':c:,'.............';:.....',......',:;,:c:;.'kd:;','...:oc'.;ddddddc'.';::''.... ..'';:ccccclooloxxddol:;''.'
                      .......;;,'.....';:cl:,,'............'':;.................,::c;:Oo::'....:o;;coxxdoc:;::,.';cc;'....',:cllllllooodddxxxolc:;''.'
                    .......',;;,,,:lccll::lc:,,,'......'..';:cc;.. .........''';,,,;:dOol:'...,c;:xdocc;...;;:'..,:llc:;;;;;:ccllllloooddddocc::;,,;'.
                    ......',;:,';loocoxdoc:;;:::,..';:codddoloddl;.........,,;;:','.;kkdd;...,cc''lol;.......'':llllooollllc;;:ccllllccclllc:cc:::::;.
                   .....'',;:;;;clc::ooooc:;;;;cc:clllodxxlclldkxdl.......',;;::',..cOxld,..,clc'.'''.....',:ccc:;',clooolloo;,,:olll::clollllcc::::;.
                 .......',;::cllc,',;;;;colcc::ldddoddoccclododooddo:'.....',;:;,'..xOoll,.':cl:'...'',,,,;:c:;,',;;:clooooooo:,:ccccc:clolc:cc:,,;;,'
                 ......',;;cddc;;:;,....:olooooddddooolcdkkxdddocclxdl:'.....,::;:;dkxooc',;:cl:,,:col:;:clc:;,'';::ccclcloolodl:;::lllllcc:;:;;,,''',
                 .....',;;,cdc'.'lo:...':c:ddxdollllooooxodOkxoc,,;dkxdo:'...;,,ldkkxddd;,,;:cclc:c:coodocc::;,;:c::::::;;::coddl;::lllcc;:;,;;,.''';:
                 ....'',;,',''..,;,'....',cddolc'.',:ccoxxOOkd:,'..:oxxxdc'ldkdcdkkdoodd;,;;cooollllodooolc:;::ccccc:;;;;;;;coolollloll;;;::,;;.',,;;:
                ....'',;,,,,,,'''''......'ldddlc'.''',,cxkkkxoc:;;:clloxxd,oOkkdxxxdocll;;codddooolllccccc::ccc::;cc::;:c:;;,;::cooooolc::;:::;''',,''
              ......',;;,,,,''''''........loodlc,.,,,,;cdxxdololcllc:,cddx:,xkkxddddoccolokkxdolcclcc:;:cccllc::::cccc:::;,,,;;ccclll;;;,::cc:;:,.''''
                                                                                                                       .',':' ..                      
                                                                                                                       .',';, ..                      
                                                                                                                       ...',; ..                      
                                                                                                                        ...';..,.                     
                                         ....                                                                           ...':....                     
                                      ':ll;,,,''.                                                                        ..';..                       
                                    'xKkdooc',,,;'                                                                       ..';'..                      
                                   ,0K0dc;,;'''....                                                                      ..',,..                      
                                  .xKOdc;,..........                                                                     ...';..                      
                                  .00kd:,.........  .                                                                    ...';..                      
                                  ,K0xc;,'......                                                                          ...;..                      
                                  cX0xlllc;;;;;::::llc:::'..                                                              ..';..                      
                                  lKOocloxOOkxxkkl:dxolcldxoc:;,,'.                                                       ...,'                       
                                ..xOodkkOxl;,..'xx:od:,',coxoc;::cll:,..                                                  ...,,                       
                               .,;OOkkxddo:'....lOlo:'',:clo:,;,;:clooolc;'.                                               ..';      ..'',;:cc:;'.....
                              .o,o0kxl:'',:;;'..o0x:',:coooolc:;,';,..',,,:c:,.                                            ...,.   .',,,,,,,,;;:ll:;,'
                           .,:o0OOOx:'....'.'c;:kOdlcoooodolodxdoll,........,::;.                                          ...,.  .,'''',,';;;;:;cccc:
                         .ld:''x00ko,.....'..;;:koood:..';,....';dkxdlc:,.....;:;,.                                         ......''''..,'',;:::coolc:
                               dOOkd:'......  ;xkxxoc.  .'.      .lodxc;loc;,..,::;'.                                       ...'','''''',,,;;:c::clooo
                              .kOkxdc'.....',okOkOkk:'.....        .''....:ddo;.',::,.                                      ...;:;,''''',;,'';,'''',cl
                              :Okkdol,'...dxOkxkxxkOkd,'..             .;'...cxo;';:l;.                                      ..,c:,',,,,,....'..''',,,
                             ;kxxxddlco;..,dOOkxddxxd:,,''.            .;l,.  .:xd:;cl,.                                     ..,l:,,;;,;.....,,'..''''
                           .ckkdkkkxdooo:...:oolcl,...',...            ..'cc'. ..ck:;cc'                                     ...ol;,,;:;...';l:,'...''
                         'lxxxddddxdollll:.   .. .    .',..            ....;c;    ,xc:l:.                                    ...coc:,;:;...';cc::.....
                      'lxkOxdooollccccclll,.   ...     .,..             ...',;,    ;xcll.                       .';;......    ..,llc;,::;',:ccc::;,'.'
                     ,kkddolc;':l:;:ccccc;;'.   ...    .,''.            ....',,.    lolo,                    .':::'';;,:'.''.....;lc'.,:;'codoc,',,,''
                     .oolllc:..ol;;::::::;;,..   ...    .,,.            .....',.    .xox:   .               .lo:... .',.....',;'.'''  .',:loocc:;,''''
                         .....lkocc:;;;;;;;;'.. ......  .,;,.          .......',.    lddc ...          ....'okd'...  ..':;,,:::;;;;,. .',:lol:c:;,''',
                             .okolc:;'....;;,.............;:..        ..;:;,.'',,.   ,kxl....       ..':clloxxdc.    ..,'..',:;,.',::,',,;clooolc;''.,
                             .;oolc,.    .;:,..............;;...... ..'coc:c:,';;'.  .xxl.''      ..;ldxoooxxlcl:.  ..'......',;,',;::l:;:lolldolc;;;;
                            ..,,',.......,::,..............,c,.......cllc:;:::,;c:,...xkc''......':llccodxxxc,';::...........';;;;;;;;ooccodocooc:,,,,
                         ....','''......':c:,'.............';;......,,'...'',::,:c:;..xxc;''''..;ll,.'oddddoc'.';::'..... ..'';:clcclloolodxdool:;,'..
                      .......,;,,.....';:cl:,,'............'':;...........'''''.,::c:;kd::,'...:o;,;cdkxol:;c:;.';cc:'.....,::clllllooodddxxxdoc:;''..
                    .......'';;;'';:::cl::c::;,''....'''..';;:c;.. .........''',;,,;:oOol:,...,c;;dxollc,.';;:,..,:llc:;;,,;:ccllllllooddddolc:::,;;,.
                    ......',;:;';looloxdol::;:::;'..;:cldddoooddl;.........,,;,:,,'',xkdd:...':c',loo:'.....',,:cllloolllllc;;:ccllllccccloc:ccc:::;;.
                   .....'',;;;;;coc:clddol:;;;;c::clllodxxl:cldkxxl.......',;;::,,..:Oxod;..':lc'.',,......':clc:;,;clloolloo:,,:lllc::cloolcccc:::::.
                 .......',;::cllc;',;;;:cloc:::ldxdoddolcclooodooddo:'.....',;:;,,..dOdlo,.';clc'...'',,,,,;c:;,,,;;:clooooooo:,:ccccc::lolc:cc:;;;;,'
                 ......',;;codc;;:;,...':olooooddooooolcoxxxdddocclxdl:'.....,::;:,lkklol',;:clc,,;cll:;::lc;:,,';::ccclcloolodl:::ccllcllc:;;:;,,''',
                 .....',,:,cdc'.'ll:...':ccddxdolloololoxodOkxoc,,;dkxdo:....'',cdxOxdod;';;:cllc:c:cooddlc:;;;;:c:::::;;;::coddl;:ccllcc:c:,,;,'''';:
                 ....'',;,',''..,;,'....',cddolc'.',:lcoxxOOkd:,'..:dxxxdc':lxd:oxkxdooo;;;;cooollllldooolc:::cccccc:;;;;;;;cooooocloll:;;;:,,;'',,,;:
                .....',;,,,,,''''''......'ldddlc'..'',;cxkkkxo::;,;clldxxd;oOkkddxxdolll;:coddddooolcccccc::ccc:::cc:;;;:::;;;;::looollc::;:::;''',;,'
              ......',;;,,,,,'''''........coodlc,.',',;cdxxxolllloocc;cddx:,xkkxdxddolcl:okkxdol:clc:::::ccllc:::,:c:::::;,,,,,clcollc;,,:cc::;:,','''
                                                                                                                       ..,';; ..                      
                                                                                                                       .',',; ..                      
                                                                                                                        ..',: .'.                     
                                                                                                                        ...':..,,                     
                                         .....                                                                          ...':....                     
                                      .col:,,,,'.                                                                        ..','                        
                                    .xKkdool'',;;'                                                                       ..',, .                      
                                   'OKOxc:,;''.....                                                                      ...'; .                      
                                   xKOxl;,...........                                                                    ...';..                      
                                  .00kxc,.......... .                                                                     ..';..                      
                                  'KKxl;,'......                                                                          ...;..                      
                                  ;X0xollc;,,,;;:;:cc::c;'..                                                              ...,'.                      
                                  cKOoccodkOOxxOkl:oxdlcldxoc:;,,..                                                       ...,,                       
                                ..xOodxkOkd;''.'xk:od:;',:oxoc;::cll:,.                                                   ...,,                       
                               .;,kOkkxxxdc'....cOooc''';cloc,;;;:clodolc,..                                               ...;.     ..'',;:cc:;,.....
                               l,l0Oxl:'',::;'..c0xc'':clooolc:;,';,...,,,:c:,.                                            ...,.   .',,,',,,,;::ll:;,'
                           .';cOkO0x:'....,.'c;;xOdlcoolodolodxdocc,.....'..,::;.                                           ..'. ..''''','';;;;;;cccc:
                          ldc',xO0Od,'....'..,::Odoooc'.';,....';dkxdlc:,.....;;;;.                                         ...'.'''''..,',,;;:ccoolc:
                               oOOkd:'......  'dOdxoc.  .''      .loddc:loc,,..,::;'.                                       ...,,,'''''',,,;;;c::clooo
                              .xOkxdl'.....''lkOOkkk:'. .'.       ..,,...'codo,.',c:,.                                      ...;:,,''''',;,.';,'''',:l
                              ;Okkdol,'...oxkkxkkxxOkd,'.'             .,'..':do,',:c;.                                      ..,c;,',,,,,....'...''',,
                             ,kkxkdolco;..,dOOkxdddxxl,'''.            .;l'.  .:xo:;:l;.                                     ..'lc,,;;,;.....','...'''
                           .:xkdkOkxdloo:...codolo:'..',...            ..,:c'.  .ck:;cc,                                      ..ll;;,;:;...',cc,'...''
                         .cdxkxddxxdollll:.   .. .    .',..            ....;c;.   'kc;lc.                                     ..:ol:,;c:'..';:c::.....
                      .cdkOxddooolccccclll;.    ..    ..,'.             ...',;,    ,xcco'                        .,,.....     ..,llc;,::,'';clc:;;,'.'
                     .kkdddlc:,:l:;:ccclc:;'.   ...    .,''.            ....',,.    colo:                     .;::;';;,:,'''.....:ol,.,c:.:odoc;',,,,,
                     .odlllc:..ll;;::::::;;,..   ...    .,,.           ......','    .dodl.                  .:lc,.. .,,,....',;'..,'. .,,;looc:c;,'',,
                        ..... :xocc:;;;;;;;;'.........  .,;,.          .......',.    cxdl....           .. .cxd,...   ..;;,,;c::;;,,. ..,:llo:c:;,'.',
                             .okdlc:;,..'.;;,.............;:'.        ..';,,..',,.   .xxo....       ..';cccoxxdc'   ...;,...,:;,'';:;,'',;clololc;''',
                             .,ddoc,.   ..;;,..............::.........':olcl:'',,'.. .xko'''       .,cdxoloxxlllc.  ...'.....',,''';:;lc;:lolldoll;;;;
                            ..,,,;'......'::,..............,c,.......:lll;;:c:,;:;,...dOl,'.......;lllcodddxl;,;::...........';:;,;;,,loccodocoolc;,,,
                         .....,'''......';c:,'..............;:......,,,'..',,;:;:c:;..oxc;'.,'..,ol;..cdddddc'.';::'.... ....';::cc:lcoolodxxoooc:,'..
                      .......,;,,......,:clc;,'............'';;...........'''''.'::c:'xxc:,,...;o:.':okxdl::cc;..;c::,.....,;;cllllllooddxxxxxolc;,'..
                    .......'';;,'',;;;cc;:lc:,,,'....'.....,;:c;...........''''';,,::cOdcc,...,c:,oxdlll:'';;:;..':cll:;;;,,:cllllllloodddddlc:::;;;,.
                    ......',,:;';lddoodxdlc:;;::;'..,:clooddooddl;.........',,,:;,'',dOddc'..':c,'oolc,.....,;,;cllloolllloc;,:ccllllcclllol:cc::;::;'
                   .....'',;;;;,col:clddoc:;,;;:::clllodxxoccodxxxl.......',;;;:,,'.,kkdd:...:lc'.';:'.....';cccc:,;clooollll:;,:llll::clolllccc:::::.
                 .......',;;:cllc;,;;;;:cllc:::ldddoodolcclooodooddo:'.....',;::,,..lOxll;..;clc'...''',,;;;:::,',;;:clooooool:,:cllcc::lolcccc:;;;;,'
                 ......',;;cooc;;:;,'..':olooooddoooooc:oxxxdddocclxdlc'.....,::;;,;kkdll,';:clc,';:ll:;;:cc:;;'',::ccclcloollol:::ccllclllc;;:;;;''',
                 .....',,;,ldl'.'lo:...':ccddxdollooooooxddOkxdc,',dkxdo:.....'':ldkxdoo:',;:cclccc:coooolc;;;;,;::::::;;;:ccoodl:;:cllcc:::,,;,,''',;
                 ....'',;,',''..,;,'....',cddooc'',;:llodxOOkdc;'..:dxxxdc',:do:oxkxdood;,;;:loollllldddolc:::cccccc:;;;;;;;:ooooocloolc:;;:;,:'.,,,;:
                .....',;;,,,,''''''......'ldddlc'...',;lxkkkxoc:;,,clldxxd;cOOxddkxdollo;;cldxddooollccclc:cccc:::cc:;;;:::;;;:::loooolc::;::::''',;,'
              ......',,;;,,,,'''''........coodlc,.','';cdxxxolllclolc;:ddxc,kOkxdxddol:o:lxxxdolclll::::ccclllc:;,:c:::;:;,,,,';ccoolc;;,::cc:;:,','''
                                                                                                                       ..,';; ..                      
                                                                                                                       ..,',:...                      
                                                                                                                        ...,:..'.                     
                                                                                                                        ...':..',                     
                                         .....                                                                           ..';. ..                     
                                      ':lo:,,,,'.                                                                        ..';, .                      
                                    .dK0dool,',,;,.                                                                      ...,; .                      
                                   .OK0xc:,;,......                                                                      ...';..                      
                                   oKOxl;,...........                                                                     ..';..                      
                                  .kKkxl;.......... .                                                                     ...;..                      
                                  .0Kkl;,,......                                                                          ..','.                      
                                  ,X0xolcc;,,',;;;:cc:::;..                                                               ...,,.                      
                                  :KkoccldkOOkkOOl;oxdolldxoc;,,'..                                                       ...,,                       
                                 .o0doxkOkd:,'..dOcldc;',:oxdc;::ccc:'.                                                    ..';.                      
                               .,,kOkkxxddc'....:Ooll''';:coc;;;;:cloddo:,..                                               ...;.     ..'',;:c::;'.....
                               :;:0Okoc,',:::'..:0xl'':cloooo:;,,,;,...,,,:c:,.                                             ..,.   .'',,',,,,;::llc;;,
                            .,:OkOOkc'....'.':;;d0xlclolldolodxdocc;.....'..,::;.                                           ..''  .''''','',;;;;;cccc:
                          cdl,,dO0Od;'.......,:;kdoool'.,:,....,:dkxdl:;'.....;;;;.                                         ...'.'''''..,',;;;:ccoolc:
                           .   lk0kdc'......  .oOdxol.  .''      .ldddl:oo:,,..'::;,.                                       ...';,'''''',,,;;;c:::lool
                               dOOxdl'.......:xOkkxkc'. .'.       ..,,...':odl,..,::,.                                       ..,c;'''''',;,.',,,,'',:l
                              'kkOdol,''..lxxOxkkkxOkd;'...            .,'..'cxo;',:c;.                                      ..,c:,'',,,,....'..'''',,
                             'xkxkdllco;..,dO0kxdddxko,,'..            .,c'.  .:xo:;:l;.                                     ..'lc;',,,;.....','..''''
                           .,dkxkOkxdloo:...cdxdooc,..','..            ..;cc'.  .:xc,cl,.                                     ..lo;;,;:;....,cc,'...''
                         .:dxxxddxxdollllc.   ....    .','.            ....;c;    .kc:ll.                                     ..:ol:,,c:...',::::'....
                      .:okOxdddooolcccclll;.    ..     .,'.             ...',:,    'xc:o,                        ..'...       ..,loc;,::,,';:lc:;;,'..
                     .xkdxdll:;:c::::cccc:;'.   ...    .'''.            ....',;.    ;dcl:.                    .';::;;;';;''.. ...;ll,.,c:';lool;,',,,'
                     .ddollcc. cl;;:ccc::;;,..   ...    .,'.            .....','.   .oooo.   .            .  ,cl;....,;;....',,'.','. .',;lool:c;,''''
                       ...... ;kocc:;;;;;;;;'.........  .,;,.          .......',.    :xdo.  .            . .:xd:..    ..':,,;:c:;;,,. ..,;clocc:;,,'',
                              lkdlc::,'.'';:,.............;:'.         ..,''..','.   .xdd....        ..,:c:cxxdl'.. ...,;'..,::,'',;:,.'';clooolc;''''
                             .,dxol;..  ..;:,..............:;..........;llcl:'',,'..  okd,',.      .':odocoxxollc.  ...'.....,;,,'';::cc;;colcdolc;;;;
                             .',;;'...  .'::,..............,:,.......,:ll:;:c:,,;:'...lOo,.'......,cllcodddxo;,;::............;:;;;;;,coccodo:odlc;,,,
                         .....,'',.......;::,'..............;:......,:;,''',,;:;:c:;..lOl;,.','.,ll:'.;loxxdc'.',:;'..........;:::cccclolodxdoooc:,'..
                      .......';,,......,:clc;,'............'';;.....'....''''''.'::c;.dkl:,,...;l:..':xxdoc:cc;..;cc:,.....';;:llllllldodxxxxddlc;'...
                    ........';;;''',,;:c;;lc:,,,'....'.....';:c;............'''',;,;cckdcc,...'c:,cxdoooc;,,,;:..';clc:;;;,;::llllllooooddddol:cc,,;;'
                    ......'',:;,;ldxoodxdlc:;;::;'..,::looooooddl;.........',,;;;',',lOxdl'..':c,'odoc;'....,:;;:llooolllloc;,:cccllllccloolcccc:;;;:'
                   .....'',,;;;,colcclddol:;,;;::::cllodxxoccodxxxl.......',;;;:,,'.'xkxxc...;ll'.,cc;......;cccc:,;clloollll:;,;coll:;cclolcccc:::::,
                 .......',;;:cllc;,;;;::colc:::ldddoodolccclooododdo:'.....',;;:,,..:Oklo:..;clc'...''',,,,;::;,',;;;clooooool:,;cllcc::lollc:cc:;::,'
                 ......',,;:ooc;;:,''..':olooooddoooool:oxxxdodocclxxo:'.....,::;,''xkdll,';:clc,';:cl:;;:cc:;;,',;:clllcloolldl::;c:lcclllc:;:;;;,.''
                 .....',,::lxl'.'lo:...':lcddxdollooooooxddkkxdl;',okxdo:.....',:loxkxodc,;;:cccccc:coooolc;,;;;;::::::;;;::clodl:;::llccc::,,;;,'''';
                 ....'',;,',,'..':;'...'',cddooc,',;:lcoxxkkxdc;'..:dxxxdc'';lo;ldxkxdod:,;;:loollllldddol::::cccccc:;;;;;;;:loooolllolc:;;:;,;;.,,,;;
                ....'',;;,,,,''''''......'ldddoc'..'',;lxkkkxoc:;,,clodxxx;:OOkddxxdolco:;:ldxddooollc::llccccc::;cc:;;;::;;;:c::coooool::;::::,.',;,'
              ......'',;,,,,,'''''........coodoc,.'''';cdxxxolocclocc;cddxc,kOkxddddoc:ocldxxdollool:::clcclllc::;::::;;::;,,,,;ccoolc:;,:c::c;:;',,''
                                                                                                                       ..,',c ...                     
                                                                                                                       ..,',:....                     
                                                                                                                        ...':. ..                     
                                                                                                                        ....;' .,                     
                                         .....                                                                           ..',, ..                     
                                      'cloc;,,,'.                                                                        ...,; .                      
                                    .dK0doll,',,;,.                                                                      ...';..                      
                                   .kK0xc:,;,......                                                                       ..';..                      
                                   lKOxl:,...........                                                                     ...;..                      
                                   xKkxl;.......... .                                                                     ...,'.                      
                                  .OKkl:,'......                                                                          .'.,,.                      
                                  'K0xollc;,'''',;;:::;;,..                                                               ...,;..                     
                                  ;KOdccldkOOOkOOo:lxdolldxo:;,,'..                                                        ..';.                      
                                 .o0doxkOkd:,'..dO:ldl;,,:lxdc;::ccc;'.                                                    ..';.                      
                               .,'x0kkkxddc'....;Ooll,'',:coc;;:;:cldddo:,..                                               ...,.     ..'',;:c::;'.....
                               ;;:OOkoc,',:::'..;Oko,.;cloooo:;,,,;;'..;,,:::,.                                             ..''   .'',,',,,,;;:llc:;,
                            .,;kkk0kl,....'.'c;,o0klclooooolodxdl:c;.....'..,::;.                                           ...'  .''''','',;;;;::ccc:
                          :do;;dO0Ox;'.......,:,xxoool,.';;...',:okxdc:;'.....;;;;.                                         ...'.'''''.',',;;::ccoolc:
                          ..   ck0kdc'......  .cOddoo' ..',      .cdddocol:,'..';:;'.                                        ..,;,''''.',,,;;;c::clooo
                               oOOkdo'...'...;dOOkxxc'. .'.        ';;,..'cool,..,:;,.                                       ..,c;'''''',;,..,;,,''':l
                              .kkOxol,'...:xdkxkkkxkkd;'.'.            .'...'ldo,'':c:.                                      ..,c:,',,,,,....'..''',,,
                             .dkxkdll:o;..,dO0kxxxxxkd;,'..            .,c'.  .:xo:;:l:.                                      ..lc;',,,;.....','.'''''
                            'dkxxkkxdloo:..'cxxxodc;'.','..            ..;cc'   .:xc,:l;.                                     ..lo:;,,:;....':c;'...'.
                          ,oxxxxxxxdoololc.   ....    .',..            ....;c;.   .kl;cl'                                     ..:dl:,,c:...',:c::'....
                      .;oxOxdddooolcccclll;.    ..     .,'.             ...';:,    .xcco;                         ....        ..,loc;,::,,',:ll:::,'..
                     .dkxxxllc;:lc:::ccccc;'.   ...    .''..            .. .',;.    ,dloc.                     .,:l:;,',;''.. ...;ol,',c:';lool:,,,,,'
                     .xxollc:. ;l:;:cccc::;,..   ...    .,,.            .....','.   .oooo.   .               .:c;'...,::'....,'...;,. .,;,coolcc;,''''
                      ....... ,xocc:;;;;;;:;'.........  .,;,.           ......',.    ,xdd'  ..           .. 'dxc..    ...;,';:c:;;,,. ..,;cldc:c;,,'',
                              lkdlc::;'',';:,.............,c'.        ...'....','.   .ddd'...        ..':c;:dxdl'.. ...';,.',::,'',;:,..';:looolc:''''
                             .;xxol;'.  ..,:,..............:;....... ..,clll:'',,'..  lOx,.,.      .';ldo:ldxoooc.  ...''....,,,,.';::cc,;clolooll:;;;
                             .';::,...  ..;:,..............,:,.......';coc;:c:,,;;'.. :Od;.,......':lolldddxd:,;::.....'......,;;,;;;,coccloo:ldlc:,,,
                         .....,,''.......;::,...............;:'.....';:;,',,,::;:::,..:Oo;,.'''',loc,',lodxdl'..,:;'..........,:;c::cccoolddxoooc:,''.
                      .......';,,'.....'::cc;,'...........''';;.....,....''''','':cc:.lOl:,''..,lc'..;dddolccc,..;cc;,......;;:llllllldoddxxxxdlc:,''.
                    ........';;,,..'',:c::cc:;,,'..........',:c;.............''.,,;;c:xklc;'..'c:';lddddo:;,,::,.';cll:;;,,,;clllllloooddddddlc:c;;;;'
                    .....''',:;,;ldxooddocc:;;:;,'..,;:coooooodol;.........',,;;;',',cOxol,...:c,'dooc:,....,::;:lllolllcllc:,;:cllllcclllolc:ccc;;::,
                   .....'',,;;;,cdl:clddol:;,;;::;;cllodxxoccodxxxl.......',;;;:,''..dOxxo...;ll,.,llc'....';:clc:;;ccloooclo:;;;clllc;cclollllc:::::,
                 .......',;;:cllc:;;::::cllc::;codooodollccldooddddo:'.....',;;:,,'.,kkooc..,clc'...'..',,,;:::,',:;;:looolooo:,,:llcc::clolcccc:;::;'
                 ......',,;:ooc:;:,'''',colooloddoooool:lxxxdoddcclxxo:'.....,:c;,'.oOdll;',:clc,.,:clc::;cl:;;,,,;:clllcooolloo:::cclccloll:;::;;,'''
                 .....',,;:oxl'.'lo:...':ccddxdoolooooooxddkkxdl;',okxdo:'....',;cldOxodl,,;:cccccccclllolc;,;;;;:::::::;;:cclodlc;::colcc:c,,;;,'''';
                 ....'',;;',,'..'c;'...',;cddooc,',;:lcoxxkkxdl;'..;dkxddl'..:c,cdxkxdodc,,;:loollclodddoc::::::cccc:;;;;;;;:loooocclool::;:;,;;.,,,,;
                ....'',;;,,,,''''''......'ldddoc'..'',;lxkkkxoc;,,':lodxxd:,xOkodxkdoolo:,:ldxdddollllccllccccc:::cc:;;;::;;;:c::coodool::;;:::,.',;;'
              ......'',;,,,,''''''........coodoc,.'''',cxxxxdlollllcl:cddxl,kOkxdxxdlccoccoxxxdllolcc:::llclllc::;;;::;;::;,;,';::lollc:;:::::::;',;'.
                                                                                                                        .',,:....                     
                                                                                                                        .,,,:. ..                     
                                                                                                                        ...';, ..                     
                                                                                                                         ..';, .,                     
                                         .....                                                                           ..',; ..                     
                                      ':ool;,,,'..                                                                       ...,:..                      
                                    .dKOdlll;'',;,.                                                                      ...':..                      
                                   .kK0kc:,,;......                                                                       ..';..                      
                                   cKOxo:,'..........                                                                     ...,'.                      
                                   dKOxl;'.........                                                                       ...,'..                     
                                  .kKOo:,,......                                                                          ...,,..                     
                                  .00xollc;,'''',,;::;;;,..                                                                ..';'.                     
                                  '0OdccloxO0OkOOo:lxxolodxo;,,'...                                                        ..';.                      
                                 .l0dodkOkxc;'..oOc:dl;,,:lxdc:::ccc;'.                                                    ...;.                      
                                ''d0kkkxddl,....,Odcl,'',;col:;:;;cldxdl:,..                                                ..,'     ..'',;:c:::,.....
                               ,;;OOkol;',;::'..,kkd,.,clodol:;,;,;:,..;;,:c;'.                                             ..''   .'','',,,,;::ll:;,,
                            .';kkkOOl,....'.':;,l0kl:cooloolodkdl::;.....'..,::;.                                           ...,  .''''','',;;;;::ccc:
                          ;do:;dO0Ox:'.......,:,xkoodo;''::..',;:dxxdc:;'.....;;;;.                                          ..'.'''''.',',;;::ccoolc:
                          ...  :OOOxc'....... .;Oodoo'....,      .cdddllol:'...';:;'.                                        ..':,''''.',,,;;;cc::looo
                               cOOkxo,...'...,oOOkkxc'. ...       .';::..,cool'..,:;,.                                       ..'c,'.'''',;,..,;,,'.':l
                              .xkkxoo,'...;xdOxxkkkkkd;'.'.            .....'ldo,.':c:.                                      ..,c:,'',,,,....'...'',,,
                             .okxkxll:o;..,dO0kxxxxxkx;,'..            .':'.  .:xo:;;l:'                                      .'cl;,,;,,......''.'''''
                            .okxxkkxdldo:. 'lkkxddo:,.','..            ..;l:'.  .:xl;;l:.                                     ..co:;,,:;....':c;'...'.
                          .cdkxxxxxdoololc.   .....   .',..             ...;c,    .xl;:l,                                     ..;oo:,,c:...',:c;;'....
                       ,cdOkdddooolcccclll;.    ..     .,'.             ...';:,    .xc:l:.                         ...         .'lol;,:c,,',;cl::;,'..
                     .okxxxolc::lc;::::clc;'.   ...    .',..            .. .',;.    ,xcll.                     .';cc:;.',,'..  ..;oo;',:c,,cool:,,,,,'
                     .xxollcc. ,l:,:cccc:;,,..   ...    .,,.            .....','    .colo'   .               .;c:,...'::,...''....;;. .,;':odocc;,''''
                      ....''. 'xoc::;;;;;,;;,..  .....  .,;,.           ......',.    'xod,  ..            . .oxl'.    ...,,,,:c:;,,'. ..';cldl:c;,''',
                              ckdlc::;'',,;:,.............,c'.         .......','.   .oxd;...        ..',c;,oxxl'.......;;'';c:,'',;:,..',:lololc:,'''
                             .;xxol:,.. ..,:;..............:;....   ...':lll:.',,'..  :Ox;.,.      ..;cooccoxdooc.   ..',....,;;,'';::::;;:oolooll:;;;
                            ..';:c;... ...;:,..............,:;........,:oc;:c:,,;;'.. ,Ox;.,......':lolooodxdc;;cc.. ..'......,;;,,;;,:occloo:ldlc:,,,
                         .....,,''.......,::,...............;:'......;c:;,,;;::,:c:,..,Od;'..''',col;''codxdl'..,:;'..........,;;:::c:coolodxoool:;,'.
                      .......';,,'.....';ccc;,............''';;.....''...'''',;,':cc:.:Oo:;',..,lc'...oxodolcc,..;c:;,'.....;;;collcloooodxxxxdlcc,'..
                    ........',;,,....,;:::cc:;,,'.....'....',:c;..........''.''.',;;c;oOl:;'..'cc''coddxol:,;::,.';cll:;;;,,;:lllllloooodxxddoc:c;;;;'
                    ......'',;:,,coxooddoccc;;:;;'..';:clooooodol,.........',,,,;,'';:kkol,...:c,'odocc:'...;::;;cloooolclll:;::clllllccloolc:::c:;::,
                   .....'',,;;;,:dlcclddol:;,,;::;;:llldxxoccldxxxl........',;;;;',..lOxxl'..,cl,.;oll,.....,clcc:;;llloollll:;;;clllc::clollccc:::::;
                 .......',;;:colc:;;::::cllc::;coddoodollccldooddddo:......',;;:,,'.'xkodl..,clc'...,,.',,,,:c:;',:;;:loooololc,,:llll::clolcccc::::;'
                 ......',,;:ooc;;:,'''',collollddoooool:lxxxdoddccldxo:'....',:c;,'.lOxll:',:clc,.';:l::;;:l:;,,',;;cllllooolloo:;:ccccclool::::;;,'''
                 .....'',;:oxl'.'lo:...':c:ddxdoooooooooxddkkxdl;,,okxdo:'....';;:lokkooo,,;:cccccc:collooc;,,;;;:::::::;;::clodlc;::cllcccc;,;:;''..,
                 ....'',;;,,,'..'c;,...',;cdxooc,',;:lclxxkkxdl;'..:dxxddl,..,c,coxkxdodl,;;:loollclloddlc:;::::cccc:;;;;;;;:lloooccloolc:;::,;;''',,;
                .....',;;,,,,''''''......'ldddoc'..'',:lxkkkxdc;;,':lodxxd:,xkkolxxxoococ;:codddoollllcclllcccc:::cc:;;;;:;,;:cc:coodoolc:;;:::;.',;;,
              ......'',;,,;;,''''''.......coodoc,.'''';cxxxxdolccccll:cddxc,kkkxdxxxll:lc:oxkdollolcc:::llllllc::;;;;;;;::;,;,,;;;lolllc::c::c:;;'',,'
                                                                                                                        .',':. ..                     
                                                                                                                        .',':' ..                     
                                                                                                                        ...';; ..                     
                                                                                                                         ..',; .,.                    
                                          .....                                                                          ...,:....                    
                                      'cool;,,,,..                                                                       ...':..                      
                                    .oK0xlll;'',;,.                                                                       ..';..                      
                                   .xK0kc;,,;......                                                                       ...;'.                      
                                   :KOxo:,''.........                                                                     ...,,..                     
                                   oKOxo;'.........                                                                       ...',..                     
                                   xKOo:;,......                                                                           ..';..                     
                                  .O0kollc;,'...,,,;;;;,'..                                                                ..';'.                     
                                  .0OdcccldkO0kOOo:cdxoooddo;,,'..                                                         ..';.                      
                                 .c0dodkkOxl;,..oOl:dl:,,:lxdc:::cc:,.                                                     ...;'                      
                                '.d0kOkxxxl,....'kdco,'',::lo;;:;;:ldxdl:'.                                                 ..''     ..'',;:c:::,.....
                               ,:,kOkdl;',;::'..,kko;.,:coool:;,,;;;,'':;,:c;'.                                             ...,   .'',',,,,;;::llc:;,
                            .''xkx0Ol,....'''c;,c0ko:cooloolodxdl:;;.....'..,::;.                                           ...,. .''''','',;;;;;cccc:
                          ,ooc:oO0Ox:'.......,:,dkoodo:,,;:'..,;:dxxoc:,......;;;;.                                          ..'.'''''.''',;;::ccoolc:
                          .,.  ;OOkxl'.........,kdooo,....,.     .cxdooloc;'.. ';:;,.                                        ..':,''''.'',;;,;cc::cloo
                               :OOkxo,...'....lOOkkdl'. ...       .,:c:..,cdoc'..,::,.                                       ..'l;'.'''',;,..,;,'''':l
                              .dkOxoo,'...,dokxxkkkkkd;'...            .....,ldo,.';c:.                                      ..'l:,'',,,,....''..',,,,
                             .ckxkxll:o;..,dO0kxxxxxkx:,'..            .':'   .cxo:,;c:'                                      ..cl;,,;,,......''''''''
                            .lkxxkkxdcdo:..'lkOxddoc;.','..            ..;l:'   .:xl,;l;.                                     ..co:;,,:,....';c;'...'.
                          .:dkkxdxxxoololc.  ..'...   .''..             ...;c,    .xl;:o;                                     ..;ooc,,c;...',;c;;,....
                       .:oOkdddooollccclll;.   ...     .,,.             ....,:,    .dl:lc.                          ..         .'lol:':c,,,,;cl:;:;'..
                      lkxxxollc:lc:::ccclc:,.   ...    .',..            ....',;.    'xccl.                      .,;c:;..'''..  ..;oo:''::,'cooo:,,,,,'
                     .kxollcc. 'l:;;:cccc;,,..   ...    .,,..           .....','     cdlo,   .               .'::,,..':::...''....;;...,;':odolc;,''''
                      ..''',' .doc:::;;;;;;;,... ....   .,;,.           ......',.    .ddd;   .              .cdo,.    ...','';cc;,,'. ..',cldl:c;;''',
                              :kdlc::;,,;,;:,.............,:'.         ........',.    lxd:....       ...,;;'cxxo'.......,;,';c:,',;;;,..',:loolol:,'..
                              ;xxolc,. ...':,..............::......   ..;ccc;.',,'..  ;Ox:.'.      ..,:ooc:oxdool.   ...,....',;''',::::;,:oocodll:,;,
                            ..':cc:'.. ...;:,..............':,........':ll:cl:,,,,'.. .kk:.,.......;coloooodxc;;::.. ..'......,;;,,,:;;lccldocldlc:;;;
                         .....,,',.......,::,...............;:'......;cc:;;;;::,:::,...kx:''.'''':ol:,'cloxxo,..,:;'..........,:;::::::lolldxdodl:;,'.
                      .......',,,'.....';:cc;,............''':;'....,,...'''',;,,:cc:.,kd:;','.'ll,...:ddoool:,..;::;,'.....;;;cllllloooodxxkddocc,''.
                    ........',;;,....';::;lc:;,''....'.....'';c;.........'''''.'',;::;lOoc;,...:c'.,loxxdoc;,::;.';cll:,;;,,;:cllllloooodxddddlcc:,;;,
                    ......'',;;,,codoooolccc:;;:;'..';;:lloooodoc,........''',,,;,',,:xkol;...;c;'lddlcc;'..;;cc;cloooolcllc:;;:cclllllcloolc::cc:;::,
                   .....''',;:;,:doc:oddol:;,,:::;,:clldxxdccldxxxl........',;;;;'''.ckkdo,..,cl,.:dol:.....,clclc;;clloolllo:,;;clllc::clollccc:::::;
                 .......',,;:clll:;;:::cllcc:;;coddooodlllcldooddddo:......',;;:,,'..dOxdo'.':ll,..,;,'',,,;:::;',:;;:cooollllc,,;lllcc::colllcc::;::,
                 ......',,;:ooc;;;,''..,colllllodoooool:lxxxdoddlcldxo:'....',:c;,'.:Oxllc.':ccc,.',:lc:;;:c:;;,',;;cccllooolloo:;::cclclollc:::;:;,'.
                 .....'',;:okl'.'co:...':l:odxdoooooooooxdokkxdl;,,okxdo:.....,;;;cckkdol;';:ccccc:cclllooc;,,;;;:;::::;,;:ccloolc;:ccllcccc;',;,,'..,
                 ....'',;;,,,'..'c;,...',;cdxooc,,,::lclxxkkxxl:'..:xxxddl,..';':ldkxxooo,;;:llollclloddoc;;;:::cccc:;;;;;;;:cloooccloolc::::,;;'',',;
                .....',;;,,,''''''.......,ldddoc'...';:lxkkkxdc;;,':lodxdx:'lxkolxxxdocdl;:codddoollllcclllclccc::cc:;;;;:;;;:ll:coodoooc;;;:::;.'',;,
                .....',;,,,,,,,''''.......coodoc,.''',;cxkkkdolcccclollddxl,kkkddxxxolcoc:lxkxdoloocc;;:llllllc;;;;;;;;;;:;;;,,;;;lollll::c::l:;;'',,'
                                                                                                                        ..,,:' ..                     
                                                                                                                        .';';; ..                     
                                                                                                                        ...',; ..                     
                                                                                                                         ...,: .'.                    
                                         ......                                                                          ...':....                    
                                      ':odl;,,,'..                                                                       ...':..                      
                                    .dK0xlll;'',,,.                                                                       ...;'..                     
                                   .xK0kl;,,;......                                                                       ...,,..                     
                                   ;KOxo:;'..........                                                                     ...',..                     
                                   lKOxo;,......... .                                                                      ..';..                     
                                   xKOoc;'......                                                                           ..';..                     
                                  .OKkollc:,....'',,;;;,'.                                                                 ...;'.                     
                                  .00dlccldkO0OOOd:cdxdodddl;,'...                                                         ...;.                      
                                  :OxodkOOkl;,'.lOl:do:;,:lxdl:::cc:,.                                                      ..,'                      
                                ''o0kkOkxxl,.....kxco;''';:lo:;:;;:ldddl;'.                                                 ..',     ..'',;:c:::,.....
                               ':'k0kdl:',;::'..'xOd:.,:coool:;,,;;:;'';;;cl;'.                                             ...,.  .'',',,,,,:::clc;,,
                             ..dxx0Oo;'...,''c;,cOOo;:llloolodxdl;;;.....'..,::;.                                            ..,. .''''','',;;;:;:ccc:
                          'llccoO0Ox:'.......,c'lkdoodc,,::''',:cdkxl::,......;;;;.                                          ..'''''''.''',;;::cllllc:
                          .,.  ,kOOxc,....... ..kdddo:. ..,.     .cxddoloc;'.. ';:;,.                                        ...c,''''.'',;;,;cc:clooo
                               ;OOkxo;...'....:kOkkdl.. ..'        ,:cc'.,cdlc'..,:;,.                                       ..'l;'..''',;,.'';;,'',:c
                               okOxoo;....,loxkxkkkkko;'...            .....;ldl,.';c;'                                       .'cc;'',,,,...'''..',,,,
                              :Oxkxll:o;'.,dO0kxxxxxkkc,'..            .':.   .cxo;,;c:'                                      ..cl;,';,,......''''''''
                            .ckxdkkddldoc..'oOOxdddl:'','..            ..;l:.   .:xl,:c:.                                     ..clc,',:;....';:;'...'.
                          .;okxxxxkxdolol:.. ..'''.   .''..            ..'.;c,    .dl;:o;.                                     .;loc,,c:....';c:;,....
                       .;lkkxddoooolccllll;.    ..     .,'.             ....;c,    .dl:cc.                                     .'lol:,:c',,,,:l:::;'..
                      ckkkxollcccc::::cclc:,.   ...    .''..            ....',;'    .xlcl'                       .;::;'...'.   ..;lo:',::,,:loo:,,,,,'
                     .kxollcc' .l:;;:cccc;,,..   ...    .,,..           .....',,     ;dlo:   .                .;:;,...:,:....'....;:'..,;';oddlc;,''''
                      .'',,,,..oo::::;;;;,;:,... ....   .,;,.           ......','.   .dodc   .               ;do:..   .''''.';c:;,''.. .',:loo:c:;''''
                              ;xdoc::;;,,,;:,.............,:'.          .......',.    cxdl....        ..';,.;dxd,.......';;,;c:;,,;;;,...,:loolol:,''.
                              ;xdolc;.....';,..............::...........,:c:,..,,'..  ,Oxl.'..      .,:lll:lxxool.   ...,'...';;,'.,::::,,:lolodllc,;,
                             .'cllc'.. ...,:,..............':,.........;ll::c:',,,'....xkc'''  .  .,coooolldxl::c:......'.....';;,,,;;;ll:lodlcdolc;;;
                         .....,,','......,;:,...............;:'......,clc:;::c:,;::,...dk:,'...'';loc,';codxo,..,::'..........':;;:::::lolloxdldl:;,'.
                      ........,,,'......;::c;,'...........''':;'....','...',',;;,:::;.'xx:;',,',cl,...,ddodll:'..,c:;''.....;:;cclccllooodxxxxddcc;''.
                    ........',;,,'....,::;lc:;,''..........'';:;.........'''''...,:::;cOd:;,...cc'..;ldxdoc;;::;.';:llc;,;,,;:cllllllooodxdxxxlccc;;;,
                    .....''',;;,,:ldoloolccc:;;:;'..';;:lllooodoc,........''',,,;,'';:dOol;...;c;.:dxoclc;'';;:c;:loodolcccc:;;ccccllolllooll:::::;;;;
                   .....'''';:;,:dolcoddolc;,;:::,,:clldxkdlcldxxxl........',;;;;'''';kkdo,..,cl;.:doc:'....,clllc:;cllooolllc,;;:lllc::cclllccl:::::;
                 .......',,;:clll::::cccllc::;;coddooodolllldoodddxo:......',;;:,''..lOxdd,.':ll,..,:;,'',,,;::;'';;;:cooollloc,,;cllcc::lolllccc:;::,
                 ......',,;:ooc::;,,'..,colllllodoooool:ldxxdoddlcldxo:'....',;c;,'.,kkool'.;ccc,.',:cc::;;lc;;,',;:cccllloolloo:;:cccccclolc::::::,.'
                 .....'',;:dkl'.'co:....;c:odddoooooooooxdokkxdo;,,lxxdl:'....,::;::xkdlo;';:ccccc:cclllool:',;;::;:::::;;:cclodlc::ccllcccc:,,;,,'..,
                 ....'',;;,,,'..'c;,...,,;cdxooc,,;:clclxxkkxxl:,..;dkxddl,...'';cdxkxooo,;;;llollclloddl:,,;:c:cccc:;;;;;;;;:loool:loolcc:::;,:,''',;
                .....'',;,''''''''.......,lddooc'...',:oxkkkxdc;;'';lodxxx:'coklcdxxddldl;;codddoollllccllcclcc::;:c:;;;;;;,,:ll::oldoool:;;::::.',,;;
                .....',;;,,,,,,''''.......cooooc,.''',,lkkkxddlccccllllddxl,xkkddkxdoocol:ldkxdollocc:;:clolllc:;;;;;;;;;;;,;;;;;;coooolc;:::cc;;.';;'
                                                                                                                        ..,.;, ..                     
                                                                                                                        ..;',: ..                     
                                                                                                                         ..',:...                     
                                                                                                                         ...':..'.                    
                                         ......                                                                          ...':...'                    
                                      .cool:,,,,..                                                                        ..';'..                     
                                    .oK0xlcl:.',,;'                                                                       ..',,..                     
                                   .dK0kl;;,;'......                                                                      ...',..                     
                                   ,K0kd:;'..........                                                                      ..';..                     
                                   cKOxd:,.........                                                                        ..';..                     
                                   oXOoc;,......                                                                           ..';..                     
                                  .kKkollc:,.....',,,;,''.                                                                 ...;''                     
                                  .O0xlcccokOOOOOdccdxdoddol;''...                                                          ..,'                      
                                  ,0xldxkOko:;,'lOo:do:;,;lxdl:::c:;,.                                                      ..',                      
                                .'l0kkOkxxl,.....xkco:''.;:loc;;;;:loddl;..                                                 ...,     ..'',;:c:::,.....
                               .c'x0kxo:',::;'...xOoc.';:lool:;',;;::,,;:;:c;'.                                             ...,.  .',,',,,,,;;:clc:;,
                             ..oxd0Od;....'''c;,:OOd:;lloodoodddl;,;........,::;.                                            ..,. .'''''''',;;;::cccc:
                          .cllcoO0Okc,.......'c,cOdoooc;,::,'';:ldkxl:;,......;;;;.                                          ..',.''''.''',;;::cllll::
                          .;.  'OOOxl,....... ..dxooo:. ..,.     .cxddollc;....';:;,.                                        ...c,'''..''';;,;cc::looo
                               ,OOOxo;........;xOkkdl'.. .'        ,cll,.;cdl:' .,::,.                                       ...c;'..''',;,''';:,''':c
                               lkOxdo;....'lldkxkkkkko;....             ....;ldl,.';c:'                                       .'cc;'',,,,....',..',,,,
                              ;kkkxlo:l;..'xk0Oxxxxxkkl,''.            ..;.   'cdl;,;c:'                                      ..cl;',;,,.....'''''''''
                            .;xkdkkddlooc..'oOOxdddlc,','..            ..;l;.   .:do,;c:'                                     ..coc;',:,....',:;,...''
                           'oxkxxxkxdoooo:.. .',''.   .''..             ..':c'   ..do;:o:.                                     .;loc;,:;....';c;;,....
                       .,cxkxddoooollcllol;.    ..     .,'.             ....;c,.   .ol:cl.                                     .'col:,:l,,,,,:l:::;'..
                      :xxkkdollclc:::::cll:,.   ...    .'''.            .....,:'    .dl:l,                       .';:,......   ..;lo:,,::,,;loo:,,,,,'
                     .kkdllc:,..l:;;:clcc:,,..   ...    .,,'.           .....',,     ,xco:.                   .';;:,..;,;,.'......::'..,;',loooc;,''''
                      .,,,;;,..ld:::::;;;;;:,... ....   .,;,.           ......','.   .odol.  .               ,ol:'.   .,,....,c:;,'.....',;ldo:::;,'''
                              ,xdlc::;;,;;;:,.............,:'.          .......',.    ;xoo....        ..',,.,dxd;........;:,;lc;,,;;;,...,:loolll:,''.
                              ;xdolc:'....';;..............::...........';:;,..,,'..  .xxo..'.      .';cll:cdxool'. ....';...,;;,'.,::;;;,;lolodooc,,,
                             .'cooc;.... .,;;..............':,.........,clccc:'',,'....okl'.'  .  .':oooolcoxo:cc:......'.....';;,,,::;cl:coolcdolc;;;
                         .....',,''......';:,...............;:'......':clc;::c:,;c:,...lOc,'.....;loc;';codxo;'.,::'..........';:;::::;lolldddldoc:;'.
                      ........,,,'......,:cc;''...........''':;'.....,,'''',,,;;;:::;..okc;'',''cl;'..'looooo:'..,c:,''.....,:;:clccllooooxxxxddcc;''.
                     .......',;,,'....,::;ll:;,,'.....'....'';:;....'....'''''''.'::c;;kx:;,'..:c'..':dxdol::::;'.;:clc;;;,,;::lllllloooddddxxoccc,;;,
                    .....'''';;,,;colllocclc:;;:;'..',;:cccloodoc,........''',,,,,'';:oOol:'..;c,';oxolll:,,;;:c::llodolcclc:;::cccllollloool::ccc;;;:
                   .....'''',:;,:oolcodxdlc;,;:::,,;clloxkdlcldxxxl........',;;,;'''',xkdd;..'cl;.:dol:;....,collc:;colooolloc,;;:llll::cclllccl::::::
                 .......',,;:clllc:;:cclllc:;;;coddooodollllooodddxo:......',;;;;''..cOxdd;.';ll;..;cc;''',,;c:;,';:;:cooolllol;,;clllc::coollccc:;:c,
                 ......',,;:lol;::,'''',colllllodoooool:cdxxdoddlcldxo:'....',;:;,'.'xkolo,.,clc;..,;cc:;;;cl:;,',;;:cclloooollo:,:ccllccllll::::::;'.
                 .....'',;:dkl,.'cl:....:ccodddoloooooooxddkkxdo;,,lkkdo:.....,::;;,dkxlo:';:cccc:::cllllol:,',;;;;:::::;;:cclodl:::cclolccc:,,;;,,..'
                 ....'',;;,;;'..'c:,...,;;cdxool;,;:cllldxkkxxl:,..;xkxddl'.....,coxkxooo;,;;cldocccloddl:,,,;::::cc:;,,,;;;;:cldol:clolcc:::;,:;'''';
                .....',,;,''''''''.......,lddooc'...',:lxkkkxdl;,'.;lodxxdc';lxl:dxkddldo;:coddddollllccllccclcc:::c::;;;:;;,:llccolddoolc;;:c::'.',;;
                .....',,;,,,,,''','.......cooooc,.''',;okkkxddl:cc:loloddxo,dOkxoxxdoocoo:cdkxdollocc:;ccloolll:;;;;:;;;;;,,,;::;;cloollc;::::c:;'',;,
                                                                                                                        ..,';: ..                     
                                                                                                                        ..;',:...                     
                                                                                                                         ...':....                    
                                                                                                                         ...':..',                    
                                         ......                                                                           ..';. .,                    
                                      .cool:,,,,'.                                                                        ...,,..                     
                                    .o00xlccc''',;'.                                                                      ...,; .                     
                                    dK0kl;;';'......                                                                      ...';..                     
                                   'K0kdc;'..........                                                                      ..';..                     
                                   :K0xdc,.........  .                                                                     ...,..                     
                                   lXOdc;,'.....                                                                           ...,..                     
                                   xKkdllc:,.....',,,,,'..                                                                  ..,''                     
                                   k0xl:cclxOOkO0xccoxdodddl;''..                                                           ..',.                     
                                  'OkldxkOkoc;,'lOo:odc;,,lxxl:::c:;'.                                                      ..',                      
                                .'c0kkOOxxo,.....dkco:''',:loc;::;:codoc;..                                                 ...;.    ..'',;:::::,.....
                               .:'o0kxoc,,::;'...dOdc.';:llol:,,,,;::,,::;cc;'.                                              ..;.  .',,',,,,,;;:clc:;;
                             ..lko0Od:'...'''c;,;k0d:;lllodooxdol;,;.....'..,::;.                                            ..,. .'''''''',;;;:::cc::
                          .:clldO00kc,.......'l,:Odoodl;;:c;,,;cldxxl:;,......,;;;'                                          ...,''.''.''',;;::cllll::
                          .:'  .kOOxl,....... ..oxodo:. ..,.     .:xxdollc;... ';;;,.                                        ...c;'.'..''';;,;cc:clooo
                               'kOOxo;....... 'oOkkdl'.. .'.       ,coo;';lol:' .,::,.                                        ..c:'..''',;,.',;:,''':c
                               :kkkdo:'....cclkxkkkkkl:....          .......;oxl,..;c;'                                       .'cc;'',,,,...'',..',,,,
                              'kkkxll:l;..'dk0kxxxxxkko,'..             .;..  'cdo;,;cc,.                                     .'co:,';,,.....'''''''''
                             ,xxxkkxdlooc..'d00kxdxol;,,'..             .;l;.   .cxo,;cc,                                      .:lc;,,:,....',::,'..'.
                           .cxkxxkkxdoool:....,;,,,.  .'''.             .'':c'   ..dd,;c:.                                     .;coc,,:;....';c:;,....
                       .':dkxxdddoollllcll;.    ..     .,'..            ....;c,    .oo;:l'                                     .'coo:,:c,,,,':lc::;''.
                      ,xkkkdollllc:::::cllc,.   ...    .','.             ....,;'    .dl:l;                       ..,;,......   ..;loc,,::;,;cooc,,;,,'
                     .xkoolcc,..cc;;:clcc:;,..   ...    .,,'.           .....',,.    'dcoc.                    .,;,;'';',;'''.....::,..,;,,cdooc;,''''
                      ';;;;;;. :dc;:::;;;;;:,..  ....   .,;,.          .......','.   .ldoo.  ..              .cl:,..  .;:'...,::;,'.....'';lod::::,'''
                              'xdoc::;;;;;;:;'............,:'.         ........',..   ,kdd.....       ...''..oxdc........,;;;lc;,,;;;,...';codlll:;''.
                              ;kdolc:,....';;'.............::... ........,;,'.',,'..  .okd..'.      ..,:ccc:oxddl'......';'..';;,'.'::;,,,;lolldooc,,,
                             .'cddl;......';;..............':,.. ......,:lccl:'',,'.. .cOo,.,. .  ..;loodl:lxo:clc.  ...'.....';;,,';:;cl::oolcddlc;;;
                         .....',,,,......';;,...............;:'.......;clc;;:c:,,::'...:Ol,'.....,lol:,,cldxo;'',::'. .........;:;::::;collodxlooc:;'.
                      ........,,',......':cc;''...........''':;'.....,;,,'',,,;;,cc:,..cOl;,',',cl:,...:ooddl:'..,::,.......':,;cccccloooodxxxdolc:,'.
                     ........,;,,'....,;::cl:;,''...........';:;....''...'''''''.'::c;'dxc:,,..:l,...,lxdol::c:;'.;:clc;;;,,;::coollloooddddxxdccc;,;,
                    .....'''';;;,;:lccllcclc:;,;;'..',;;c:cooodo:,........'''''',,'';:cOdc:,..;c;.'cddoool;,,;:c:;clodolcclc:;::ccclloollooolc:ccc;;;:
                   .....'''',:;,:ooolodxdlc;,,:c:,,;cclodxxl:lddxdc........',;;,:,''',dOdd:..'cl;.:dol:;,...,loolc:;coooollloc,;;:clllc::clllcclc:::::
                 .......',,;:cllol:;:cclllc:;;;:oodooodolllloooddddo:......',;;;:''..;kxdx:..;ll;..:cc:''',,;c:;,';:;;cooolclol:;;:lllc:;clollllc:::c;
                 ......',,;:lol:::,,,'',locllccodoooool:cdxxdoddlcldxo:'....',;:;,,..oOdoo,.,ccc;..,;cc::;;cl:;,',;;:cllloooolclc,;cllcccllolc:::::;,.
                 .....'',;:dko,.':l:....:ccldxxoloooooooxxokkxdo;',lkkdo:.....,cc;,,ckkolc',:cccc:cccclclolc,';;;;;;::::;;:cclodo::;cclolcccc;,;;;,'.'
                 ....'',;:;;;,..'lc,...,;;cddool;,;ccllldxkkxxl:,..;xkxddl,.....;:ldkxdoo;,;;cloocccloxdl:,',;::::cc:;,,,;;;::clool:coooc:::::,:;'''',
                .....',,;,,'''..''.......,lodooc'...',:lxkkOxoc;;'.;lodxxxc',:dc:dxxxdodo;::ldxdddllllllll:cclccc::c::;;;:;,;:clc:loodoooc;;:c:c,.'',;
                .....',,;,,,,,'',,'.......codooc,..''';lkkkkdolcc::loooddxo,lOOxoxkxooloo:cokxdolclcc:;:lllolll:;;;;:;;;;;,,,;:c:,cloolll:::::c:;..,;,
                                                                                                                        ..'',c...                     
                                                                                                                         .,,'c....                    
                                                                                                                         ...':' ..                    
                                                                                                                         ....;,..;                    
                                         .......                                                                          ...;,..;.                   
                                      .coooc,,,,'.                                                                        ...,;..                     
                                    .oKKklccc''',;,.                                                                      ...':..                     
                                    oK0Ol;;';,......                                                                       ..';..                     
                                   .00kd:;,..........                                                                      ..';..                     
                                   ,K0xdc,.........  .                                                                     ...,'.                     
                                   cXOdl:,'.....                                                                            ..,'.                     
                                   dKOdlll:,......'',,'...                                                                  ..','.                    
                                   xKxlcccldkkkOOxccdkxdddol;....                                                           ..';.                     
                                  .OkooxkOkdl:;'cOd;odl;,,cxxl::;::;'.                                                      ..';.                     
                                .'c0kkOkkxo,.....okcoc',',:lol;::::codoc,..                                                 ...,.    ..'',;:::::,.....
                               .:'o0Oxoc;,:c:'...oOdc..,:clol:,,,,;:c;,:::cc;'.                                              ..,.  .',,',,,,,;;:clc:;;
                              .cxoOOd:'...'''c;,;x0x:,cllooloddol;';'....'..,::;.                                            ..''..'''''''',;;;:::cc::
                          .;clldO0Okl,'......'l;:Oxoodl:;:c;,;:codxdl;,'......,;;;'                                          ...;,'.''.''',;;::clolcc:
                          .c;. .kOOxl;....... ..lkoodl. ..,.     .cxxdoll:,.....;:;,.                                         ..c;'....''';:;;cc:clooo
                               .kOOxd:....... .lOkxdo,.. .'.       ,looc';loc:' .,;:,.                                        ..c:'....',;,..,;:,'',;c
                               ;kkkdo:.....;ccxxOkkkkl:....          .......;odl'..,c;'.                                      .'cc;'',,,,...'','.''',,
                              .xkkxll:l;'..dk0OxxxxxkOd,'..             .;.  .'cdo;';c:;.                                     .':o:,',,,.......'''''''
                             ,dxxkkddlooc..'d00kddxdlc,,,...            .;l;.   .cxo,;cc,                                      .:lc:,,:,....',;:,'..''
                           .:xkxxkkkdoool:...';:;;;.  .','.             ..,:c'   ..od,;c:.                                     .;clc,,:;...'',::;,....
                        .;oxxxddddoollllll;.    ..     .,,..            ....;c,    .oo:;l,                                     .':lo:,:c,,,;';cc::;,..
                      'dkkOdooollc:::::cllc,.   ...    .','.             ....,;'     olclc.                       ..''...       .;loc,,::;;;:loc,,;,,'
                     .xkooocc,..cc;;:clcc:;,..   ...    .,,'.            ....',,.    .dlll.                     .;;:;,;,,:'''.....:c;..';,,coodl:,,'',
                      ,c;;:;;. ,o:;:::::;;;:,..  ....   .,;,.          .......','.    cxod.   .              .:cc,'.  .::,...,;;;'......'';lodc:::;'.'
                              .ddlcc:;;;;;;:;'............,:'.           ......',..   'xdd' ...       ....'..ckxc.. .....';::ll:;;;;;,...';codlll:;,'.
                              ;kdolc:,....';;'.............::... ..... ..','...',,..  .lxd'...      ..':ccl:lxddl'.......;,..,;;,'.';::,,,,cooldooc;,,
                            ..'oxol:'.....';;..............':,.........';llcl:'',,'....;kx,.,.    ..;coodl:lxdcclc.......'....';,,,';:;cl::ldo:ddlc:;;
                         .....',,;,.......;;,...............;:'.......,:ll:::c:,'::'...'Oo,''....,col:,,cloxd:'',::'...........;:;:::;;:ollldxlooc:;,.
                      ........,,',......'::c;''...........''':;'.....,;;;,,,;;;:,:c:;..,Oo;,.,,'cl:;'..;lcodo:'..,::,.......':;;cccccllooodxxxddlc:,'.
                    .........';;,'....,;::clc:,''..........'',:;....''...''''''''';:::'lkc:,,..;l;....:xddoccc:;'.,:ccc:;,'',::clllllooddddxxxdccc:,;,
                    .....'''',;;,;;:ccclccccc;,;;'...',;:::loodoc,.......'''''',,,,,;::kxc:,..,c;..;ododdoc;;,::c;clooolcclc:;;:cccllloooooooc::cc;,;:
                    ....'''',;:,:oddlodxdlc:,,:::,';cclodxxlclddxdc.........,;;,;;''',oOxoc'..:l;.:dooc:;'..,lodol:;clloollllc;,;:clllc::clll:clc:::::
                 .......',,;:clllc:::cllllc:,,,:looooodolollododxddo:......',;;;;'''.,xkxxc..;ll;.'cllc,''',,cc:,',:;:cloolclll:;;:llllc:clollllc::;c;
                 ......',,;:lol:::,,,,';locclccodooooolccoxxdldxlcodxo:'....',;:;,'..cOxlo;.,ccc;..';cc::;;:l:;,'';::cllloooolllc;;ccclccllolc:c:::;,.
                 .....',,;:dko'..:l:....:ccldxxoloooooooxxokkxdd:',ckkdo:.....,cc;,':kkoll,,:cccc:::cclccllc,';;;;:;::::;;:clloooc:::clllcccc;,;:;,'..
                 ....'',;;;:;,..'lc,...,;:cddool;;::cllldxkkxxl:,..;xkxddl'.....,;loxxdlo:,,;:looccclodxoc;,';::::cc:;,,,;;;;:ccool:cloll:::::,::'''',
                .....',,;,,'''..''.......,loddol,...',:lxkkOxol;,'.,lodxxxl'.,lc;odkxdooo;;:ldddddollolllc::clccc::c::;;;:;,,:cll:llodoooc:::::c;.'',;
                ....'',,;,,,,''',,'.......lodool,..''';lkkkkxdl:::;loooxxxd,;kkdldxxdollo:coxkxdlllcc:;:llloool:;;;;:;;;;;,,,;clc;:lodoll:::::c:;..,;,
                                                                                                                         .','c. ..                    
                                                                                                                         .,:':' ..                    
                                                                                                                         ...',, ..                    
                                                                                                                          ...,; .,.                   
                                         .......                                                                          ...,; .;.                   
                                      .:odoc,',,'.                                                                        ...':..                     
                                    .l00kl:cc'.',,,.                                                                       '.':..                     
                                    lK0Oo;;';;......                                                                       ..';..                     
                                   .O0kdc;,'.........                                                                      ...,'.                     
                                   'K0xdl;'......... .                                                                      ..',.                     
                                   ;K0xl:,'.....                                                                            ..',..                    
                                   cKOdlll:,......'''''...                                                                  ..';'.                    
                                   oXxocc:loxkkkOxccoxxdddoc,....                                                           ..';'.                    
                                  .xOldxkOkxoc;,ckd:ldl:,,cdxoc:;;:;'.                                                      ...;.          .          
                                ..;OkkOOkxo;.....lOlll,'',:cdl;:::;:odo:,..                                                  ..,'    ..''';:::c:,'....
                                :,l0Oxdl;,;::'...cOol'.,;clol:,,',::::::c:c:,..                                              ..''  .'',',,,,,;;:clc:;;
                               ,xlkOx:,...''':;',o0kc,:llloolddoc;','.......,::;.                                            ...,...''''''',;;;:::cc::
                           ';lldO00kl,'....'..l;,kkooooc;:l:,;clodddl;,.......,;;;'                                           ..;;'.''.''',;;:cclllcc:
                          .l:. .dOOkl;'...... ..:koool. ..,.     .:xxdoll;'... .;:;;.                                         ..c:'....''';:;,cc::looo
                               .xOOxd:....... .:kkxxd;.  .'.       ,lodo,;loc;' .,;:,.                                        ..:c,...'',;,..,;:;'',;c
                               'kkkdo:.....,:;dxOkkxkl:....          .......;odl'..,:;,.                                      .':c;''',,,...'',,..'',,
                              .dkxkol:l:'..dk0Oxxxxxkkx;'..             .,.. .'cdo,.;::;.                                      ':lc,,,,'.......'''''',
                             .okxxkddlooc..'d00kddxxdl;,,...            .;c,.   .cxo;,:c,.                                     .:cl;,,:,....',;;;''.''
                            ,dkxxkkxxoool:...,:c:::'. .'''.             .';cc.   ..lx,,:c'                                     .;clc,,:;...'',;:;,....
                        .'cdxxxdddooollcll;.    ..     .,,..             ...;c,     cd;;c:                                      ';co:':c,',;',cc;::,'.
                      .lkOOxoooollc::::cllc;.   ...    .','.             ....;;'     lo::c.                        .....        .,coc;,:;,:;:lol;,;;,'
                     .dkdooc:;..;l;;:cccc:;,..   ...    .,,'.            ....',;.    .doll.                     .',:c;;,';,...  ..:c:..';,,;oool:;,'.'
                      ;cc:c::. 'oc;;::::;;;;,..  ....   .,,,.            .....','.    ;xod,   .               '::;,....:::...';,,'......'',cddl::;;'.'
                            . .oxccc:;;;;;;:;'............,;,.           ......',..   .ddx; . .        ..... ,xxl,..   ..',::cl:;;;;;,....,:odlclc;,'.
                              ,kdolc:;'...';;'.............::... ..... ........','..   ;xd:....     ...,;:c::dxxl'........:,',:;'''';::''',coolddol:,,
                             ..oxdlc,.....';;'.............':,..........,cllc;'',,'..  .xx;.,'     .,clddo::dxocll'  ....''...';,',',:::c:;loocodolc;;
                         ......;;c;.......,;,...............;:'........;clc::c:'';;'....xx;.,.....:ol:,';loddl,,;::'.. ........;:;:::;;;llclodololc;,'
                      ........',,'.......;:c;''...........'.,:;'.....';::;;,;;;:,:c:,...xd;,..'':lc;,'.,:codd:'..,:c,...... .;;:c:ccccloooodxxddocc;'.
                    .........';;,'....';::cl:;;............'',:;.....,...'',''','';c:;.,ko;;''.;l;.....ododocc:,..,:cc:::;'',:::lollllodddddxkxllc:;,,
                    .....'''',;;,',;;;:c::ccc;,;;'...'',;;;clooo:'.......''''''''',,;:;okcc;'.'c;...;ldxdol:,,:::;:loooolclc:;::cccclllooodoolc:cc;,;:
                    ....'''',;:;;lddoodxdlc:;;:c;,'':cloxxxoclddxdc.........',;,;;''',:kkoc,..;l;.,oxoc:c;'.,cooolc;:lolollcll,,;:lllll::clllc:cc:::::
                 .......'',,;cllllc:;cloolc:,,;:llodolodoooloooddddo;......,,;;,;,.'.'oOxxl'.,cl;.'lol:;'''',clc;'';;::loolccll:;,:llllc:cllllllcc::c:
                 ......',,;;lol:c:,,,,,;cocccccldooooolccodkdlddolldxo:'....',;;:'''.;kkooc.':lc;..':ll::;,:cc;;'',;:cclooooolclc;,ccllccllllcc::::c;.
                 .....',,,:dko,.':l;....:l:ldxxoloooolloxxoxkxdoc,,cxkdo:.....,cc,,''dkdoo;';ccc:;::cclcllll;',;;;;;;:c:;;:ccloooc;:cllllcccc:,;:;;'..
                 ....',,,;::;,..'lc,...,;:cddool:;:ccolldxkkxdo:,..,xkxddl'....',;:lxkxooc,;;:colcccloddoc;,';:::::cc;,,',;;;:ccoocccllol:::::;;c,''''
                .....',,;;,'....''.......,ldddoc,...',:ldkOOxol:,'.,loddddl,..;:,loxkddlo:;;ldddooolllollc;;cccc::ccc;;;;:;;,;ccoclloooool:::::c:.'',;
                ....'',,;,,,'''',,'.......cdddoc,...',:okOOkxolc::;coodddxd;'lkdcoxkxoold:clxkxdllolc:::clllollc;;;;;;;;;;;,,;cll::llooollc:::cc:'..,;
                                                                                                                         ..,':' ..                    
                                                                                                                         .'c';, ..                    
                                                                                                                         ...',; ..                    
                                                                                                                          ...,: .'.                   
                                         .......                                                                          .'.':..,'                   
                                      .:odol;'',,.                                                                        .'.':..                     
                                    .l00ko:cl,.',,,.                                                                       ..';..                     
                                    lK0Oo;,,,;.......                                                                      ...,'.                     
                                   .O0kdl;,'.........                                                                       ..',.                     
                                   .00xdl;'......... .                                                                      ..',..                    
                                   ,K0xl:;'.....                                                                            ..';..                    
                                   cXOdolc:,...  ...''....                                                                  ...;'.                    
                                   cKkocc:codkkkkklcoxxdddoc,....                                                           .'.;,.                    
                                  .xOoodxkOxoc:;ckx:cxl:;,cxxoc:;;;;..                                                       ..;.          ..         
                                 .;OkkkOkxd;.....cOllo,'',:coo:::::cool:'.                                                   ..''    ..',';:::c:,'....
                                ;,c0Oxdl;,:::'...:Odl,.,;:lolc,,',::::::ccc:,..                                              ...,  .',,',,,,,;;:clc::;
                               'xlx0xc,...''':;',o0kc':lllooldooc;',,...''..,::,.                                             ..,...''''''',;;;:::c:::
                           .,codO0OOo,'....'..l;,xkolooc:clc;:codxdol;'.......,;;;'                                           ..;:'.''.'''';::cclllcc:
                          .oc. .oOOko:'...... ..;koooo' ..,.    ..:xxddlc;'... .;:;;.                                         ..:c''...''';:;,ccc:cloo
                                dOOkdc....... .;xkddo;.  .'.       ,oddo,:ooc;' .,;:,'                                        ..:c,...'',;,..,;c;,',;:
                               .xkkxoc.....';;lkOkOxkl;....          .......;odl'..,:;'.                                      .':c:''',,,...'',,.'',,'
                               lkkkol:c;'..okOOxxxxxkOx;'..             .'.. .'ldl,.,:c;.                                      ':cc,,,,'....'..'''''',
                             .ckxxkddlooc'.'d00kddxddo:,,...            .,c,.   .cdo;,:l;.                                     .;cc:,,:'....',,;;'..''
                            'okxxkkkxoool:. .,clccc;. .''...            .';cc.   ..lx;;cl'                                     .;:ll,,:;...''';:;;....
                         .:oxxxdddddolllll;.           .',..             ...;c,    .cd;;c:.                                     ':co:,;:,,,:',:c:::,'.
                      .cxOOxdooollc::::cllc;.   ...    .','.             ...',:,     cd::l.                          ..         .,col;,:;,:;;col;,;;,'
                     .dkdool::'.,l:;:ccccc;,'.   ...    .,''.            ....',;.    .oocl'                      .,;c:;,',,''.  ..:lc..';,,;lodl:;,'''
                      colccc:' .lc;;:::::;;;,..  ....   .,,,.            .....','.    ,xod;   .               .,;;,'...;:c'..',,,'......'''lodo:::;'.'
                           .. .lxlcc:;;;;;;:;,............,;,.           ......','.   .lddc.  .        ..... 'dxc;..  ..',';:clc:;;;;,....,:ldoclc;,'.
                              'xxolc::,.'.':;'.............::... ..............','..   ,xdc....     ...,;:c:,oxdo,........;:,,:;'''';::,.',:oolooolc,,
                             .'oxdoc;.. ...;;'.............':,..........':clc;.',,'..  .dxc.',.    .':lool::oxolll'. ....',...';,''',::;c:;coocodolc;;
                         ......;:c:'.. ...';;...............;:'........,:lc;:c:'',,'....ok:.'.....;ll:,';loddl,,;::'.....'.....,:;;:::;;llclodoldlc:,'
                      ........',,''......;::;''...........'.':;'......;cc;;;;;;:,;::,...ox:,..'';ll:,..':cldd:'..':c,........;;:::cccclloooddxddocc;'.
                    .........';;,'....';;:cl:;;............'.,:;.....,'..',,,,,,'';c:;.'xd:;',';l:.....coooocc:,..,:cc:::;'',:::colllllddoddxxkoclc;,,
                    .....''''';;,'',,;::::cc:;,;;'...'',:;;clloo:'.......'''''''.',;;:;lklc;,.'c:...,:oxxdlc;,:::;:loddoccll:;::ccllllloooddolc:cc:,;:
                    ....'''',;;;;ldxoodxdoc:;,::;,'';cloxxxoclddxdc.......''',;,,;''',:xklc,..;l;.'cxdlclc;',cooolc::oooolccll;,;:cclllc:clllc:cc:::::
                 .......',,,;cololc::cloolc:,,;:llodolodooolldoddxdo;......',;;,;,''..lOkdl'.,cl;.'lol::;'',,:lc:'';;:cloolclll:;;;clllc::llolllcc:::c
                 ......',,,;col:c:,,;,,;locccccldooooooccoxxdoodocldxo:'....',,;:'''.'kkddl.':ll;..'coo::;,;cc;;'',;:cccloooolclc;,:lllcccllolccc::::'
                 .....',,,:dko,.':l;....:c:ldddoloooolloxxoxkxdoc,;cxkdo:.....':c;,'.oOdlo:';:cc:;;:cclcclll:',;;;;:;:c::;:ccloooc;:cllllccclc,;;;;,..
                 ....',,,;:::,'.'lc;...,::cddool:;:clolldxkkxxoc,..,xkxddl,....,,;:cokxool,;;:colcccloddol:,';::::ccc:;,',,,;:ccoocccllol:::cc;;:;''''
                .....',,;;,'....''.......,ldddol,...';:lxkOOxol:,'.,coddddo,..,;,coxkddlo:;;coddddolllool:;;:ccc:ccc:;;;;::;;;:cocllooooolc:;::::''',;
                ....'',,;,,,''''''........cdddol,...',:oxkOkxdlc:;,:oodddxd;':dd:lxxxoolo::lxkxdllllccc:lllloolc:,,;;::;;;,,,;cll;;lloooolc:::cc:'.',;
                                                                                                                         ..,';, ..                    
                                                                                                                         ..c,,; ..                    
                                                                                                                          ..'': ...                   
                                                                                                                          ...':....                   
                                         .......                                                                          .'.':..',                   
                                      .:dxdl;',,'..                                                                        ..';'.                     
                                     lKKkoc:l;.,,,,.                                                                       ..','.                     
                                    cK0Oo:,,,;.......                                                                      ...',..                    
                                    k0kdl;,'.........                                                                       ..',..                    
                                   .00xdo;'...........                                                                      ..';..                    
                                   'K0xoc,'.....                                                                            ..';..                    
                                   ;X0xolcc;'..  .........                                                                  ..';'.                    
                                   :Kkocc:cldxxxkxocoxxdddo:,....                                                            ..;,.                    
                                   d0doxxkOxdlc;ckx:cxoc;;cdxlc:;;;,..                                                       ..,'         ...         
                                 .'OOkkOkxd;'....:Oolo;''';cooc:;::cool:'.                                                   ..',    ..''';:::c:;'....
                                ,;c0Okdo:,:::,...;Odl,.';:cooc,,,,;:ccccccc:,.                                               ...,. ..''',,,,,;;:cc::;;
                               .dlx0kc,...''';;''cOkl';lllooloolc;',,...''..,::,.                                             ..,'..''''''',;;;::cc:::
                           .,:odO00Od,'....'..l:,xOdlodl:cll::lodddoc;'.......,;;;'.                                          ..,c'.'..'''';::ccllllc:
                          .oo' .okOko:,...... ..'koooo,...'.   ...:xxxdlc;'.....;;;;.                                         ..:c,'...''';:;,cc::cooo
                                oOOxdc'......  'xOxxo:.  ...       'oodo;cll:,. .';:,'.                                       .'::;..''',;,..,;c:,',;:
                               .xOOxdc......,'ckOkkxkl;....          .''...':ool'..':;'.                                       ':c:'.',,,...'',;.',,,'
                               ckxkoocc;'..okOOxkxxxkkx;'..             .'....,ldl,.,::,.                                      .:cc;',,'......'.'''.',
                             .:kxxkdolodc'.'d00kddxxddc,,...            .,c'.   .cdo;;:c;.                                     .:cc:,,;'....',,;;''..'
                            .lkxxkkkxoooo:...;oolll:. .',...            .';cc.   ..lx;,:l,                                     .,:ll;,;,...''',:;;'...
                         .;lxxddddddolllll;.    ..     .',..             ...;c,    .cd;;:c.                                     ';co:,;:,,,;',:c::;,'.
                      .:dkOxdoooolc::::cllc;.   ...    .','.             ....;:,     :dc:l.                           .         .;cll;,:;,::,cll:,,;,'
                     .okxddlc:'.;l:;:ccccc;,..   ...    .,''.            ....',;.     ldcl,                      .',cc:'..''..   .:lc'.';,;;codo:,,'''
                     .cdlclcc, .lc;;:cc::;;;,..  ....   .',,.          .......','.    'doo:                   .',:,''..;:c,..',,.'......'''codoc::;'..
                          ... .cxlc::;;;;;,:;,............,;,.           ......','.   .cxdl.  .        ..... .oxl;'.  ..,,',;clc::;;,,....':oddclc:,'.
                              'xxolc::,.''';;,.............::... ..............','..   .xdl....      ..',;c:'lxxo;........,:;;::,''';::,.'':oolooolc,,
                             .'dxdlc;.. ...;;'.............,:,..........';cc:,.',,'..   okc.',.    .';looo:;lxdlll'. ....';'..',,,'',:::::;coocldoll::
                         ......;clc,......';;'..............;:'........';ll:cc:'',,'....lk:'''....;llc;,;clodo;,;::'.. ..'.....,;;;:::;;coclodoldoc:;'
                      ........',,''......,::;''...........'.':;'......,ccc:;;:::';::,...lk:,'..',loc,...;ccddc''.,:c,........;,;::cccccllooddxddolc:,.
                    .........';;,'....';;:clc:;............'',:;.....,'''',,,,,,,,;c:;..ox:;',';l:.....,oloolc:,..,:c:;;:;'',:::collllloodddxxkdccc;,,
                    ......'''';;,'.'',;::;cl:;,,;'...'',;,,:cloo:'.......''''''''',;;:;:ko::,.'c:'...;cxxdoc;;:c:;:loddoccllc;;:clcllllooodddoc:ccc,;:
                    ....''''';:,;ldxdodxdllc;;:c;'.';cloxxxoclddxdc.......''',,,,;''';;dkol;..;l;..;ddooll:,,:llool::ooollccll:,;;ccllll:clllc:clc::::
                 .......',,,;colloc::cloolc:,,;:clooolodooollooddddo;......',;;;;;''..:Okdo,.'cl;.'odoc::,',,:llc,';;::loollllc:;;:clllc:clllllllc:::c
                 ......',,,;colcc:,,;;;;locccccldooooolcclxxdooxocldxo:'....',;,:,''..dOxdl'':ll;..'cloc:;,;cc:;'',;::clooooolllc;,:lllccclllllccc:::,
                 .....',,,:dko,..:l;....:l:ldxxolooooolodxdxkxddc,,cxxdl:....'':c;,'.:Oxol:',:cc:;;:cclcclll:,,;;;;;:::::;:lcloool;;clllllcclc;;::;,'.
                 ....',,,;:c:,'.'ll;...,::cddool::cclolodxkkxxoc,'.,xkxddl,....';::cckkool;;;:colccccloddl:,',::;:ccc:;,'',;;:cclolccllolc::c:;;c;''''
                .....',,;;,''....''......,ldddol,...,;:cxkkOxol:;'.'cdddddo,...,':lxkxdloc;::oddddolllool:;,:c::::ccc;;;;;:;;;::llllooooolcc::::c'.',;
                ....'',,;,,,''.'''.......'cdddol,...'':dkkOkxdoc:;,:dooddxd;''od;cdxkdoloc:ldkkdllllccccllccolccc;;;;;;;;,;,';:llc;lloooolc:;:clc'.',;
                                                                                                                         ..,';; ..                    
                                                                                                                         ..:;,: ..                    
                                                                                                                          ..'':....                   
                                                                                                                          ...':....                   
                                         .......                                                                           ..';...;                   
                                      .cdxdl;'','..                                                                        ..';'.                     
                                     cKKkoc:l:.',,,.                                                                       ..'',..                    
                                    :K0Od;,,,;'......                                                                       ..';..                    
                                    xKkxl:,'.........                                                                       ..';..                    
                                   .O0xdo:,...........                                                                      ..';..                    
                                   .K0xoc;'.....                                                                            ...,'.                    
                                   ,K0xolcc;'..  ........                                                                    ..;,'                    
                                   :Kkocc:cloxxxxxocoxxxddo;'...                                                             ..,;'                    
                                   l0dodxkOkdlc;ckk:cxoc;;cdxlc:;;,,..                                                       ..''         ...         
                                 .'kOkkOkxd:'....;Oolo;''';coo:;:::clol;'.                                                   ..',.   ..''';::cc:;'....
                                ';:0Okdo:,:::,...,Okl;.';:looc,,,,;::lccllc:'.                                               ...,. ..'''',,,,;;:cc::;;
                               .dcd0kl;'...,';;'':Okl',ccloolool:;'',...''..,::,.                                             ..,,..''''''',;;;::cc:::
                           .':ldO00Oo;'....'..l:,oOdlodlccol:clddddoc,'.......,;;;'.                                          ..;c'.'..,'.,;::cclllcc:
                          .oo,..lO0ko:,...... ...xdood;...''   ...:xkxolc;......;;;;.                                         ..:l,....''';:;,cc::cloo
                                lOOkdc'......  .okddoc.. ...       'ddoo::ll:,. .';:;'.                                        ':c;...'',;,..';c:,',;:
                                dkOxdc'.....,':xOkkkkl;....         ..',. .';ooc'..,:;'.                                       ':c:'.',,,...',,;..',,,
                               :kxkoocc:'..lkkOxkxxxkkk:'..             .... .,ldl,.,::;.                                      .;cc;',,'....''''''''',
                              ;kxxkdocodc'.'dO0kxdxxxdl,,...            .,:'.   .:do;;;c:.                                     .;cc:,,;'....',,;;''..'
                            .cxkxxkkxdooo:...;ddlllc'..'''..            ..;l:.   ..lx;,:l,                                      ,:cl;,;,....'',::;'...
                         .,cdxxddddddollll;.    ...    .',..             ...;c,     :x;;:c.                                     .;:oc,;:,,;;',;c:::,'.
                       ;okOkdooooolc:cccllc;.   ...    .','.             ....;:,     :d::l'                                     .;:ll:,:;,:c,:ll:,,;,'
                      lOxddocc,';c:;::cccc;;'.   ...    .,,'.            ....',;.     cdcl;                      ..,;c;,......   .:lc,',;,;;:odo:,''''
                      cdoclcc, .cc;;::c::;;;,..  ....   .';,.          .......','.    .dooc.   .               .':,',..,;;;..','........''.:odoc::;,..
                       ....... :xl::::;;;;;;;,.......... .,;,.           ......',..   .;xoo.  ..        .. . .ldl,,..  .;;,';:cc::;;,,....':lddclc:;'.
                              .xxolc::,',,,;;,.............::... ..............'',..   .ddo....      ..',;::':xxo:........';;;c:,'',;::'..':lolodolc,'
                            ...dxdll:'. ...;;'.............':,...........,:c:,..,,'..  .cko.''.    .',cool:;lxdool'.......;,..';,,'',;c:;:,:olcldool:;
                         ......;llc;......';,'..............;:,........';clccc:'',,.....:Ol'',....,clc;,;clldo:;:c:'......'....,;;,;::;;:ocloooldoc:;'
                      ........','''......,::;''...........'.'::'......,:cc::::::';::'...:kc,'...,coc,...':cddc''.'::,........,',::cccccclooodxxodlc:,.
                    .........',;,'....';;::cc:;............'',:;.....',,,,,,,,,;,,;c:;..lkc:'',;l:'....'lloolc:'..,:c:;;:;,.':c:cllllllododdxxkdllc:,,
                    ......''.';;,'..'',::;clc;,;;'...''';,,:cloo:'.......'',,''''.';;:;;xd::,''cc'...';dxdoc;;:c:;;llddolcclc;;:llcllllooodddol::cc;,;
                    ....''''';:;;coxdddddllc:;::;'.';:cldxxolcoxxd:.......''',,,,;,'';;lkol;'.;l;..'lddodoc;,:cooolc:oooolcclo:,;;cclllccclllc:clc;:::
                 .......',,,;clloocc:lloolc;,,;:clloolooodollooddxdo;......',;;,;;'''';xkdo;.'cl;'.lddc;:;,,,:oll;';;:cloollllcc;;:cllll::cllllllc:::c
                 ......',,,,colcc:,;;;;:lolc:::ldooooollcldxdooxolldxo:'....',;;;,''..oOxdo'.;ll;'.,cool:;,,:c:;,',;::ccooooolcll:,;lllccclllllccccc:,
                 .....',,;:dko,.':c;...':c:lodxdlooooooodxdxkxodc,,:xkdl:....'';:;''.;Okolc',:cc:;;::clcclloc,,,;,;;;::::;:llllooc;,ccclllccll:;::;;,.
                 ....',,,;:cc;..'ll:...,::cdddol::cclolldxxkxxoc,..,dkxddl'....,::;::xkdol;,;:cllc::cloddlc;',;:;::cc:;,',,,;:ccldl:cclloc::cc;;::,'.'
                .....',,;;,'.....'.......;loddol,...,;:cdkkOxolc;'.'cdddddo,.....;cdkxdloc;::oxddoolllool:;,:c:::cccc;;;;;:;;;;:llllooooollc::::c,.'';
                ....'',,;;,'.'..''.......'loddol,....,:dkkOkxdlc:;,;oooddxd;..;d;:dkkdoldcccdxxdllllllccol::llllc;;,;:;;;,;,',:llc;llooooocc:;:cc,..,;
                                                                                                                         ..',,: ..                    
                                                                                                                          .;;':....                   
                                                                                                                          ...':....                   
                                                                                                                          ...';'...                   
                                         .......                                                                           ..';'..;.                  
                                      .cdxdo:'',,..                                                                        ...,,..                    
                                     c00Odc;cc.'',,'.                                                                       ..';..                    
                                    ;K0Od:,,';'......                                                                       ..';..                    
                                    dKkxo:;'.........                                                                       ..';..                    
                                   .kKkdo:,.........                                                                        ...;..                    
                                   .0Kkol;,.......                                                                           ..,'.                    
                                   'K0xolcc:'..   .......                                                                    ..,,.                    
                                   ;KOocc::loxddxxocoxxxddl;'...                                                             ..,;'.                   
                                   c0dodxkOkdol:ckkc:xoc;;cdxo::;,,'..                                                       ..';         ...         
                                 .'xOkkOOkx:'....,Odlo:''';codc;::::lol;'.                                                   ..';.   ..',,;::cc:;'....
                                ':;OOkxdc,;::,...'kko:.',;cloc,,;,;::cllllc;'.                                                ..,. ..''',,,',;;:cc:::;
                                olo0Ol;'...,'::.';OOo',clloolool:;'';....'.',::,.                                             ..,;..''',''';:;;::cc:::
                            .;ldOO00x;'....'..c;,lOxoldoclll:cldxdoll,........,;;;'.                                          ..,c,....,'',;::ccllllc:
                          .od:..lOOkd:,...... ...xdolo:...''  ....:dkxolc;.... .;;;,.                                         ..;c,'...''';:;;cc::cloo
                                ckOkdc'......  .lOdxoc.  ...       .dddo:clc:'...';:;'.                                        ':::'..'',;'.'',c:,',;:
                                okOxdc'.....'.,xOkOkkl;.....        ..,,. .':ooc'..,;;'.                                       ':::'.',,,...'',;'.',',
                               ,kkkdlcc:'..ckxOxxkkxkkk:,..             ......,ldl,.':c;.                                      .;:c;,,''....''''''''',
                              ,xxxkdolodc'.'dOKkdxxxxxo;,'..            .':'    .cdo,,;l:.                                     .;:cc;';'....',',:,'..'
                            .cxkxkOkxdloo:...:dxdool,..','..            ..:l:.   ..lx;;;l;.                                     ,;cl;';,....',,::;'...
                          .:oxxddddddollll;.   ....    .',..             ...::'     ;x;,:c.                                     ';:o:,;;,,;;',;cc::;'.
                       'lxOkddddollc:ccclll;..  ...    ..,'.             ....;c,     ;x::l,                                     .,:lo:,:;,:c,:co:;,;;,
                      cOxddolc,';l:;:::clc:;'.   ...    .,,'.            ....',;.     :xccc.                      ..,:;,......   .;lc;',;,,::looc;''''
                     .lxollcc;  ;l;;:cc::;;;,..  ....   .';,.            .....',,.    .oool.   .               ..,;';,.,,,:'.''......'..''.:oddc::;,'.
                       ....... ,dl::::;;;;;;;,.......... .,;,.           ......',..    ,xod.  ..            ..:dl;'..  .;:,',:lcc:;,,'.....;lodccc:;'.
                              .dxolc::;,,,,::,.............;c..  ...............''..   .odd.....     ...',;:',dxo:'........,::c:,',,;::,..':lolodolc,'
                             ..xkoll:,.....,;'.............'c,...........';;,'.''''..   :kd'.'.    ..,coolc;cdddol,.......,;'.';,'''';::;:,:ooclddol::
                         ......:ool;'.....';,'..............,:,.........,clccc;'',,'....,Oo,.,. ..,clc:,;:llddc;:c:'. ....'....,;,,;::;;:ocloodldol:;'
                      ........',,''......';;;''...........'.'::'......';clc:::::,,:;'...,Ol,'...'col,...';codl''.';:,........',,:::cccc:coooddxodlc:,.
                     .........,;,'....',,:ccc:;............'',:;......,,,,,,,,,;;';c:;..:kc;'.,;lc,'....cllolc:'..':c:;,;;,.':c;:lllllloodddxxxxllc:;,
                    ......'''',;,'....,;:;cl:;,;:'....'',,,;ccoo:'...'...'',,''''.':;:;,dx::,,':c'....,lxdol:;:c:;;coodolcclc;;:clllllloodddddoc:cc;;;
                   .....''''',:;;:lxdoddolcc:;::;'..;:cldxxolcoxdd:......'''',,,'',',;::kdl:'.;l:...;oddxdl:,;cooolc:looolccco:,;::clllccclllc::cc::::
                 .......',,,,cllool::clddlc:,';:cllllooooddooooddxdo;.......,;;,,;'.'',dkdd;.'cl:'.cxdl:c:;,,;ool:';;:cloollcclc;;:cllllc:lllllllcc::c
                 ......',,,,cooccc;;;;;:lolc:::lddoooollcldxdooxdlloxo:'....',;;;,''..:Okxd;.;cl;'.'loolc;,,;c::;'';;:ccooooolcll:;;llllcclllllcccc:c;
                 .....',,;;oko,..:c;'...:c:lodxdlloolooodxdxkxddc,,:dkdo:....',;:,,'.'xkoll,,:cc:;;::cll:lllc;,;;,;;;:cc::cllllolc:,ccllllccll:;::;;,.
                 ....',,,;:lc;..'ll:...,:::dxdolc:cllooldxxkxxdc;..,dkxddl'....,::;;;dkxoo:,;:clocccccoddoc;',;:;;:cc:;,',,,;:cclol::clloc::cc:;::,'..
                .....',,;;,'.....'.......;loddol,..',;:cdkkOxolc;'..cdxdddo;.....,coxkxool;;:ldddoolllodl:;,:::::cccc;,,,;:;;;,;cllolooooolc::::c;.'',
                ....'',,;;'''...''.......,loddol,...'':oOOOkxdlc:;,;looddddc..'c,;oxkddlol::okkdollllcccol::lcllc;;,;:;;;;:;,,:lll;llooooolc:;:cc;.'';
                                                                                                                          .',':....                   
                                                                                                                          .':':....                   
                                                                                                                          ..'';'...                   
                                                                                                                           ...,,...                   
                                         .......                                                                           ...,;..;.                  
                                      .cxxoo:,',,..                                                                         ..';..                    
                                     cK0Odc;cc.'',,,.                                                                       ..':..                    
                                    ,K0Od:,,',,......                                                                       ...;..                    
                                    oKkxo:;'.........                                                                       ...,..                    
                                    xKkxo:,............                                                                      ..,'.                    
                                   .OKkdl;,.......                                                                           ..,,.                    
                                   .00kolcc:'..    .....                                                                     ..,,..                   
                                   'KOdcc::cldddddollxxxxol;'..                                                              ..',,.                   
                                   :0dodxkkkxdlccxkc:ddl:;:dxo::;,,'.                                                        ..';.        ....        
                                 ..dOkkOOkxc'....,kxcoc''',codc:::::lol;..                                                    .',.   ..',,;:::c:;'....
                                .:;OOkxdc,;c:,...'kOo:.',;cloc,';,;:cclcolc;'.                                                ..,' .'''',,,',:;:cc::::
                                lcl0Oo;,...,.;;'',kOo'':cloololc:;'';'...,.';::,.                                             ..':'.''',''';:;;::cc:::
                            .,coO000x;'....'..c:,lOxoloollolclodddolc'........,;;:'                                           ..'l,.'..,'.,;:cccllllc:
                           cxc..lOOkdc;....'. ...oxlooc...',.....':dkxoc:,.... .;;;;.                                          .,c;'..'''';:,;cc::cloo
                                :OOkxl,......  .:kddol.   ..       .oddocclc;'. .';;;'.                                        .;::'..'',;'.',,c:,,,;:
                                oOOxdl'.......'oOOkkkl;.....        .';;. .':llc...';;'.                                       ';:c'.',,,...',,;'.',''
                               'kkkdlcc:'..:kxkxxkkxxkkc'..             ... ..;ldl,.'::;'                                      .;:c;,,''....,,'..'''',
                              'xxxkdocldc'..dO0kdxxddxd;,...            .':'    'cdo,,;c:'                                     .;:cc;';'....',,,;,''.'
                             ;xkxkOkxdloo:...cdkdodo:..','..            ..:l:.    .lx:,;c;.                                     ,;:l;';,...'',,::;'...
                          .;lxxdddxxdollll;.   .....   .',..             ...::'    .;x;,:c'                                     .;:lc,;;,,;;,';:c::;'.
                       'cdkOddddollccccclll;..  ...     .,'.             ....;c,     ,xc:c:                                     .,;co:,:;;:c,;coc,;;;,
                      :kddxolc;,;c:;:::ccl:;'.   ...    .,,'.            ....',:.     ;xccl.                       .'','.....    .;lc;',,,;:;looc;,'''
                     .okdllc:;. ;l;;:ccc:;;;,..  ....   .';,..           .....',,.    .colo.                    .';';;',,.:;'''...''.'..,,.,oddl::;,'.
                       ....'.. 'dl::::;;;;;;;,.. .........,;,.           ......',..    .dod'   .            . ,ol:''....;:;',:cccc;,''.....;lddl:c:;'.
                              .lxolc::;,;,,:;,.............;c..  ...............''..   .lxd,....     ...',;;.,dxd;,........';:c:,',,;;:,..';loooooll;'
                             ..xxdllc;.....,;'.............'c,...........',;,'..'''..   ,kd,.'.    ..,:colc;:ddodl,.......';,.';;,''';::;;,:lolcddolc:
                         ......:ool:'......,,'..............,:,.........':lccc;'',,... ..kd;.,. ...:ccc:::llodl::cc,. ....'....,;,',:;:;:occoooldol::,
                      ........',,,,......';;;''...........'.'::'.......,:lc:;:c:,';;'....ko;',...:ol;....,codl,.'';c,........''':c:cc:c:coooooxddlcc;'
                     .........,;,,.....,,:ccc;;............'',:;......,;;;,;,,,;,';c:,..,kl;,.';lc,'.'..;ccooc;'..':c:;,;:,..:l::lllclloodddxxxxocl:;,
                    ......'''';;,'....';;;cl:;,;;'....'','';ccoo:'...''..',,'''''.':::;'lkc:,,,cc'.....:xdooc:::;,;:lodolcclc:;;:llcllloodddddoc:cl:,;
                   .....''''',;;;;coooodocccc:;:;'..,:cldxxdlcoxdd:......''''',,'','';:;xxc:;.,l:...'cddxdoc;,coodll:cooolcccoc;;;:cllllccllllc:cc:;::
                 .......',,,,:lloolc:coddlc:,';:cccllllddddolooddxxo;.......,;;,,;,''',lkdo:'':l:'.;ddl:cc:;,:lloc,;;;cloolllccc:;:cllllc:cllllllc::;c
                 ......',,,,coocl:;;;;;:lolc:::lddoooollcldxdooddlloxo:'....',;,;;.'..,kkxx:.,cl:'.,ooolc:,';ccc;',;;:ccloooolcll:;;clllc:llllllccccc;
                 .....',,;;oko,.':c;'..':c:lodddlloooooodxdxkxdol,,:dkdo:....'';:;''..dOdol,';cc;,;::lolcllll;,;;,,;;;:cc:cllllolc:'ccllllccllc;:::;;.
                 ....',,,;:lc;..'ll:...,:::oxdolc:lllooldxxkxxoc;'.'dkxddl,....,c:;;'lkxoo:,;:ccllc::coddol;'';:;;::cc:,,,,,;:cclol::clloc:::c:;::;,..
                .....',,;;;'.....'.......,ldddol,.'',;:cokkOxolc;'..cdxdddo;.....':ldkxool;;:cdxdooolldol:,,::::::ccc:,,,;:;;;;;:looldoooolc::::c:..',
                ....'',,;;'''...''.......;loodol,....':dOOOkxolc:;',looddddc'..,.,lxkddlol:coxkxdlllcclllc::c:cccc;,,,;;;;;,,,:clo:cldoooolc:;:cc:..';
                                                                                                                          ..,':....                   
                                                                                                                          ..;':,...                   
                                                                                                                          ..'';; ..                   
                                                                                                                           ...,; ..                   
                                         ...'....                                                                          ...';..;.                  
                                      .cxxdoc,'','.                                                                         ..';..                    
                                     :0K0dc;:c'.',,,.                                                                       ...;..                    
                                    ,00Od:,,',,......                                                                       ...;..                    
                                    lKkxo:;'..........                                                                      ...,'.                    
                                    dKkxo:;............                                                                      ..,'..                   
                                   .kKkdl:,.......                                                                           ..',..                   
                                   .O0kollc:'..    .....                                                                     ..';'.                   
                                   .0Odcc::cldooodolldxxdol;..                                                               ...;,.                   
                                   ,0xodxxkkkdoccxOl:ddl:;cdxo:;;,,'.                                                        ...;.        ....        
                                 ..oOkkOOkxl'....'kkcoc,'',:lxl::::cclc;.                                                     ..,'   ..',,;::cc::,''..
                                .:,kOkxdc,;c:,....xOoc'.,,:col,,,,;:cloool:,'.                                                ..',...''',,,',;::ccc:;;
                                clc0Oo;,...,.;:.',xOd,';ccoololc:,'';,...,'';::,.                                             ..':,.''','.';;;:;::::::
                            .'clk000x;'....'..::,:Okoloollooclodddocc;........,:;:'.                                           .'c;....,'',;:clcloolc:
                           :xl'.cOOkxc;...... ...lkllol...';.....':xxxocc,......,;;;.                                          .,::....'',;;,;ccc:cloo
                           ..   ,OOkxl,......  .,kddol.   .'       .oddoccl:;'...',;;'.                                        .;;:'..'',;'.'',c:;,,;:
                                cOkkdl,........lOOkOxl,.....        .';:,..,:olc'..';;,.                                       ';;:'.'',,...',,;,.',''
                               .xkkdll::'..,xxkxxkkxkkkc'..             ......;odc,..;:;'                                      .;:c;,,''....,,''.'''',
                              .okxkdoclxc'..dk0kdxxdxkx;,'..             .;..   ,cdo,,;c:'                                     .;:cc;','...''',';,''.'
                             ,okxxOkxdloo:...cxkxdddc'.,,'..             .;l;.    .lk:,;c:.                                     ,;:l:';,...'',,;c:,...
                          .,lxxxxxxxdollll;.  ......   .',..             ..'::'    .,x:,:c'                                     .,:lc,;;,,;;,';:c::;,.
                       .:dkkxdddoolccccclll;..  ...     .,'.             ....;c,     'xc:cc.                                    .,;co:;:;;:c;,:oc;;;;,
                      ;xxxxolc:,;cc;;:ccclc;'..  ...    .','.            ....',:'     ,kccl.                       ...''...      .;cl:',;,;:;codc:,'''
                      lkdllc:;. 'l:,;:cc::;;,... ....   ..,,'            .....',,.    .:dlo'                     .,,;c,,;.;:,''...''.'..,'.,oodo::;,'.
                      ....'''. .oo:;::;;;;;;;,.. .........,;,.           ......';'.    .ood;   .            . .cc:,'....;cc,';:cc:;,''.....,lodl:c:;,.
                              .ckolc:::;;;,::,.............;:..  ...............',..   .:dd; ...     ...',,,'.okd:,.........,:cc;,,;;;;,'..;looloolc;'
                            ...dxdll:;.....,;,.............'c,............,,'...'''..   'xd;.'..   ..';cll:::odddl,........,;,';;,''';:c;;,;lolcddolc:
                         ......:ddoc,......,,'..............,:,.........';lllc;'',,...  .xx;.,'. ..;:lc::clcodl::cc,. ....',...,;,',;::::lccoodlool::,
                      ........',,,,.......;;;''...........'.'::'.......,;cl:::c:'';;'....xd;',...:oo;....':oxo,'''::,........''':c;:c:cc:lolooxddoc:;'
                    ..........,;,,'....,,;:cc;;............'';c;......,;::;;;;;;;,;::,...xo;,..;cl;'....,c:loc;'..';c:;,,:,..:lc:cllccllooddxxkxolcc;,
                    ......'''';;,,....',;;clc:;,;,...''.''';::lo:'...''..',,,'''''';::;':kl:;,':c,.....,ddoocc::;,;cloooolllc:;;:lllllllooddddol:clc,;
                    ....''''',;;;;:loloolcccc;;:;'..':ccdxxdlloxxd:......''''''''',',;:;okc:;',l:....,ldxddl:;cloool:looolccclc;;;:cllllccllllc:ccc;;;
                 .......',,,,:lloooc:coddoc:,';:cccllllodddolooddxxo;.....''',;;,,,.'',:kxo:'.:l:..,ldolccc:;:llll;,;;:loolccccc:;:ccllll;cllllllc:::c
                 ......',,,;cooll:;;;;;:lolc:;;cdooooool:ldxddoddlloxo:'....',,;,;''..,dkxx:.,cl:'.,looll:;,;cll:;',;:ccloooolcllc;;cllll:cllollccccc:
                 .....',,,;lxo;'';c;'..':c:lodddlloooooodxdxkxddc,,:dkdo:....',,:;''..lOxol;';cc;,,::ldocccll;,;;,,;;;:cc:cllllolc:,:lllllllllc::::;;'
                 ....',,,,:ol;..'ll:...,:::oxdolc:lllooldxxkxddl;'.,dkkodl,....,cc;,':kxolc,;::cllc::clddol:'';:;,;:cc:;'',,;:cclol:ccllol::ccc;;:;,'.
                 ...'',,;;;''....''......;ldddol,.'',;;cokkkxolc;'..:dxddxo;.....,:loxxdol:;:coddooollodl:;,;:::;;ccc:;,,,;;;;;;:llolodooolcc:::c:'.',
                 ...'',,;;,......'.......;loodol,....';dkOOOkoolc;',looddxxc'....'ldkxdool;:lkkxdlllcclool::::cccc:;,,;;;;;;,;::cocllodooooc:;:c:c'.',
                                                                                                                          ..,':....                   
                                                                                                                          ..:';, ..                   
                                                                                                                          ..'',; ..                   
                                                                                                                           ...':....                  
                                         .'''....                                                                           ...:..,'                  
                                      .cxxdoc,',,'..                                                                        ..';...                   
                                     :0KOdc;;c,.'',,.                                                                       ..';..                    
                                    '00Ox:;,',,......                                                                       ...,'.                    
                                    cKkxoc;,.........                                                                        ..',..                   
                                    lKkdoc;'......... .                                                                      ..',..                   
                                    xKOdl:,.......    .                                                                      ...;..                   
                                   .O0kdlcc:'..    ....                                                                      ...;'.                   
                                   .00dlc:::coooodolldxddol;..                                                               ...;,.                   
                                   '0xoddxkkkxoccxkl:dxlc:cdxo:;;''..                                                        ...;,.       ....        
                                 ..l0xkOOkkl'....'kkcoc,'.,:oxo:;;:::cc,.                                                     ..,,   ..',,;:::c::,''..
                                .:,x0kxxl;;cc;....o0oc'.',:col;,;,;:cllodl:,'.                                                ..';..''',,,,',;;cccc:;;
                                ;lc0Od:,...,';:'',x0d,.;cclolllc;,,';,...,'';::'.                                             ...:;'.'','.';:;;:::::::
                             .:ck000x:,....'..c:,:OOocodllooclodxdlcc,........,;;:'.                                           .'c:....''',;:clcloolc:
                           ;xl,':OOOxc;...... ...ckolol'..,,.....,:xxxoc:'......,;;;.                                          .,::'...'',;;;;cccccloo
                           ..   'OOkxl,......   'xddoo,.  .'       .oxddlcc:;.....,;;'.                                        .;::'..'',;'..',cc;,,;:
                                :OOkdl,........ckOkkxo,. ...        .,:c;..,:oc:' .,;;,.                                       ';;:,.'',,...',,;,.''''
                               .dkkdll::'..'xdxxxkkxxkkl...             ......;odc,..;:;'                                      .;:c:,'''....',,'..''',
                              .lkdxdllldl'..dk0Odxxxxkx:''..             .;..  .'cdl,,;c:'                                     .;;:c;','....,,'';,''.'
                             .okxxkOxdlooc...ckOxdddl,.','..             .;l;.    .lx:';::.                                    .',:l;,;,..'.';,,c:,'..
                           .cxxxxxxxdoolll;.  ..'...   .',..             ..'::'    .,x:,;c,                                     ',;lc,;;,,;;,,,:c::;,.
                       .;lxOxdddoolcccccllc;..   ..     .,'.             ....;c,     'dc:c:.                                    .,;cl:;;;;:c;,:ll;,;;,
                      'xkxkdll:;;cc;;:ccclc:'..  ...    .','.             ...',:'     'xl:c'                        ......       .;cc:,,,,;c;cldl:,'''
                      lkdllc:;. 'l:,;:cc::;;,... ....   ..,,'          .......',,.     ;dlo,                     .';,c:,,.;:,''...'''''.''',lodo::;,'.
                      .''.',,. .ll:;::;;;;;;;,.. .........,;,.           ......';'.    .lod:   .              .:::,.'.. ,cc;,,:cc:;''.'....,lddo:c:;,.
                              .:xolc:;;;;;,::,.............;:..  ...............',..    ;ddc....      ...',,'.lkx:,........',:cc;,,;;;;,'..,looloolc:'
                            ...dkdllc;'....;;,.............'c,............'''...','..   .dd:.'..    .',:lc:;;ldddo;........';,',;,''';:c;;;;lolcddooc:
                         ......cxdoc;......,,,..............,:,.........';llcc;'',,... ..dkc'',.  .;:ccccclcldolcll,. .....,'..';;',;;:;;llcoddcodlc:;
                      .........,,;;'......,;;'............'.'::'.......';cl:::c:'',;'....ox:',...;oo:.....;odd;'',;:,.....'...'';c:;cc:::lolodxdoocc:,
                    .........',;,,'....,,;:cc;;'...........'',c;......';:::;;;;;;,;c;,...dx:,'.,cl;''..'';:lol;'..';c:;',;;'.;cccclllclooddddxxkdllc:,
                    ......''.',;;,.....,;::lc:;;;,...'..''',:clo:.....'..',,,'''''.;:::';ko:;',:l,......loooc:::;,,:loddollllc;;:clllloooodddddl:clc;;
                    ....''''',;;;;;clllol:clc:,;;'..':ccoxddlloxdo:......'''''''''',,;:;lkc:;,,c:.....:oxddl:;:looolclooolclllc:;;:cllllccllllc:ccc;;:
                 .......',,,,:llooolcloddoc:,';:c:cllllodddolooddxxo;.....''',;,,,,.'',:xxlc,.:l:..':doollc:::llcl:,;,:loollcccc;;:ccllll:cllllllcc::c
                 ......',,,;coollc:;;;;cllcc:;;cddoooollcldxdooddlloxo:'....',;,,;''..'okxxc',cl:'.'ooollc;,,:llc:,,;;:clooooccllc;;cllol:cllollccccc:
                 .....',,,;lxo,'';c;'..':c:codddllollooodxdxkxodl,,:dkdo:....',,;;',..:kxoo:';cl:,,;coddccccl:,,;,,,;;:ccccloolooc:,:llllllcllc:::::;,
                 ....',,,,:oo;..'loc...,:::oxdolcclllooodxkOxddl;'''okkodo,....,c:;,.,kkdoc,;::cllc::clddooc'';:;,;::::;,',,;:cclol::clool:;ccc;;:;,'.
                 ...'',,,;;,'....,'......;loddol;.',,;;cokkkxllc;'..:dxdddo;....'';clxxdlo:;:coddooolloolc;,;::;;;ccc:;,,,;,;;;;;coolodoooccc::::c,.''
                 ...'',,,;,'.....'.......;loddol;....';dkOOOxoolc;''loddddxl'....'cokkoooo::lxkxdlllcclolc;;::cc:::;;;;;;;;;,;:::llclodoooolc;:cc:'.',
                                                                                                                          ..,,;, ..                   
                                                                                                                          ..;,,; ..                   
                                                                                                                           .'',: ..                   
                                                                                                                           ...':....                  
                                         ..''....                                                                           ..':..,,                  
                                      .cxkddc;',,'..                                                                        ...;....                  
                                     ;0K0d:;;c,.'',,.                                                                       ...,'.                    
                                    .00Ox:,,',;.......                                                                       ..',..                   
                                    :Kkxdc;,.........                                                                        ..';..                   
                                    cKkxdc;'......... .                                                                      ..';..                   
                                    dKOxo:,.......    .                                                                      ..';..                   
                                    xKkdlc::'..      ..                                                                      ..';'.                   
                                   .O0dlc:::colllolccodddll;..                                                                ..;,.                   
                                   .OkoddxkkkxdllxOo:oxol::oxo:;,,'..                                                         ..,,.       ....        
                                  .l0xkOkkko,.....xOlll,''':lxo:;;:cccc,.                                                     ..,;   ..',,;:::cc:,''..
                                .;,dOkxxo;;c:;....l0ol,.',;cll:,;;,:cloddl:,..                                                ...;...''',,,',;;:ccc:::
                                ,lcOOd:;'..,';:'''d0x;.,ccloollc;,,';;'..,',;::'.                                              ..:;'.'','.';::;;::::;;
                             .;:x0O0kc'....'..::,;OOdcloolodccldxdl:c,........,;;:'.                                           .'c:'...''',::clcclolc:
                           ,do;,:OOOxl:...... ...;koloo,..',....',cxxxoc;'......,;;;.                                          .,::'...'',;:,;:cc:cloo
                           ...  .kOkxl,......   .dxodo,   .'.      .oxdolccc;....',;;'.                                        .;;c'..'',;,..';cc;,,;:
                                ;kOkdo,........;xOkkxo,.  ..        .,:c:..,:oc:. .',;,'                                       ';;:,.'',,...',;:;.''''
                                okkxol::'...dddxxkkxxkkl'..             .... .:odc,..;:;,                                      .;;::,'''....';,''.''',
                              .ckxxxlcldl'..dx0Odxxdxkkc'...             .,..  .,col',;cc,                                     .;;:l;,,'....,,'',,''..
                             .lkxxkkxdlooc...lOOxddxo;'','..             .;l;     .lx:,,c:.                                    .,,;l:,;'..'',;,,c:,'..
                           .;dxxxxxxxoolll;.. ..''...  .',..             .',::.    .'xc,;c;.                                    .,;cl,;;',;;,;,;c:::,.
                        ,cdkkdddoollccccllc;..   ...    .,'.             ....;c,     .xl::c.                                    .;;co:;:;;:c;,;cl;;;;,
                      'xkxkdol::;cc;::ccclc:'..  ...    .','.             ...',:'.    .dl:l,                         ....        .;clc,,,,;c;;odl:,'''
                      okdllc::. .c:;;:cc::;;,... ....   ..,,'.         .......',,.     'dlo;                      .,,:c;;.',,.....'''.'','',codo::;,'.
                      .,,',,,' .cl:;::;;;;;;;,.. .........,;,.         ........','.    .codc.   .            ..,,;;'''..'ccc,,:c::;'.'.....'cddo:c:;,.
                               ;xolcc:;:;;,::,'............;:..  ...............',..    ,xdl....      ...'''..ckxc,..  ..'''.:lc:;;;;;;,'..,cooooool:'
                            ...dxdllc:'....,;,.............'c,.............'....','..   .dxl....    ..,;ccc:;cdddl;.........,;,;;,'.';:c;,,;lolcdddol:
                         ......cxdol:......,;,..............,:,..........;clc:,.',,.... .okl'.,.  .,:clcclc:lxdlcll,.......''..';;,',;:::cc:loolodlcc;
                      .........,;::,......,;;'............'.'::'........;:lc::c:'',,'.. .lkc,'...,loc'....;odd:,',:c,......'..'';::;cc:::cooooxdoocc:,
                    .........'';,,'....',;:c:;;'...........'',:;.......;c::;;;;;;,;::,...ok:;'.':l:,'...';:col;'..';c:,'',;'.,c:ccllcccloodddxxxdllc:,
                    ......'''',;,,.....,;:clc;;;;,......''.,::ll:.....''',,;,,'',,';::;'.xd:;.,:l;......:ololcc:,',:clooollllc;;:cllllloooddddddc:lc;;
                    ....''''',;;;,,;:ccll:clc:,;;'..'::codddlloxxo:......'',''''''',,;:;cklc;,,c:.....,cddol:;:looolclooolclllc::::ccllcccllooc::cc;:;
                 .......',,,,;clooolcloddoc:;,;:::cclllodddolooddxxo;.....''',;,,',''',;dkll,';l:...,odooolc::clll:,;;:loollcclc:;;ccllll:cllllllcc::c
                 ......',,,,:odlll:;;::clllc:;;codoooooocldxxdoddoloxo:'....',;,,:,....ckxxl,,:l:'''odolll:,,;lllc;,;;:clloolccclc:,:llll:ccloolccccc:
                 .....',,;;ldo;.';:;'..':lccloddollllolodxdxkxodl;,;okdo:'...',,;;''..,xkooc,;:l:,,,cdddlccclc;,;,,,;;::ccloollooc:,;llllolclll::::::,
                 ....',,,,:oo:'.'loc...,:::oxdoocclllooldxkkxddo;'''okkodo,....,c:;,.'dOdll;,;ccllc::cldddoc,',::,;::::;,,,,;:clllo::clollc;:cc;;::,,.
                 ...'',,,;;,'...','.....',loddol;..',::coxkkxllc;'..:dxddxo:....',;ccdkxlo:;;:lddooolloooc;,,::;;;:cc:;,,,,,,;,,;coolooooolccc::cc,.''
                 ...'',,,;,..............;loodol;...',;okOOOxoolc:''codddddl'.....:ldxxdoo::cdxxdollccoolc;;c:cc:c:;,,;;;;;;;,;;:clclooooollc;;cl:'.',
                                                                                                                          ..,';; ..                   
                                                                                                                           .,;,: ..                   
                                                                                                                           .''':....                  
                                                                                                                           ...':....                  
                                         .'''....                                                                           ...;..';                  
                                      .cxkdol:''''..                                                                        ...;'...                  
                                     ;0K0d:;,c;.'',,.                                                                       .'.',..                   
                                    .00Oxc,,'';.......                                                                       ..';..                   
                                    ;KOxdc;,.........                                                                        ..';..                   
                                    :KOddc;'......... .                                                                      ..';..                   
                                    oKOdoc,'......                                                                           ...,'.                   
                                    dKkdlc::,..                                                                               ..;,.                   
                                   .k0dlc::::lllcllccodooll;..                                                                ..,,.                   
                                   .OkoodxkkkkdolxOo:oxol:coxo:;,,'..                                                         ..':.       ....        
                                  .c0kxOOkkd,.....dOllo;''':lxd:;;:ccc:,.                                                     ..';. ...',,;;::cc:;''..
                                 ;,d0kxxo:;:c;....l0ol,.',;cll:,,;,;:coddl:'..                                                ...;...''',,,',;;::cc::;
                                ,l:OOdc;'..,';;'''o0x;.,:clooll:;,,,;;'..,,,;::'.                                              ..;:.''','.';::;;:::;;;
                             .,:x0O0kc,'...'..::,;kOxclooloolcldxdl::;........,;;:'.                                           .':c....'.',::clcloolc:
                           'oo:,ck0Oxl:'..... ...,kollo:..';....';cxkxo:;'......,;;;.                                          .,;c'...'',;:,;:ccccloo
                           .'.  .xOkxo;......   .oxodd;.  .'.      .lxdollc:;.....,;;'.                                        .;;:,..'',;,..',cc:,,;:
                                ,OOkxo,........,dOkkko,.....        .;cll..,:oc;. .',;,'                                       .;;:;''',,...',;;;'''''
                                lkkxol::'...ldokxkkkxkxl'...            .... .:odc,..,:;,                                      .;;::,'''....,;,''.''',
                               :kxxxlclxl'..dx0OdxxxxkOl,...             .,..  .,col,,;:c,                                     .;;:c;,,'....,,'',;''..
                             .cxxxkkxdcooc..'lOOxddxd:,','..             .;c,     .lx:,,:c'                                    .,,;l:,;'..'',,,,::,'..
                           .,dkxxxxxxdolll;.  .','''.  .',..             .',::.    .'xc';c;.                                    ',;cc,;;',;;,;,;c:c:,'
                        ':dOkddddoolccccllc;..   ...    .;'..            ....;:,     .dl;:c'                                    .;;:lc;;;;:c;,;cl:;;;;
                      .oxkkxolcc:cc:::::col:'..  ...    .','.             ...';:'.    .xo:l;                           ..        .;:cc;,;,;l;,ldlc,'''
                      lkdolc::. .c:;;:ccc:;,,..  ....   ..,,'.         .......',,.     .dlo:.                     .',,c:;.'''...  ','.'',,',:lddcc:,'.
                      .;;,,,;,..:o:;::;;;;;;;,.. .........,;,.         ........','.     :ool.   .             ..',:'','..c:l;,:c:;;'..'.'..'codd:::;,'
                               ,xocc::::;;,::;'............;:..  ...............',..    .doo.  ..     ....'...:xxc'......,,,';ll:;:;;;;,'..':ooooool:'
                            ...okoolc:,....;;,.............'c,..................','..   .odo....    ..';cc::;:dddo;.........';;;;;'',;:c;'',colcodool:
                         ......cxxol:'.....,,,..............,:,..........,:cc:,.','.... .cko'.,.  .';clcllc::ddolll;........,'.',;'',;;:::l:ldolldllc;
                      .........,:c:;... ..,,,'............'.'::'........,:ll:cc:'',,.....:kc,.'..'ldc'....;ldxc;,;:c;......'..'.,:;;cc::;:olloddoolc:,
                    ..........';,,'....'';:::;;'...........'';:;'......;ccc::;;:;,,:;'...ckc;,..;lc,.....,;:oo;,...;c:,'.,;,.,cccccccccloodddxxxxlcl:,
                    ......'''',;,,'....,;:clc:;;;'......'..';:ll:.....''',,;;,',,,';c:;'.dx::',:l;......;llllc::,',:loooolllcc:;:cllllloooddddxdlccl:,
                    ....'''''';;;,';::ccl:clc:,;;'...;::ldddoloxdo:......'',,'''''.',;:;:ko:;;;cc'.....:dddlc::looolclooollcllc::::cllllcclolol::cc:;;
                 .......',,,,;clooolcooddol:;,;:::cclllodxxolooddxdo;.....''',;,,','.',;oklc;,:l:...'cooodolc:clllc;;,:looolcclc:;;:cllclccllllllcc:::
                 ......',,,,:odoll:;;;:cloc:;,;:oddooloocloxxdodxoloxo;'....',;;,,,....;xxxl,,:l:'''ldoollc;,;colc:,;;:clllolcccll:;:llolc:lloollcclc:
                 .....',,;;ldo;',;:;,'.':l:cloddollllolooddxkxodl;,;oxdo:'...',,;;''..'dkddl,;:l:,,,cdxdlccclc;;:;,,,;;:cccloolllc:;,llolllclllc:::::,
                 ....',,,,:oo:..'loc...;:::oxdoocclllooldxkkxddo:'''oOkool,....':c;,'.lkxll:,;ccccc::codddoc;',;:,,:::::,,,;;:clllo:;ccollc;:cl:;::;,.
                 ...'',,,;:;'...','....'';loddoo;.',;::coxkkxloc;'..:xxdddo:....';;:clkxooc:;clddooolloool:,,:::;;:cc:;,',,,,,,;;:oolooooocccc:::c;.''
                 ...'',,,;;'.............;loddoo;...',;okkOOxoolc;'.:lodxxxo,.....;cdkxdod::lxxxdolllcoolc;;c:::;:::,,;;;;;;,;;;;clcloooooool:;:cc'.',
                                                                                                                          ..',,: ..                   
                                                                                                                           .';':....                  
                                                                                                                           ..'':....                  
                                                                                                                            ..';'...                  
                                         .,,'....                                                                           ...;'..;                  
                                      .ckOddoc'','..                                                                        ...,,...                  
                                     ,0KOd:;,c;.''','                                                                        ..',..                   
                                    .O0Oxl,,'',.......                                                                       ..';..                   
                                    'KOddl;,..........                                                                       ..';..                   
                                    ;XOxdl;'......... .                                                                      ..';'.                   
                                    lKOxoc;'......                                                                            ..;'.                   
                                    oKOdoc::,..                                                                               ..,,.                   
                                    x0xlc::::clcclccclolllc,.                                                                 ..';'                   
                                   .OkoodxkkkkxolxOo:oxolccoxo:;,'...                                                         ..':'       ....        
                                  .:0kxOOkkx;.....dOllo;,.':lxdc;;::cc:'.                                                     ..',.  ..',,;;::cc:;''''
                                 ,,o0kxxoc;:c;'...:0dl;.'',:llc;;;,;:coxdl:'..                                                 ..,'..''',,'',;;::cc::;
                                .l:k0xc;,..,',:'''l0k;.,:clooll:,',,;;,..;,,;:;'.                                              ..,:.''','.';;:;::::;;;
                             .,;d0O0Oc,'...'..:c,;x0xlloollolcodxdl:;;........,;;:'.                                           .':c....'.',::clcclolc:
                           .loc;cxOOxl:'..... .'.'kdooo:..';'...';ldxxl:;'......;;;;.                                          .;;c'...'',;;,;:ccccloo
                           .,.  .dOOxo;.......  .lxooo:.  .,.      .lxddll:;,....',;;,.                                        .;;:,..'',;,..',cc:,,,;
                                .kOkdo;.........dOkkxd'.. ..        .;coo,',:lc;. .',;,'.                                      .;;:;.'',,...',;;;.''''
                                :Okxolc:'...colxxkkkkkxl'...            ......:odc'..,:;'.                                     .;;:c,'''....';;''.''',
                               ;kxxxlclxl'..ok0Odxxxxkko''..             .'..  .,col,';cc,                                     .;;;c:,,.....,;,.,,''..
                             .:xxdkkxdcooc'.'lOOxddxdc,,,'..             .;c,     .lxc',:c'                                    .;,;c:;;....',;''::,'..
                            'oxxxdxkxdolll;.  .,;,,'.  .',..             .',c:.    .,dl';c:.                                    ',;cc;:;',;;,:,,c:c:;'
                        .;lkkxdddoollccclll;..   ...    .;'..             ...;c,.    .dl;:l'                                    .;;:lc;:;;:c;;,:l:;;;;
                      .okkkxollc:cc:::::col:'..  ...    .','.             ...';:'.    .do:c:                                     .;:cl;;;,;l:,cdoc;,''
                      lOdooc::. .c:;;:ccc:;,,..  ....   ..,,'.         .......',;.     .dllc.                     ..',::;'..'...  ','',,,'';:lddl::;'.
                      .:;;;;;,. ;o:;::;;;;;;;,.. ....... .,;,.         ........','.     ;dlo.   .             ...';,'',..:;c:,;c:,,'....'..':odd:::;,'
                               .ddcc::::;;,;:;'............;;'.  ...............',..    .dod.  ..     ........;dxl,.'....,;:';ll:;:;;;;,'...:looolol:,
                            ...lxdllc:;'.'.;:,'............'c;..................','..   .lxo.....   ..',;:::;;oxdo;'.........;:;;,'',,::;'',cllcodool:
                         ......lkdolc'.....',,..............,:,..........,:cc;,.','...  .;kd,.,.  ..,:clloc::ddolll;........,'.';;'',,;:c:lccoooldolc:
                      .........,ccc;......',,'............'.'::'........';llccc:'.,,.... ;Oo,.'..'col,....,lodl;,;:c,.........'.,:;;:c::;;olloddoolc:;
                    ..........';,''....'',:::;;'...........'';:;'......;:ccc::;:;',:;'...;kl,,..;lc,'.....;:oo:'...;c:,'.',,.,ccccclcccllodddxxxxoclc,
                    ......'''',;,,.....',:clc:;,,,....'.'..';:cc;.....,,,,;;;,,,,,';c:;'.ckc;'':l:'.....,ccllc:;,',;looollolcc::::clclllooddddxdlccl:;
                    ....'''''';;;,.';;:cl:clc:;,;'...;::ldddoloxxo;...'..',,,'''''.';;:;,xd:;,;cc'.....'oddoc::coollllddollccll::;:cllllllooool::cc:;;
                 .......',,,,;cllllolooddoc:;,;:c:::cooodxdolooddxdo;....'''',,,,''''',;lklc;,;o:....;lodxolc:ccoll;;;:lodolccll:,;:cllclc:llllcclcc::
                 ......',,,,:odlll:;,:ccloc:;,,:odoooooocldxxdodxooodo:'....,;;;,,;...',dkdo;,:l:'..cddoloc:,;lollc,;,;clllolc::lc:;:llol::clooolcclcc
                 .....',,,;lxo;',;:;,'',:l:cloddolollolooddxkxooo;,;lxxo:'...',,,;,....lkddl,;:l:,,;ldxdoc:cll;;c:,',;::cclooolooc:;'cllollllllc::c::;
                 ....',,,,:dd:..'loc...,:::oxdoocclllooldxkkxddl:'''lkkdoo,....'::;,..ckxol:,;:cccc;;coddddl;',;:,,:::::;,,;;:cllllc,cllllc;:ccc;::;,.
                 ...'',,,;:;''...,,....'';loddoo:.',;::coxkkxllc:'..:xkdddo:....';;;:cxxooc;::lddooolllool:,,:::;,;ccc;,',,,,,;,;;lolooooocccc:c:c;'.'
                 ...'',,,;;'.....'......':loddoo;...',;lkkOOxllll;'.cloddxxo,.....;cdxxdooc;coxkdolllloolc;;::::;;::,,;,,;;;;,,;;:lcloooooool:;:cc,..,
                                                                                                                           ..;':....                  
                                                                                                                           ..;':....                  
                                                                                                                           ..,';' ..                  
                                                                                                                            ...,, ..                  
                                         .,,'''...                                                                          ...,,..;                  
                                      .ckOddl:''','.                                                                         ..';...                  
                                     ,0KOx:;,::..'','.                                                                       ..';..                   
                                    .OKOxl,,,','......                                                                       ..';..                   
                                    '0Oxdc;;..........                                                                       ...;..                   
                                    ,XOxdl;'...........                                                                       ..,'.                   
                                    :XOxoc;,......                                                                            ..,;.                   
                                    lKOxlcc:,..                                                                               ..';.                   
                                    oKxoc::::ccc:cc::collc:,.                                                                 .'';'                   
                                   .kOoodxkkkkxdoxOd:lkolcloxo;;,'..                                                          .'';,       ....        
                                  .;OkxkkOkx:'....o0lld:,'';lxd:;;::::;'.                                                      ..,.  ..',,;;::cc:;''''
                                 ',l0kxxoc;:c;'...:0dc;.'',:llc,;;,;:coxdl:'..                                                 ..,,..''',,'',;;::c::;;
                                .l;k0kc;,..'',:'''c0k:.';:looll;,'',;;,.';;,;c;'.                                              ..,:'''','.';;:;;:::;;;
                              .;o0O0Ol',......;c,;d0xccooolollodxdl;;;........,;;:'.                                           .':c'...'.',::clcllolc:
                           .:ll:cxOOkl:,..... .'..xxlooc'.';'.'',:oxxxl;,.......;;;;.                                          .;,:,...'',;;,;:ccccclo
                           .,'  .oOOxo;.......  .:koooc.  .,.      .lxxollc;,... .,;;,.                                        .;,c,..',,;,..';cc:,,;;
                                .xOkxo;...'... .lOkxxo,.  ..        .;loo;';clc;. .';;,'.                                      .:;::.'',,...',;;;,''''
                                ;Okxol:;'...:ocdxkxkxOdl'...           ...  ..:doc'..,:;,.                                     .;;:c,'''....';;''.''',
                               ,xxxxllcdl'..ox0OxxxxxkOd,'..             .'. . .,col'';:c;.                                    .;;;c:,,....',;,.,,''..
                              ;xxdxkxdcooc..'lO0kddxxl:,,'..             .,c'     .ldc,,:c'                                    .;;;cc;;'...',,'':c,'..
                            .cxxxdxkkdolll;....,;;,,.. .',..             .';c:.    .'dl';::.                                    ',;:c;;,'';:,:,,cc::;'
                        .,cxxxdxdoolllcclll;..   ...    .,'..             ...;c,.    .do;;l,                                    .;,:lc::,;:c;;,:lc;;;;
                      .cxkkxoollccc:::::cllc,..  ...    .','.             ...';:'.    .oo:c:.                                    .;::l:;;,,l:,:ool;'''
                      lOxool::. .;c;;:ccc:;,,..  ....   ..,,'.         .......',;.     .olll.                      ..,,;;......   ';'',,,'';:codl::;'.
                      'c:;;;:;. ,l:;:::;;;;;;,.. ....... .';,.         ........',,.     ,dld.   .             ....,;..,..:,::,;c;,''....''.';oddc:::,'
                               .odcc::;;;;;;:;'............,;'.  ...............''..    .ood,  ..      .......'ddl;.'....,::;;ll::::;;;,'...;looololc,
                            ...cxdllc::'.'.;;;'............'c;..................','..    cdd,....   ..'';:;::;oxdo;,.........,::;,'',,::;''':llcodool:
                         ......lkdolc,.....';,..............,:,..........';::;'.'',...   ,kd,.'.  ..,:clool;:odoool:........,,'',;'',,;:::c:codlldolc:
                      .........,cll:'.....',,'............'.'::,........';clccc;'.,,... .'ko,.'...cdl;'...,codo:;;:c;.......'.'',:;,;cc:;;olloddoolc::
                    ..........';,''....'',;::;,'............';:;'......,:ccc::::;'';;'...'kl;,..,lc;'.....';lo:,...,c:,...',''c:ccclcc:llooodxxxxollc;
                    ......'''.,;,,'....,,::lc;;,,'...''....',:cc;.....',;;;;;,,,,,';::;'.:kc;;.:l:'..'..':ccll::,'',cooolllllc::;:clllllododdddxo:cl:;
                    ....'''''',;;,..,,;:c:clc:;,;,...,;:looooodddo;...'..',;,'''''.';::;'oxc:,;cc'......cdool::cllllllodoolccll:;::ccllccllooolc:cl:;;
                 .......',,,,;cllllooooddocc:,;:::;:cloldxxolooddxdo;....'''',,,,''''',;:koc:;:l:....':odxdolccclll;;;:lodolcccl:;;:cllcllccllccclc::c
                 ......',,,,:odoloc;;::cllc:;,,:lddoooooccoxxdodddooxd:'...'',;,,,,....'okdo;;:l:'..:xdooooc;,lolcc;;;;clllolc::cc:;:llllc:clloollclcc
                 .....',,,;ldo:',::;,,',cc:cloooolollloodddxkxdoo:,;lxxo:'...',,,;,....:kxdo;,:l:,,,lxxdllc:lc:::c;',;:::cloollolc:;':llolllcllcc:cc:;
                 ....'',;;:dd:..'loc...,:::lxdoocclllooldxkkxddo:'''lkkdoo,....':c;''.;kkolc,;:cccc:;loddddl:,,;:,,;;;::;,;;;:cllllc,cclllc::ccc;:c:;'
                 ...'',,,;:;''...,,'...'';loddoo:.',;::coxkkxlll:'..:xkxddo;....';;;:;xkdll:;:lddoolllloolc;,:::;,;:cc:,',,,,,;,;;lolloooolc:cc::c:,.'
                 ...'',,,::'.....'......':loddol;...',;lxxkkxoloc;'.:oddxxdd,.....,:dxxxooc;coxkdoolccoool;;::::;:::;,',;,,,;,,;;:lcloooooool:;:lc,..'
                                                                                                                           ..,'c. ..                  
                                                                                                                           ..;';' ..                  
                                                                                                                            .,',; ..                  
                                                                                                                            ...'; ..                  
                                         .;;,'....                                                                           '.'; .,.                 
                                      .ckOdooc,'','..                                                                        ..':....                 
                                     'OK0dc;,;c..'',,.                                                                       ...;..                   
                                    .k0kxo,,,','......                                                                       ...,'.                   
                                    .OOxdl:;'..........                                                                       ..,,.                   
                                    'K0xdl:'............                                                                      ..';.                   
                                    ;KOxdl;,......                                                                            ..':'                   
                                    :KOdlcc:;...                                                                              ..';,.                  
                                    cKxoc:::::c:;::::cllcc:'.                                                                 .'';,.                  
                                    dOdodxkkkkkxdxOx:cxdllloxl;,,'..                                                           ..,:.     ......       
                                   'OkxkkOOxc,....lOdcdc,'';lxdc;;;:c:;..                                                      ..''  ..',,;;::ccc;,,''
                                 .;c0Oxxdl;:c:'...,Oxl:.''';col;;;;;;:lddc;'.                                                  ..',.'''',,',,;;:c:::;;
                                .:;x0kl:,..'',:'.':0Oc..;:cooll:,',,;:;'':;;::;'.                                              ..,c,.'','',;;;;::::;;;
                              .'lOO0Oo,'......;c;;o0klclolloolodxdl;,;........,::;'.                                            ,;c,..''.',::clcclolc:
                            ;llclxOOkl:;..... .'..dkoool,',:,..,;coxxdl;'..... .,;;;.                                          .;,:;...'',;;,,:ccccclo
                           .;,.  lOOxo:'......   ,Olloc.  .,.      .lxddlc:;'.....,;;,.                                        .;':;..',,;'..';cc:;,;;
                                .dOkxd:.........:kkxxo,.. ..        .;lod:,;cl:,. .',;,'.                                      ';,;:''',,...',;:;,.'''
                                ,kkkol::'...'l:dkkxkkkdl'...           ...  .':ooc'..,:;,.                                     .;;;:;'''....':;''..'',
                               .dkxxlccdl'..okOOdxxxxkOk;'..             ..... .;col'.,:c;.                                    .;;;::,'.....,:,.';','.
                              .dkxxkxdlool'.'oO0kxdxxdl:,'..             .':'     .ldc,,;c,                                    .;;,:c;;'...',;,';c,''.
                            .:xkxxxkkdooll;....:c:;;,. .',..             ..;c:.    .,do,,::.                                    ',,:c;:,',;:,:,';c::;'
                         .:oxxdxdooolllclll;..   ...    .,'..            ....;c'     .od;;c;.                                   .,,;cc::,;cc;:;;ll;;;;
                       ;dkOkdooolcc:::::cllc,..  ...    .,,'.             ....;:,.    .cd::c.                                    .;;:l:;;,;cc,;odl:,''
                      cOxool:c'..;c;;:cccc:;,... ....   ..,,'.         .......',;.      locl'                       ..',,......   ':,';,,,.;::ldoc:;''
                      ,ll::c:;. .lc;:::::;,;;,.......... .';,.          .......',,.     .dlo,                 .  ..,'.,;';,,::;;;,.'...'''.';oodl;::,'
                            .. .cdc:c:;;;;;;:;'.......... .,;'.  ...............'''.     lod;   .      ........co::'.'...,cc:;llc:::;;,,,...;looolooc,
                              .;xdlcc::,',';;;'............'c;..................'''..   .,xdc ...   ...',;:;;,cxxo;'.........':::;'',;;:;'.';clclddolc
                         ......lxdolc;.....';;'.............,:,...........,;;,'..''...  ..xdc.''.  .';cllol:;cddooo:.........;,',;'.',,:c;c::lolldolc:
                      .........;ldoc,......,,'............'..::,........',:llcc;'.',.... .dx:'.' .;oo:'...,coddc;:cl;.......'''.';;,,cc::;llcoddoolcc:
                    ...........,;,,.....',;::;,'...........'';c;.......';:cc::::;'',;'....dx;,'.'ll:'......,ldc;'.',cc,...'''':::ccccc:cllodddxxdollc:
                    ........''';;,'....',;:cc:;,''..........,;cc:......,;;::;;,,,;,;:;,'..xo;:.,lc,'.'...,c:ll:;,'',clooollooccc::cllllllooddxxxdcclc;
                    ....'''''',;;,...',;c;:lc:;,;,...',:cooooodddl;...''.',;,'''''..:::;'ckc:;,cl,......;oooo::cllllloddollllll:;:::cclccloodooc::lc::
                 .......',,,';:ccccloooddolc:,;::;;:cllooxxdlloddxxo,....''''',,''.''',;;dxc:;:lc.....,cdddolc:clll:;;:codolccccc:;:cclccccclllcclc:::
                 ......',,,,;ldoodc;,;clllc:;,,:lddooooolcoxxdooxdodxd:'..''',;,,,,'...,ckdd:;:lc'..,lxdoddl:;colcc:;;;:lolllcc;ccc;;cllllccllllllcllc
                 .....',,;;cdd:,':::;,,,cl:cllooollllooooxdxkxooo:,;cxxoc'..',,,,;;....,xxdd:,:lc,';cxxdlll:clc:ccc,,,;::clloollllc:,:llllllclllccc:::
                 ....'',;;:xd:'..loc...,::;lxdoolclllooldkkkxddoc'''cxkdoo,....';:;'...okdll;,:cccc:;ldddddoc;,,:;,;;;:::;;;::cllllc,:clool::ccl::::;'
                 ...'',,,,::,'..';;'...'';clodol:'',;::coxxkxlll:'..;dkxddo:....,::;;,okdll:;:codoolllloool;,:::;,,:cc:;'',,,,;,,;lolldooolc:cc:cc:,.'
                 ...'',,,;:,..'.........':ooddol;...',;lxkkkxolol;'.;ldddddx;.....';loxddol;cldxdoolccldol:;;:c:;;:c:,,,,,,,;,,;;;cllloooooool::cc:..,
                                                                                                                            .,,:' ..                  
                                                                                                                            .;,;; ..                  
                                                                                                                            .,'': ..                  
                                                                                                                            .'.';...                  
                                         .;;,.''..                                                                           ...;..,.                 
                                      .ck0dooc;'','..                                                                        ...;....                 
                                     'O00xc;,,c'..',,.                                                                       .'.;'.                   
                                     x0kxo;,,',,......                                                                       ...,,.                   
                                    .kOxdl:;'..........                                                                       ..';.                   
                                    .0Oxdl:,.......... .                                                                      ..';..                  
                                    'K0kdl:,......                                                                            .'.;,.                  
                                    ;KOxoc::;'..                                                                              ...;;.                  
                                    :Kkoc::::;::;;:;:cccc::'.                                                                  ..,;.                  
                                    l0dddxkkkkkxdxOx:cxxoooodl;,'...                                                           ..,:.     ......       
                                   .kOxxOOOxc,....c0dcdc;,',lxxc:;;:::;.                                                       ..', ...,,,;;;::cc;,,''
                                 .,c0Oxxdl;:c:'...,kklc...';cll;,;;;;:lddc;'.                                                  ...;.'''',,,,,;::c:::;;
                                 :;d0ko:;..',,:''',kOl'.;:coolc:,',,,;;,,:;;::,..                                              ..'c,..,,'.,;;;:::::;;;
                              .':OkOOd,'....'.,c;,l0Ol:lollooloxddl,,;........,::;'                                             ';c;..''.',::clcclolc:
                            ,clloxOOOo:;..... .,..lOoloo;',:,'',;loxxdl;'..... .,;;;.                                           ;;:;...'',;;,,:cc:cclo
                           .;;.  :OOxd:'......  ..koooo.  .'.     ..cxxdlc:,'... .,;;,.                                        .;,:;..',,;'.'';ccc;,;;
                                 lOkxo:'......  ,xkdxd;.  ..         ,lodc';cc:,. .',;,'.                                      ':;;:,'',,...',;:;,.'''
                                .xkkdlc;'...'c;lxkkkkkdl'...           .'.  .':ooc'..':;'.                                     ';;;::'''....':;''.''',
                               .oOkkllcxl'..lkO0xxxxxxOk;...              ..   .;lol'.,::;.                                    .;;;::,'.....,:,.',,,'.
                              .oxxxkxdcool'.'dO0kddxxxoc,,..             .':'     .ldc,,;c,.                                   .;;,;c:;....';:'',c;''.
                             ;dkxxxkkdooll;...'clc;:;. .''..             ..,c;.    .,do',::'                                    ';,;:::,.,;:;:,'::::;'
                         .,ldxdddoooolllcll;..   ...    .''..             ..':c'.    .ld;;c:.                                   .,;;cl::,;cc::;;cl;;;;
                       ,okOOdooolll::::ccloc,..  ...    .','.             ....;:,.    .:d::c.                                    .;;:c:;,,,cl;,ldo:,''
                      :Oxooocc'..,c;;:cccc:;,... ....   ..,,'.         .......',;'      :dcl,                       ....'....     ':,,;;,,';c;ldoc:;''
                      ,ooccccc. .cc;:::::;,;;,.......... .';,.          .......',,.     .olo;.                    .,,',:;;,,::;;,'.'...'',.';oddl;::;'
                        ...... .:dc:::;;;;;;:;'.......... .,;'.  ...............','.     :ooc.  .       .... ..;o::,.''..'lc:;llc:::;,,,,...,cldolooc;
                              .,xdlcc::,',',;;'............'c;..................'''..    'dol....    ..'';;;;,:xxo;.'........';c:;,,,;;:;'..;cllcdddoc
                         ......lkdoll;.. ..';;'.............,:,...........',;,'..'''..   .odc..'.  .';:lool;,cddool:'........,;';;,..,,;:::::coocddocc
                      .........,oddl;......','............'..;:,.........,:llcc;.'''......oxc,.,..;oo:,'..,:oodl::cc;........,'.';;,,::::;coclodoolcc:
                    ...........,;,,......';;;;,'...........'';c;........,:cl:::c;'',,'....ok:,'..co:..... .,col;'.',:c,....''':::ccccccclllooddxxollc:
                    ........''';;,'....'';:cc:;,''..........';cc;......,:::::;;,;,,,:;,...dd;;,'ll,'.....';:cl:,'.',:loollloocccc::llllllooddddxxlclc:
                    ....'''''',;;,'...';:;:lc:;,;,...',;cllooodddl;...''.',;,,'''''';::;';kl::,cc,.......loloc:cllllllddollclll:;:::cllclloodool::lc:;
                 .......',,,',:cccclooodolccc;;::;;:ccloddxdlloddxdo,....''''',,''.'',,:;oxc:;:lc......;oxdolccclll:;;:codolccccc:;:cccccccclllccccc::
                 ......',,,,;ldodol:;;clooc:;,,:lddooooolldxxdooxdodxd:,..''',;,,',,..',:kxo:;:lc'..':ddoddlc;cllccc;;;:lolllc:;:cc;;cllll::lclollcclc
                 .....',,;;cddc,,:c;;;,,cc:cclooollllloooxdxkxolo:,;cxxo:'..',,,,,,'....okdxc,:lc,',cxxxlllcclc:clc;,,;::cllolllllc:,;lollllllllccc:c:
                 ....'',;;:xxc'.'coc'..,c::lxdoolclllooodkkkxddoc',,cxkdol,....',;;'...ckdll:,;c:cc::odddddoc;,,:;,,;;;::;;;::cllllc,;llool::ccl::c::,
                 ...'',,,;;:,'..';;'...'';clodooc'';:cccoxxkdlol:'..;xkxodo:'...,c:;,.ckxll:;;codoolllloodl:;:::;,,;ccc;'',,',,,,;coccoooolc:cc::cc;'.
                 ...'',,,;;,'...........':lodddo:....,;coxkkxlllc;'.;ldddddx;....',;lckxdll;:ldkxoolc:coooc:;;:c;;:c:;,,,,,,,,;;;;:llodooooool:;:lc,.'
                                                                                                                            .,,;, ..                  
                                                                                                                            .,;,: ..                  
                                                                                                                            .',':...                  
                                                                                                                             ...:....                 
                                         .;:;'''..                                                                           ...;'.'.                 
                                      .ck0dool;''''..                                                                        ...;'...                 
                                     'OKOxc;,,:,..',,.                                                                       .'',,.                   
                                     dKkxo:,,'',......                                                                        ..';.                   
                                    .k0xdo:;'..........                                                                       ..':..                  
                                    .O0xdo:,.......... .                                                                      .'';'.                  
                                    'K0kdl;,.... .     .                                                                      .'',,.                  
                                    'KOkoc::;'..                                                                               ..',.                  
                                    ;Kkoc:::;;:;,,;;;:cc::;.                                                                   ..';.                  
                                    c0xddxkkkkkkxxOkccxxoooddl;,'...                                                           ..':.     ......       
                                   .xOxxkOOkl,....cOxcdc;,',lddo:;;:::,.                                                       ..',  ..,,,,;;::cc:,,,'
                                 .,:0Oxkxl;:cc'...'xOll'.'';:ll:;;;;;:lddc;..                                                  ...;'.''',,,,,:::c:::::
                                 ;;o0koc;..',,:''',kOo'.,:coolc:,,',;;;;,:;;::,..                                               .'c;..,,'.,;;;::c:;;;;
                              ..;OkOOd,,....'.,:;,cOOo:clllollodddc,,,'...'...,;:;'                                             ';c;..''.',::clcclolc:
                            .:lldkO0ko:;'.... ',..lkdloo:,,:;'',:lodddc;'.. ....,;;;.                                           ;,;:...'',;;,,;cc:cclo
                            ;;.  ,OOkdc'......   .xdloo'  .'.     ..lxxdlc:,'... .,;;,.                                        .;,;:..'',;'.'';ccc;,;;
                                 :kkxd:'......  .dOdxd;. ....        ,oddc;;cc:,. ..,;,'.                                      ';;;:,.',,...',;:;;''''
                                .xkkdlc:'....;,:kkkOkkol'...           .'.  .':olc'..':;,.                                     .;;;::'''....';;,'..'',
                                lkxklccxo'..cOO0xxxxxxkO:'..              ...  .;lol'.';:;.                                    .;;;:c,'....';:;.',,',.
                              .lkxxkddcool'.'dO0kddxxxdc;,..             .';.     .ldc,,;c;.                                   .;;,;c:;.....;:'.,c:,'.
                             'oxxxxkkxoool;...'coc:::...''..             ..,c;.    .,oo,,;:'                                    ,,,;:c:,.,;:;:,';:::;'
                         .'cdxddddddolllcll;..   ...    .''..             ..':c'     .lx;,:c.                                   .,;;cc::,;cc:c:,cl:;;;
                       'lkOOxoooollc:::ccloc,..  ...    .''..             ....;:,.     :x::l'                                    .;;;cc;,;;cl:,cdoc,''
                      ;Oxddocc,..,c;;:cccc:;,'.. ....   ..,,'.         .......',:'      :d:l;                        ......       ':,,;;,,';c;cddcc;'.
                      ;ddlcc:c. .cc;;::::;,;;,'......... .';,.         ........',,.    ..oloc.                 .  .',,'::;;,;:,;,'.'...,',.';lddo;::;'
                       .......  :dc::::;;;,;;;'.......... .;;'.  ...............','.     ;dol.  ..      ...   .,c;;;..,'.'lcl:llc:::,,,,,'..,:lddcool;
                             ..'ddlcc::;,;,;:;'............'c;..................'''..    .doo. ...   ...',;,;,;dkd:.'.....'',.;c:;,,,;;;;,..;clccdddoc
                         ......ckdolc:'.....;;'.............,:,...........',,,...'''.. . .oxo....  .',:cool;,cddool:'.........;,,;,'.,,;::;::colcodocc
                      .........,dxol:......',,............'..;:,.........';cll:,.'''......ckl,.,..,loc;'.',:lodo:cll;........,,.';;,';c::;clcloxoollc:
                    ...........,;;;'.....';;;;,'..........''';c:'.......';clc::c;,',,.....cOc,'..:l:'......'lddc,'',cc,....'',:;;ccc:cc:lllooddxxdlll:
                    ..........',;,'....'';:cc:;,''...''.....',:c:......,:::::;;,;;,;:;,...lx;;,'cl;''.....,;:l:''.',:loolllooccccc:clcclloodddddxocll;
                    ....''''''';;;'....,:::lc:;,;,...',;:llloooddl;....,.',;;,'''''';:::''xo;:,cl;.......:ocol::llllloodollllll:;:::cllllllodooo::cc:;
                 .......',,,',;cccclllodolccc:;:;;,;:cloddxdlloddxdl,....'',,'''',''',,:,lklc;:lc'.....'cddoll:clllc;::codoolcccc:;;ccccccccllllcccc::
                 ......',,,,;lddddc:;;clolc:;',:lddolooolldxxxooxdodxd:,..''',,,,,',..',;xdoc:clc'...;odxdxol::llccc;;;:coolccc;:cc;:cllllc:cllllllllc
                 .....',,;;:odc,,cc:;,,;ccccclooollllooooddxkxdlo:,;cxxo:'..',,,,,,'....lkddl;:c:,',:xxxollccllccll:,';;:clloollllc:,;looollllllcccccc
                 ....'',;;:xxc'..coc'..,::;lxdoolclllooodkkkxddol',,:xkdoo;....,,;;''..;xxoo:,;cc::c:oddddddl;,,::;,;;;:::;;:ccllllc;,lloolc:cclc:cc:,
                 ...'',,,;;:;'..';;'...',,coddooc'';:cccoxkkdlll:'..,xkxodo:'...,::;,.;xxolc;;codooollloddl:;:;;;,,;cc::'',,',,,,;colcoooolc::cc:cc:'.
                 ...'',,,;;,'...........';lodddo:...',;cdxxxxlloc:'.;ldxdddx;....',,ccdkdllc:loxxollc:coooc:;;cl:,;cc;,,,,,'',;;;,;loldooooool:;:lc,.'
                                                                                                                            .';,; ..                  
                                                                                                                            .';':...                  
                                                                                                                            .',':....                 
                                                                                                                             ...;,...                 
                                         '::;'''..                                                                           ...;,..'                 
                                      .cO0dlll:'','..                                                                        .'.,,..'                 
                                     'OKOxc;,':,..',,.                                                                        '.':.                   
                                     oKkxo:,,'',.......                                                                       ..':..                  
                                     x0xdoc:'..........                                                                       ..';'.                  
                                    .O0xdo:,.......... .                                                                      .'';,.                  
                                    .00xxl:,......     .                                                                       ..',.                  
                                    '00koc:::'..                                                                               ..';.                  
                                    ,Kkoc:::;;:;,',,;::::;,..                                                                  ..';.                  
                                    :0dodxkkkkkkxkOkc:dxoooodl;,'...                                                           ..':.     ......       
                                   .dOxxkOOOl;'...:Ox:dl;,',cxxo:,;:::,.                                                       ..',. ..',,,;;::cc:,,,,
                                  ,:OOxxxo;:lc'....dOll,.'',:llc;;;;;:loo:,..                                                  ...;,.''',,',,;::::::::
                                 ;;l0koc:..',,:'..'dOo'.,::oolc:,,',;;:;;:::c:,..                                               .'::..','.,;;;::c:;;;;
                               .,OkOOx,''...'.,c;,cOOo;clllooloddoc,',,.......,;:,'                                             .,:;..''.',::clcclolc:
                            .;lodk00kdc;'......;..cOdolo:,,::',;:ldxddc,... ....,;:;.                                           ;;;:...''';;,,;cc:cclo
                            ::.  ,kOxdc,......   .ddloo'  .'.     ..cxxxlc;,.... .,,;,.                                        .,;;:..'',;'.'';ccc;,;;
                                 ;kkxdc'....... .lOdxo:.  ...        ,oodl;;cc;'. ..,;,'.                                      ';;,;,.',,...',;:;;''''
                                .dkkdoc:,....;,;xkkOkkdc'...          .','. .':olc'..';;'.                                     ';:;::'''....';;,'..'',
                                ckxklccdo'..cOOOxxxxxxkk:...              ...  .;ooc'.';:;.                                    .,;;:c;'....';:;.','',.
                              .:kxxkdocodl'.'dO0kddxxxxo;,...             .;.     'lo:,,;c;.                                   .;;,;c:;....';c'.,::''.
                             .oxxxxkkxdoll;...,lolccc,..''..              .,c,.    .,od,,;c,                                    ,;,;:::,.';:::,',c::;,
                         ..:oxxddddoolllcll;..  ...     .''..             ..':c.     .cx;,:c.                                   .;,;:ccc,;cc:c:,:l:;;;
                       .cxkOxoooool:::cccloc,.   ...    .''..             ....;c,.     ;x::l,                                    .;;::c:,,;ccc,cooc;''
                      ,kxddocc,..'c;;:cccc:;;'.. ....   ..,,'.         .......',:'.     ,d:l:.                         ....       'c;';:;'';c;:odlc:,.
                      ;ddlllcc. .:c;;:cc:;;,;,'......... .',,.         ........',;.    ..lllc.                 .   .,,,::;;',;,,'......,,,.';cood:::;'
                       ........ ,oc;:::;;;,,;;,.........  .,;'.  ...............',,.     ,ooo.  ..      ...   .':,,;,..,..cccclllc:;,,,,,'..'clodlool;
                             ...dxlcc::;,;,;:;'............'c;...................''..    .odo. ...   ....,,;,',oxdc.......',;',c:;,,;;;;;,..,ccccdddol
                         ......cxdoll:,.....;;'.............,c,............','...'''..  ..cxo'...  ..';clol:,:oddol:,.........,;;;,'.',;::;:;:locodolc
                      .........;xxdlc'.....',,...............;:,.........';clc:,.'''......;Oo,.,..'coc;,'',:lodoccll:........,,.';;'';:::;cocloxdoolc:
                    ...........,;;:,.....';;;;''..........''';c:'.......';:cc:cc;'.,'.....:Oc,''.;oc'.. ....codc;,';c:,......;::,:cc:cc:cccooodxxdollc
                    ..........',;,'....'',:cc:;;.'...''.....',:c:......':ccc::;;;;,,:;'...ck:;,'cl;''......,:lc,'.'':lololllllclc::clccllooodxxxxocll:
                    ....''''''';;;'....';::lc:;,;,...',,:lccoooddl,....,',,;;,'''''';::;'.od::;:l;.......,ccll::cclllooddllllllc;;::cllllloodoooc:cc:;
                 .......',,,',;:cc:cllodocclc:;;;;,;:cllodxdlloddxdl,.....',,''''''.',,:;:xoc::lc'......;dooolcclolc;;:cloool:cccc:;cccccclcllllccccc:
                 ......',,,,;loddoc:;:clolc:;',;lddolooolldxxxooxxoddd:,..''',,;,'',...,;dxlc;clc'...'codkxdlc:llccc;;;:coollcc;:c:::cllllc:clllollllc
                 .....',,;;:ooc;,:c:;;,;clccccloolllllooodddkxoloc,;cxxo:,..',,;,','....:kxdl;:c:,'';dkxollllllccllc,,,;;:cloollllcc,,colllclllolccccc
                 ....'',;;:xxc'..:oc'..,::;lddoolccllloldkkkxdool,'':dkdoo;....,,,;'...'xxdoc,;cc::c:oddddddl:;,;::;;,,;:::::cclollc;,cooolc::clc::::;
                 ...'',,,;;:;'..';;,...,,,clddooc,,;:cccoxkkxcllc,..,xkxodo:'...'cc;'.,dkolc;;:looolllloddo:;::;;,,,cc::,'',,,,;,,col:odlolc::cc:ccc,.
                 ...'',,,,;:'............:lodddl;...',;cdxxxolloc:'.,lxxdddd:....,;,:;okxlcc:coxxoool:coool:;;:l:,;c:;,,,,,,,,,;;,;loldolooollc;:cc,..
                                                                                                                            ..,,c ..                  
                                                                                                                            ..;'c...                  
                                                                                                                             ';':,...                 
                                                                                                                             ..',;...                 
                                         ':c:,''...                                                                          .'.,;..,                 
                                      .lk0dlll:'''''.                                                                         '.':..'                 
                                     .OKOxc;,':;..'','                                                                        '.':..                  
                                     oKkxd:,,'.,.......                                                                       ..':'.                  
                                     d0xdoc:,..........                                                                       .'';'.                  
                                     k0xdo:,.......... .                                                                      ...,,.                  
                                    .O0kxo:,......     .                                                                       ..',.                  
                                    .00kdc:::'..                                                                               ..',.                  
                                    '0koc::::;;;,',,,;::;;,.                                                                   ..';.                  
                                    ;0xddxkkkkkkkkOkl:dkdooool;'....                                                           ..':,     ......       
                                   .dOkxxOOko:''..:Ok:oo;,',cdxo:;;:::,.                                                       ..',....,,,,;;;:cc:,,,,
                                  ';O0kxxo::c:'....oOll,..',:loc;;:;;:ldo:,..                                                   ..;,.''',,',,:::c:::::
                                 ';c0Odc:..'',:,.'.o0d,.,;:looc:,,',;;:;;:::c:,..                                               .'::..,,'.,;;;::c:;;;;
                               ..xkO0x;''...'.,c;;:k0o;:lllooloddol,.,,.......';:;'                                             .,;:..''.',::clcclolc:
                            .;codxO0kdc;'.....';..;Oxlloc;;::,,:coddddc,........,;::.                                           ,;;:...'',;;',;:cc:clo
                            :l'  ,kOkdc,......   .oxooo,  .''    ...cxxdl:;,.... .,,;,.                                        .,;;:'.'',;'.'';ccc;,;;
                                 'kOxdc,......  .cOdxoc.  ...        ,oodl;:c:;'.  .,;,'.                                      ,,;;;;'',,'..',;:;;''''
                                 lkkdoc:,....,',dOkkkkdc'...          .',,. .':olc'..';;'.                                     ',;;;:,''....';;,''''''
                                ;kkxoccdl'..:OkOxxxxxkkOc'..              .. ...:loc'.';:;.                                    .,,;:c;'....';:;..''',.
                               ;kxxxdocodl'.'dkKOxdxxxxo:,...             .,.    .'lo:',;c:.                                   .;;,;cc;....';c'.'::''.
                             .lxxxxkOxoool;...,odolll;..''..              .,c,.    .,od;,;c;.                                   ,;,;:c:,.';::c,',cc:;,
                          .,ldxdddddollllll;..  ....    .''..             ..':c.    ..cx:,:c.                                   .,,,;ccc,;cl:c:,;l:;;;
                       .:dkOxoodoolc::ccclol;.   ....   .''..             ....;c,.     ,x:;l;                                    .;;;:c:;,;lcc;:loc;''
                      'xxdddlc;..,c;;:ccccc:;'.. ....   ..,,'.         .. ....',:'.     ,dccc.                           .        'c;,;c;'';l;;odlc:,'
                      ;xxollcc' .;c;;:cc:;;,;,'......... .';,.         ........',;.     .coll.                     ..,,;c:,',,,,'......,,,.';:odd:;;;,
                       .........'oc;:::;;;,,;;,.........  .,;'.  ...............',,.    .'dod'   .       ..   ..,..;,..,'.:cccclcc:;;''','..':lddcool:
                            ....ldlcc:::;;,;:;,............'::..................'''..    .lod;....   ....',,,',lxdc,..'...';;,,c::,,;;::;,..,cclcdddol
                         ......:xdolc:;....';;'.............,:,.............''...'''..    :xd;.... ..';clol:,:oddoo;;.........,;;;,'.',;::;;;:locldolc
                      .........;xxdlc'.....',,...............;:,.........';ccc:,.'''......,kd,.,. 'coc:;'',:codoccll:'.......';'.;;,',;:c::ocloddoolcc
                    ...........'::c;.....',;;;''..........''';c:'.......',:ccccc;'.,'.....,ko,''.,ll;.. ....codo;,,;c:,......,::,:cc:cl:cccloodxxdollc
                    ......''..',;,,....,',::c:;;'...........',:c;......';ccc::;;;;',:;'...;kc,;':o;,'......,;lc,'.'';lolllllllcccccclccllodddxxxxocllc
                   .....''''''';;;'....';::lc:;,,,...',,;cccooodol,....,';;;;,,''',,;c:;'.lx;:;:l;'......'ccllc:cclllooddolcllll:;::cllllllodoool:cc:;
                 .......',,,',;:c:::ccloocclc:;;;;,,:cllodkxlloddxdl,....',,,''''''.',;:;;xo:::lc'......'lololcllol:;;:clooolccclc:;:ccccclllllccccc::
                 ......',,,,;ldddol:::llooc:;,';lddolooolldxxxdoxxodxd:,.'''',;;,'.'..',;okol:clc'....;ldxxdoc:clccc:;;:coollc:;:cc:;ccllll:clllollllc
                 .....',,;;:odl;;cc:;;,;clccccloolllllooodddkxdloc,;:dxo:,...,;;,,,'....;kddl::c:,'';oxxdoolllllclll;',;::lloolcllcc;,cooolllclolccccc
                 ....'',;;:xxc'..:oc,..,::;lddoolccllloldxkkxdool,'';dkdoo;....,,,;.....okddc;;:c::c:oddddddl:;,:c::;;,;::::cccooolc;,cooooc::clc:cc:;
                 ...'',,,;;c:'..'::,...',,clddooc,,;:cccodkkxlllc,'.,xkxodo:'...':c;,..lxdlc;;:looolllooddoc;::;;,,,cc::;'',,,,;,,:ol:odoolc:::ccccc,'
                 ...'',,,;;;,..'.........:oodddl;....,;cdxxdolloc:'.'lxddddd;....,:,,;cOxolc;:dxxoooc::lddl:;;:c:,;cc;;,',,,,,,;,,;cdlodoodoooc;:cl:'.
                                                                                                                            ..,':....                 
                                                                                                                            ..;.:'...                 
                                                                                                                             .;';; ..                 
                                                                                                                             ...,:...                 
                                        .'cc:,''...                                                                          .'.':..'                 
                                      .lk0dlllc'.'''.                                                                         '.'c..,                 
                                     .OKOxl;,';:...','.                                                                       .'':'.                  
                                     lKkxd:,,,.,.......                                                                       .'';'.                  
                                     o0xdoc:,'........                                                                        ..',,.                  
                                     xKkdoc,.......... .                                                                       ..',.                  
                                    .kKkxoc;......     .                                                                       ..',.                  
                                    .O0koc:::'..                                                                               ..',.                  
                                    .0Oocc:::,;;'.',,,;:;;,.                                                                   ..';.                  
                                    ,0xoddkkkkkkkkOklcdkdoodol;.....                                                           ..';;     ......       
                                   .o0kxxO0Od:,'..;kkcoo;,',cdxoc;;;:;,.                                                        ..,. .',,,;;;;:cl:;,,,
                                  ';kOkxxdc:cc'....lOol,.'',;ldl;;;;;:loo:'..                                                   ..,;'''',,',,:::::c:::
                                 .:c0Odl:'..,,:,.'.lOd;.',:looc:,,',;;::;:ccc:'.                                                .'::..,,'.,;;:::::,,;;
                               ..dxx0x;''...'.,c;;:k0d;:lllooloddoc,.',.......';:,'                                             .;;c..'''',::llcclolc:
                             ':dxkOOkdc:'......;..,Oxocol;;c:,;:codddlc'........,;;;'                                          .,;,:'..'',;;',;:cccclo
                            :l,  'xOkdc;......   .lkloo;. ..'    ...cxxdl:;,.... .,;;,.                                        .';;:'.'',,'..';ccc;;;;
                                 .kkxdc,....... .;Oxdoc.  ...        'oodl::c:,..  .,;,'.                                      ,,;;;;'',,'..'';:;;'.''
                                 ckkdoc:,....'''dOkkkkdc....          .':;. .,:llc'..';;'.                                     ',;;;:,.'....';;,''.','
                                ,kkkoccol'..,OkkxxkxxkkOc...              ..  ..:loc'.';:;.                                    .,,;;c;'....';c;..',','
                               ,xkxxxoclol,.'xk0kdddxxxx:,...             .'.    .,lo:',,c:.                                   .;,,;cc;....';:'.'::,'.
                             .:xkxxkkkoool;...;oxdoll:..',...             .,c,      ,od;';c;.                                   ,;,,:cc,.';::c,',:c:;,
                          .'cdxddddddolllll;..  ....    .',..             ..,::.    ..:k:,;c'                                   .;,,;ccc,;cl::c,;cc;;;
                       .;okOxddddolc::ccclol;.   ....   .'''.             ....;c,.     ,dc;c:.                                   .;;;:c:;,;lcc:;col:''
                      .xkdddlc;'.'c:,;:cccc:;'.  ....    .,,'.         .. ....',:,.     'dc:c.                                    'c;';:;,';l:;ldocc,'
                      :kdlllcc.  ,l;;::c:;;,;,'......... .';,.        .........',;.      :oll'                      .'',::,'''''...'...,,,.';:oodc;;;,
                      ..'...''. .lc;:::;;;,,;:,.......... .,;'. ................',,.    ..old;   .        .    .'..,;'.',.;c:lllcc;;,''',,...;lddclol:
                            ....cxlcc::;;;,;::,............'::...................''..    .lddc.  .   ....',''.'lxdc;..'...';;;,cc:,;;;;;;,..':clcoddol
                         ......:xxollc;....';;'.............,c,.............'.....''..    ;xdc....  .',:lol:,;ldddo;,'.........;;;,''';;::,;;:colldolc
                      .........;xxdlc;. ...',,'..............;:,..........,:c:;'..''.......xd:'''..:lc:;,,;:clddlcll:'........;,.,;,',;;c:;llcoddoolcc
                    ...........':cl:'....',;;;''..........''';c:'........,:cc:cc;'','......xo,,'.'ll;.......:odl;,,;c:,......,c:,:c::cl::cclooodxdlllc
                    ..........',;,,....,''::c:;;......'.....'':c;......';cccc::;;;'';;'...'kl,,';l;'.......',ll:,''';lllllllllcllccclcclloodddddxdlllc
                    ....''''''';;,,....';::lc:;,,,....'';c:cooodoc,....',;;;;;,''',';c:,'.:xc;;;l:'''.'''';c:l:;::lllodddolcllll:;;:ccclllloddddl:clc;
                 .......',,,',;:c::::cloocclcc;;;;,,;:llodkxoloddddl,....',,,'''''''',;:;'ddc::ll'.......collllllllc:::clooolcccll:::ccccclllolccccl::
                 ......',,,,;ldddolc::clooc:;'':looooloolldxxxdoxxodxo:,.'',',;;,'.''.',;ckol::lc'....':oxxdol:cllcc:;;:cloolcc:;c::;clllllcclllollllc
                 .....',,;;;ool:;cc:;;;;clcccccoolllllooodddkxoloc,,:dxoc,...,;;,,,,....,dxdo::c:,..,cxxdooollollccc;,,;;:cclllllccc;,collollllllccccc
                 ....'',;;:xkc'..:oc,..':c;lddoolccllloldxxkkdool,,,;okdoo;...',,,;'....ckddl;::c::c:dxdodddoc;;;cc::;',:c::cclooolc:,:ooool::cccc:cc:
                 ....',,,,;c:'..'::,...',;clddooc,,;:lclodkkxlllc,'.,xkxoooc'...':c;'..:xdlc:;:looollloddxol:::;;,,,:c::;'',,,,;,,:ll:ldoolc:;:cccc:;'
                 ...'',,,;;;,....''......;oooddl;'..',;cdxdxolloc;'.'lxdxddd;....;l;,,;xxocc::oxxdool:;cddlc;;:c:,;:::;,',,,,,,;,,;cdcodooollll;:cl:,.
                                                                                                                             .,'c,...                 
                                                                                                                             .;,:;...                 
                                                                                                                             .;',c...                 
                                                                                                                             ...'c...                 
                                        .'ccc;'''..                                                                           '.'c..,                 
                                      .lO0xcllc'.'''.                                                                         ..'c'.,                 
                                     .kK0xl;,';:...','.                                                                       .'.;'.                  
                                     cKOxdc,,'',.......                                                                       .'.',.                  
                                     lKkdoc:;'..........                                                                       ..',.                  
                                     dKkdoc,.......... .                                                                       ..',.                  
                                     xKkxdc;'......    .                                                                       ..';.                  
                                    .k0kdc:::'..                                                                               ..','                  
                                    .OOocc:::;;,''.',,;;;;'.                                                                   ..','                  
                                    '0kddxxkkkkkkOOko:dkddddoc,'...                                                             .',:     ......       
                                    lOxxxOOOdc,'..;kkcod:;,,cdxoc;;;:;'.                                                        ..,'..',,,;;;;:llc;,,,
                                  .,kOkxxdc;cc,....cOol;...,;col:;:;;:col:'..                                                   ..,:'''',,',;:::::::;:
                                 .::0Oxlc'..,':,...cOx:.',:cooc:,,',;;::::ccc:'.                                                .';:..,,'.,;;:::c:;,,;
                                .lxx0k;''...'.'c;;;x0d;;clllolldolc,.',.......,::,'                                             .:;:'.'''',::ll:clollc
                             .:dxkO0Odc;,......;..'kkolol::cc;;:lodddoc'........,;;;'                                           ,:;c'.',',;;',;:cccclo
                            :o;...dOkdl;'.....   .:koooc. ..'    ..'cxxdl:;,......,,,,.                                        .';;;,.',,,'..';ccc:;;;
                                 .xkxdl;.......  ,kxddl.  ...        'ddol::c:,..  .,;;'.                                      ,,,;;:'',,...',;:;;'.''
                                 ;kkxoc:,.....'.lkOkkxd:....          .'::. .,clc:' .';;,.                                     ',;,,c,''....';;,,'.','
                                'xkkolcol,..'kkkxxxxxkkkl'..              ..  ..:loc'.';:;.                                    .,,,;c;'.....;:;'.',,,.
                               'dkxkxocloo,.'xk0Odxxxxkxc'...             .'.    .,lo:',,::'                                   .;,,;:c;....';:'.':c,'.
                             .:xxxxkkkoool;...;dkdoooc'.',...             .,:'      ,od;,;c;.                                   ,,,,;cc'.';::c,',:c:;,
                           .:dxxdddddoollll;..  .....   .',..             ..,::.    ..:kc,;c,                                   .;,,;ccc,;cl:cc,,cl;;;
                        'lxOxdoddollc:ccclol;..  ....   .','.             ....;:,.     .dc;c:.                                   .;;,:cc;,;lcc:,cdl:''
                      .okdddll:,',c:,;:cccl:;'.. ....    .,,'.        ... ....';:,.     .dccc'                                    'c:';c;,';lc;cdocc;.
                      :kxlll::,  'c;;::c::;,;;'......... .';,.        .........';;'      ;dcl,.                     ..',;;;........'...,;,.,;:lddc;:;,
                       ','''',...cl;:::;;;,,;:,.......... .,;'. ................',,.     .old:.  .             ....';'.';'::;clllc:,,'..,,...;lodllol:
                            . ..:dlccc:;;;,;::,............'::...................''...   .cddl.. .   .....'''..:xdc:'..'..':::;cc:;,;;;;;,..';clcodddl
                         ......,xxollc:'....;;,.............,:,...................''..    'xdl....  ..,:col:,;ldddo;''.........,::;'',;;::,,;;cllldolc
                      .........;kxdlc;.....',,'..............;:,.........',;::;'..''.......xxc'''..;lcc:;;;::codocllc,........,;',;,.';;c::llclddoolcc
                    ...........'cloc,.....,,,,''..........''';c:'........,;clccc;''''......dd;''''cl:... ...:odo:;,;cc,......'::,;::::cccc:lolodxdolll
                    ...........,;,,....''';:c:;;......'.....'':c;.......;:ccc::;:;'';;.....xo,,';o;''.......'clc,''.;clllllllllllccccccllooodddxxdlllc
                   .....''''''';;,,.....,c:cc:;,,,...''';:::llodoc,....',;;;;;,,,,,,;::,'.,kl;:;lc,''''''.,ccl:;;:cllodddolcllol:;;:ccclllloddddoc:ll:
                 .......',,,'',:::;;;:cllccclc;;;;',;:clodxxollddddl,..''',;,,''''''';;;;'lxc::cc,.......,lllllllocc:::coooolcc:lc:::cccccclllllccclc:
                 ......',,,,;coddolc::loooc:;,,:ldoooooooodxxxxdxxddxo:,'.',',,,,,'.'.',;:kol:clc,.....,cxxdol:ccllc:;;:clool:c:;:::;:lllllcclllllllll
                 .....',,;;;ldl::cl:;;;;clcc::clolllllooodddkxollc;,:dko:,'.',;;,,,,....'okoo::cc,..,:dkxddooooolccl:',;;::clolcclcc;,coooolllllllcccc
                 ....'',;;:xxl,..;oc,..,::;lddoolccllloldxxkkdolo;'';okdoo;...',,,;'....;kxdo:;::::c:oxdddddol:;;ccc:;,,;:cccllooolc:,;looolc:cclcccc:
                 ...'',,;;:c:,...::,...',;clddooc;,;clclddkkxlllc,'.'dOxoooc'...';:;,..,dxolc;;looolllddddol:::;;;,,:c:::,',,,,;,,:ll:ldoollc;:ccccc:'
                 ...'',;;;;;,'...'.......;oooddo:'..',;cdxdxooloc;'.'lxxdddd;....:l:,''dkdlcc:lxxdool:;lxdol:;;c:;;:c:;,,,,;,,,;,,;cocodooollccc:ccc,.
                                                                                                                             .,,:; ..                 
                                                                                                                             .,,;c ..                 
                                                                                                                             .,,'l...                 
                                             ..                                                                              .'.':...                 
                                        .'llc:'''..                                                                           ..':'.'                 
                                      .lO0xcclc,.'''..                                                                        ...;,.,.                
                                     .kK0xl;,,,:...',,.                                                                       .'.',.                  
                                     ;KOxdc,,,.,'......                                                                        ..',.                  
                                     cKkdoc:;'........ .                                                                       ..';.                  
                                     lKkdoc;.......... .                                                                       ...;.                  
                                     dKOxdl;'.....                                                                             ...;'                  
                                     x0kdc:::,..                                                                               .'.,,                  
                                    .kOdlcc::,,,'...',;;,,'.                                                                    ..,,                  
                                    .OkdddxkkxkkkOOkocoxxdddoc;'...                                                             ..,c.    ......       
                                    :0kdxkOOxl;'..,xOcldc;',:dxoc;;;;;'.                                                        ..', .',,,;;;;:clc;;;,
                                  .,x0kxxdc;cc;....;Odo:'..';coo:;:;;:col;'.                                                    ..,:'''','',,:::::::::
                                 .;;O0xlc,..,,:,...;Ox:..,;clll:'''',;:::cllc;'.                                                .';c'.,,'.,;;:::::;,,,
                                 cxx0k:''...'..c;;;d0x;;ccclolldol:,'',....'..,::,..                                            .;,c'.'''',::ll:cloolc
                             .;odO00Oxc;,......;...xkollo::cl;;:ldddocc'........,;;;'                                          .';;c,.''',;;',;:ccccll
                            ;d:...dOkdl;'.....   .;koloc....'.  ...'cxxdl:;'.... .',;,.                                        .';;;,.',,;'..';ccc:;;;
                                  dOkxl;......   'xxool.  ...        .odol:cc:,..  .,;,'.                                      ,,,;,:'',,...'';:;;,.''
                                 'kkxoc:,.......:kOxkxd:....          .,:c'..,:lc:' .';;'.                                     ',;;;:;......';;,''.','
                                .dkkolcol,..'xkxxdkxxxkkl'...              .  ..:oo:'..,:;'                                    .,,;;c:'.....;:;'.'',,'
                               .dkxkxlcloo,..dk0Odxxxxkxc,...             .'.    .,lo:.',::'                                   .;,,;:c;....'::''';c,'.
                              ,dkdxkkkolll:...:xkxoodl,'',...             .,:'      ,ld:,,c:.                                   ,,,;;cc,.';::l,'';c::,
                           .;oxxxdddddlllll;..  .....   .',..             ..,::.    ..;xc';c;.                                  .;,,;:lc;;ll::c,,:l:;;
                        .ldOkdodddolccccclll;..  ....   .','.             ....;:,.     .dl;:c.                                   ';;,;cc;,:lc:c;:ol:,'
                      .lkxxxol:,,,:c;;ccccl:;'.. ....   ..,,'.         ..  ...';:,.     .dc:c,                                    '::',c:,';cc;:odcc;'
                      :kdoll::'  .c;;;:c::;,;,'...........',,.        .........',:'      ,dcl:.                      ..',;,........'...,;,.,::codl;;;,
                      .';,'',;. .:l;::::;;;;;;,......... ..,;'. ................',,.     .lool.   .            ... .,,'.;;::;clolc:,,'..,,...,codlcol:
                               .;dl:::;;;;,;:;,.............;;...................''...   .;ooo.. ..  ......''..;dd::,..''..:cc;cc:;,;;;;,,..';:clldddl
                         ......,ddolcc:,....;;,.............,:,...................''..    .ddo....  ..,;cll:,;coddo;.,.........':;;'',;;:;,,;;:llcdolc
                      .........;kxdlc:......,,'..............;:,.........',;::,'..''.......oxl'.'..,lcc:;;;:;coxlclol,........';,;;,.';;:c:cl:lodoolcc
                    ...........'cool;.....,,,;''..........''';c:'........';:ccc:;'.,'......okc,''.coc.......:odoc;;;cc,.......:c,,::;;cc:c;colooxdolll
                    ..........',,,,....''';:c:;;.......'.....':c;.......,:ccc:::::'';,'....dx;,,,l:'....   .':ol;'.',collllcllllcclcllcccooddddxxxolll
                   .....''''''',;,,.....,c:cc;:,,,...''',:::llodoc,....',::::;,'',,,;:;,'.'xo;;:lc,''''''..;:cc;,:clcodddolcclooc;;;:cclllooodddoccll:
                 .......',,,'',:::;,;;:clc:lcc;,;;'',:clodxxolodxddl,..''',;;,'''''.';:;:':kc::cl,.......'cllllllll::::clodollc:ccc::cccccllloolccclc:
                 ......',,,,,coddollccllooc::,':cooooloooldxxxxddxddxo:,''','',,,''.'.',;;xdlcclc,......;dxool::llcc:;;:cooolc::;:::;:cllllcclllllllll
                 .....',,;,;ldoc:cc:,;;:clcc:::ldoccllooodddkxolol;,:dko:,''',,;,'',....'lxdoc:cc,..';lxxddooooollccc'',;:cclol:clcc:,:lllollllllllccc
                 ....'',;;:xkl,..;lc,.'':c;ldddolccllloldxxkkdolo;,';okxoo;..'',,',,....,xxdd::c::::coxddddddl:;;clcc;,,;:ccclloollc:,,looolc:cclcccc:
                 ...'',,,,;c:,...:c,...,;;:ldddol;,;cllcddkkxlclc,'.'oOxoooc,...',:,'..'oxolc;;cloolloxxxddl:c:;;;;,::::;,',,,,;,,:ll:cooollc;;ccccc:'
                 ...'',,,;;;,'...''......;looddo:'..';::dxddolcol:'.'ckxdddd:....;lc;'.ckxlcc:cdxddol:;ldxoc:;;:c;,;c:;:,,',,,,;,,,:ocldoooollcc:clc;.
                                                                                                                             .,,;: ..                 
                                                                                                                             .,;,c...                 
                                                                                                                             .';'c...                 
                                            ...                                                                               ...;'..                 
                                        .,lll:,''..                                                                           ...;'.'.                
                                      .lO0xc:cc,..''..                                                                        .'.,,.'.                
                                     .kK0xl;,,,:'...',.                                                                        '..,.                  
                                     ;KOxdc,,'',,......                                                                        ...,.                  
                                     :Kkxdc:;'.........                                                                        ..';.                  
                                     cXOdoc;'......... .                                                                       ..';'                  
                                     oKOxdl:,.....                                                                             .'.,,                  
                                     dKkxl:::,'.                                                                                ..,;                  
                                     k0olc:::,,,'...',,,''..                                                                    ..,;.                 
                                    .OkdddxkkxkkOOOkocoxxdddoc;'...                                                             ..'c.    ....'.       
                                    :OkddkOOxl;,..,dOlldc;',:okoc:;;;,'.                                                        .'';..',,,;,,;:ccc:;;,
                                  .'x0kxkxl:cc;....;kdlc'..';codc;;:::col;'.                                                    .'':,''','',;:::::c:::
                                  ;;O0xoc;..,,:,...,kxc..,;:lol:,,,',;:cccllc;'.                                                .,,c,.''..,;;:::::;,,,
                                 ;xd0Oc''...,''c;;;l0k:,:lllolldol:,.',....'..,::,.                                             .:,:;.''.',::llccloolc
                             .,ldk00Oxc:,...'..:...okdllocclo::cldxdoc:'........,;;;'                                          .';;:;.''',:;',;:ccccll
                            ,dc..'o0kxl;'.....   .,kdlol....'. ....'cxxdc:,..... .',;,.                                        .',;;;.'',,'..';:cc:;;;
                                  oOxxl;.......  .okool.   ..        .lddl:cc;,..  .,;;,.                                      ,,';,:,.,,...',;:;;,'''
                                 .xkxoc:,.......;xOxkxd:....          .,cl,..,:l::. ..;;,.                                     ,,,,;:;''....';;,,,..''
                                .okkdccoo,...dkxxxkxxxkko''.               . ..':oo:'..,:;'                                    .,,;;::'....';:;'.'',,'
                               .lkxxxlcloo,..dk0Oxxdxxxkl,...             ...    .;ll:.',c:'                                   .;,,;;l;.....::'..,c;'.
                              'okxxkOkdlll:...:xOxdddo;'','..             .';'     .,ld:,,::.                                   ,;,,,cc,.';:cl,'';c;:;
                           .,cxxxddxxdollll;..  .'....  .',..             ..,c:.     .;xl';c;.                                  .;,,,:cc;,clccc;,:l:;;
                        .:dOkdddddolc:ccclol;..  ....   ..,'.             ....;:,.     .ol;:c.                                   ';,;:cc;';lc:c,;ol:,'
                      .lxdxkolc;,,:c;;cccclc;,.. ....    .','.        ...  ...';:,.     .dl:c;.                                   'c:''c:;';cc::odlc;'
                      ;Oxoll::'  .::,;:cc:;,;;'...........';,.        .........',;'.     'dclc.                       ..'''........'...,:;.,::codo;;;,
                      .,:;,,;;. .;l;;:c:;;;;;:,......... ..,;'.  ...............',,.      clol.                 .. .';'.;c:c;:cllc;,''.',,...,codocll:
                              ..,dl::::;;;;;::;.............;:...................''...    'dod'  ..   .........,oo;;;..','.:ccccc:;;;;;;;,...':clloddo
                         ......'dxolcc:,....;;,.............,:,...................''..    .ddd,...  ..';:cc:,;:oddo:.........'.';:;'',;;:;;';;:llloooc
                      .........;kxdll:......,,'..............;:,..........,;:;,'..''.......lxo;.'..,cccc::::;:odolllc;.........,;;;,'.,,:c:cl:lodoolcc
                    ...........,ldol:.....,,,;''..........''';c:'........';:ccc:,..''......ckl,.,.coc'......:odoc;;:cc,.......;c,,::;;cl:c;clcloxxolll
                    ..........',,,,'...,'';:::;;'.....''.....':c;.......,;:cc:::::'.,,.....lk:,,;lc,....   .':ol;,.',:lccllcclllccllccclclooddddxxolll
                   .....''''''',;,,.....,::cc;;;',....'',;;;llodoc,.....,:::::;,,,,',:;,'..od;::ll;''''....,;:c;,;clcldddolcllooc:;;:ccllloooddddl:clc
                 .......',,,'',;::;,,;:clc:lcc:,,,'',:ccodxxolodxddl,..''',;;,''''''';:;;';kl:ccl,.......':lcllllolc:::coodoolcclccc::cllcllllllccclc:
                 ......',,,,,:oddolllllldolc:,':looooooooldxxxxddxddxo:,''',,',,,,'...',;;oxlccll,......'lxdolcccllc:;;;cloolc:::::;;:clllllclllclllll
                 .....',,;,;looc:cc:,;;:clc::::looclllooodddkxolol;,:oko:,''',,;,,,'...'':xdoc:lc,...;cdxxxddooollccc,',;::clolccccl:;:loloollllllcccc
                 ....'',;;:xkl,..;lc,'',:c:ldddolccllloooxkkkdolo;',;ckxoo:..'',,,,,....'dxxdl;:::;::oxxdddddlc:;cccc:,,,:cccllldocc:,,cooolc::clccccc
                 ...'',,;;;cc;..'cc;...,;;:loddol;,:clllodkkxlcll;'.'okkoodc,...',:;'...ckooc:;:loolcoxxdddocc::;;;;::;::;,,,,,;;;:ll:codoolc:;:ccccc,
                 ...'',;;;;;,'....'......,looddoc'..';;cdxddolloc;'..ckxdodd:....;lc;..;xxolcccdxxoolccooxdcc;,::;;:cc;;,'';,,',;,,:oclddooollcl:clc;.
                                                                                                                             .';;c...                 
                                                                                                                             .';,c...                 
                                                                                                                              ';';,..                 
                                            ....                                                                              ...,,...                
                                        .,lllc,''..                                                                           ...';...                
                                      .lO0xc::c;..''..                                                                        ...';..'                
                                     .x0Okl;,',:'...',.                                                                        ..',.                  
                                     ,0Oxdc;,,',,.......                                                                       ..';.                  
                                     ;KOxoc:;,.........                                                                        ...,'                  
                                     :KOxol;'...........                                                                       .'.,,.                 
                                     lKOxdl:,.....      .                                                                       ..,;.                 
                                     oKOxc:;:;'.                                                                                ..';.                 
                                     d0dlc:::,,,'....'''''..                                                                    ..':.                 
                                    .kOdddxkkxxkOOOkdcoxxdddoc;....                                                             ..'c.   ....''..      
                                    ,OkddkOOko:,'.,dOlcdc;,,;dxdc:;,,'..                                                        ..':..',,,,,,;:clc:;;;
                                  .'d0kdxxl:cc;....,kxll'''',codc:;;::cll;..                                                    ..':,''',''',:::::::;:
                                  ;,k0xol;..,,:,...'xkc..',:lol:,',',;:cllolc;'.                                                 ',l,.',..,;;:::::;,,,
                                 'xo0Ol''...''.c;;;lOk:,:lclollool:;.','...'.',::,.                                             .:;:;.''.',::ll:cllllc
                              'cdk00Okc:,...'..:'..lOdlldl:co::cldddlc:'........,;;;'                                           ';;;;..'',:,',;:ccclll
                            'xl'.'oOkxl:'.....   .'kdlol'...,......,cxxdc;,'.... .',;,.                                        .'';,;'',,,'..';:cc:;;;
                             .    lOkxl;'.....   .oOooo'.  .'        .lddl:cc;,..  .,,;,.                                      ,,';,:,',,...',;::;,'''
                                 .dkxol:,.......'dOkkxd;....          .,lo:..,cl::. .',;,.                                     ';,,;:;'.....';;,,,..''
                                 ckkxlclo,...lkoxdkxxxkko'..             . .  .':oo:...,:;'                                    .,,,;::'....';:;'.'',,'
                               .cOxxxlccdo,..dk0Oxxxxxxko,'..             ...    .;lo:.',::'                                   .;;,;:c;.....::'..,c;'.
                              .lkxxkkkdlol:...:kOxdddd:,,''..             .';'     .,ld;,,::.                                  .,;,,,:c'.';:cl,'',c;:;
                            .cxxxddxxdollll;.. ..'....  .''..             ..,c:.     .;xl,,c;.                                  .;,,,;ll;,clccc;':lc;;
                        .;oxkdddddolccccllol;..   ...   ..,'.              ...;:,.     .ol,:c'.                                  ';,,;cc;';lc:c;;loc,'
                      .:xxxxoll:;,:c;;cc:clc;,..  ...    .','.        ...  ...';:,.     .ol:c:.                                  .'::''::,';cl:;ldoc;'
                      ;Oxoll::,  .::,;:cc:;,;;'......... ..;,.        .........',:,.     .dcll.                       ........    .,...,:;',:c:odd;;;,
                      .;c;;;::' .,l;;::::;;;;:;......... ..,;'.  ...............',;.      :olo,   .             .   .,,',c:c:;cll:;,.'.'';...,coooccl:
                             . .'ol::c:;;;;;::;.............;:...................''..     'dlx; ...   .........'ll,,;'..,'.;c:ccl:;;;;,;,;'..,:clloddo
                         .......lxocccc;....;:;.............,:,...................''..    .oox;.... ..',::c:;,:lddoc.........''';:;',,;;;;;';;;clcodol
                      .........;xxdlc:'.....,,'..............;:,..........',;;,'..''...... :xo:.'..':cccc::c;;odolloc:'........,;;;,..,;;c::l:codoolc:
                    ...........'lddo:'....',,;''..........''.,c:'........',:ccc:,..''......;kl;',.:oc,......;lool;;:ll;.......,c;';:,,:lcc::oloddxolcl
                    ...........,,,;'...''';:::;;'.....'.....'':c;.......';:cc:::::'.,,.....:kl,,;lc,...     .;ll:,'',:lccccclcloccllclccclooddddxxolll
                   .....''''''',;,,.....';c:::;;',...''.';,,clldoc'.....,:c:c:;,,,,',:;'...lx:;;ll;,''.....';;c:',:lcldxdollllool:;;:ccllllooddddocclc
                 .......',,,'',;;;,',,;clc:lcc:,,;'.,::codxxdloddddl,..'',,;;,'..'''';::;''xo::cl;......'',cclollllc:::clodollcccc::::cllcclloollccclc
                 ......',,,,,:lddolllllloolc:,,:lloooloooodxxdxddxdxxo:,''',,',,,,'..''';,lklccll,.......:odolcccllc:;;;cloooc:::::;;;clllclccllllllll
                 .....',,;,;looccll:,,;;clc::;:coollllloodddkxdlol;,:okd:,''',,;,,'''...';ddol:cc,...':oxxxdooooollcc;',;;:cloc:ccccc;:llllolllllllccc
                 ....'',;;:xkl;..;lc,'',:c:ldddolcclllooodkkkxoll:',,cxxoo:..'',,,',.....oxddl:c:;;::lxxdddddoc:;:c:cc,,,;cllloloolc:,,:ooolc::ccccccc
                 ...'',,,,:cc;..'cc;...,;;:lddool;,:clllodkkxlcll;'''lkkoodl,...'';;'...;xdol:;clollcoxxdodoccc;;;;;:::;:;;,,,,;;;:llc:odoolc:;:ccclc;
                 ...'',,,,;:,'...........,looddoc'..';:cdxxdolllc;'..:xxdodd:....,lc;...dxoc:;cdxxoolclddxdlc,';c;,;:cc:,,,;,,,,;,';olcodooollclccll:'
                                                                                                                             .',,o...                 
                                                                                                                             ..,'c'..                 
                                                                                                                              .:';;..                 
                                            .....                                                                             ...';...                
                                        .;oolc;'...                                                                           .'..;...                
                                      .lO0xc::c;..','.                                                                         '..;..,                
                                     .xKOxo;,,';;...','                                                                        ...;.                  
                                     .0Oxdl;,,'',.......                                                                       .'.;'                  
                                     'KOxdl:;,.........                                                                        .'.,,.                 
                                     ;KOxol;'............                                                                       ..',.                 
                                     cKOkdl:,......     .                                                                       ..';.                 
                                     lKOxl:;c;'.                                                                                ..';.                 
                                     o0xlcc::;,,'....''''...                                                                    ..';.                 
                                    .xOdddxkxxxxkOOOdclxxxddoc,...                                                              ...:.   ....''..      
                                    'OkddkO0Odc,'',dOlcdl:,,;oxoc:;,,,..                                                        .'.:'.',,,,,,;:clc:;;;
                                  .'o0Oxxxo::c;....'xxll,'..,:oxl;;;::clc;..                                                     .'c;'',,'',,:::cc::;:
                                  ,;x0kol:..'':;'..'xkl'.',:lllc,',',::cllllc;..                                                 ,;c;.'''',;;:c:c:,',,
                                 .do0Ol''...''.c;;;cOkc,:lccoocooc;,'';'...,.',:;,.                                             .;;::.'..',::ll::lloll
                              .cox000kl;;'..'..:'..cOdllolcloc:cldxdc::'........,:;;'                                          .'';;;.''',:,',;::cccll
                            'dl,.'l0Oxo:,.....   ..xxlll,...,......,cxxoc;,..... .',;,.                                        .'';;:''',,...';:cc:;:;
                             .    cOkxl:'.....   .cOooo,.  .'        .lddl:cc;'..  .,,;,.                                      ,'';,:,.,'....,;;;;;,''
                                 .dkkol:,........oOkkxd;....          .;loc..,cc:;. ..;;,.                                     ,;,,;::'.....';;,,''.''
                                 :kxxlcoo,...cxoxdkxxxkko,..             .    .'cooc...,:;,.                                   .;,,;::'....';:;'..'','
                                :kkxxlccdo,..okOOxxxxxxkd;'..             ...    .;lo:.',::,.                                  .;,,;;c;.....:;'..'c:,'
                              .ckxxkkxdlol:...ckOkddxdc;,'...             ..;'     .,lo;,,::'                                  .,;,,,:c'.';:cl,'',c:;;
                            .:dxxxdxxdollll;.. .','...  .',..             ..,c:.     .;xo',::.                                  .;,,,;cc;,clclc;';lc;;
                        .;ldkxddddooccccllol;..  ....   ..,'.              ...;:'      .oo,;l,.                                  ';,;;cl:,:lccl;,loc;'
                       ;ddkkdolc:;cc;:::ccol:,.. .....   .'''.       ....  ...';:;.     .ll:cc.                                  .,::,'::,';cc:;cdlc:'
                      ,kxooo::,  .::,;:cc:;;;;'......... ..;,'.       .........',:,.   . .occl'                        ......     .,'..':;',:c;ldd:;;,
                      .cl:::::'..,c;;:::::;;;:;......... ..,;,.  ...............',;.      ;olo,   .             .   ..,,,c:c;;:cl:;'.'..,;..',coooccl:
                         ........ll::::;;;,;;:;.............;:...................'''.     .olx:  ..   ........ .cl'.;,..',''c:ccl:;;;;,;,;'..';clldddo
                         .......lxocccc;'''';:;.............,:,...................''..    .lddc.... ..',;:c:;,;lddoc'.......';'.,;;,,,;;;;,',;;clcodol
                      .........;xxdlcc,.....,,,..............;:,..........',;,''..''...... ;kd:....';:cccccc;,lddlll:;'........';;:,..,,;cc:c:codoooc:
                    ...........'oxdlc,....',,,'...........''.,c:'........';:ccc:,..''......'kd;'',;ol;......,lool:;clc;.......'c;';:,,:ccc::lllddxolcl
                    ...........';;:,...''.,;::;;'...........'';c:'......',;:cc:c::,.,,.....,kd;,;lc,...     .;loc,,',:lc:ccllccoccclllccclooododdxdlll
                   .....''''''',;,,.....';::::;;,'...''.';,,cclol:'.....,:ccc:;,,;;',:;'...:kc;:ll;,''......,,::,,:llloddollcloolc:;:ccllloooddddocclc
                 .......',,,''';::;'.';:cc:ccc:,,;'.,:ccldxxdloddddl,..'',,,;,,'''''';:;;'.od::lo:......'',cccllloccc::clodolllcclc::ccllclllooolccclc
                 ......',,,,,:lodollollodolc:;,:loooollooodxxxxddxxxxo:,'.,;,,',,''..',,;,:xlccol,.......,ldlolccllc;;;;cloooc:::c::;;clllllllllllllll
                 .....',,;,;loolcll:,;;:llcc:;:coollllloodddxxdlll;;:oxdc,''',,;,,'''..',;dxolccc,...';lxkxddoolollcc:,,;;cclllccc:cc;:llllllllllllllc
                 ....'',;;:xxl;..;lc,',,:c:cdddolcclllooodkkkxocl:'',cxkoo:'.'',,,',.....cxddo:::;;;:cdxddddddlc::c:lc;,,;:llooloolc:,,:ooool:ccclcccc
                 ...'',,;,:cc;'..cc:'..,;;:loxdol:;:clllodkkkl:ll:'''lkkoodl,...'',;....,xdooc;:lollllxxdddolcc;,;:::c:;:;;,,;;::;:llc:odoolc:;:clclc;
                 ...'',;;,;:;'....'......,looddoc'..,::cdxxdolcoo:'..:kkdoddc'...'cc'...lkolc:;oxxoolcoddxxoc;,;c:,,:cc:,,,;,''','';ol:odoooll:cccllc'
                                                                                                                             ..;'c'..                 
                                                                                                                             ..;':,..                 
                                                                                                                              .:',;...                
                                            .....                                                                             ...';...                
                                        .;oolc;''...                                                                          .'..;..'                
                                      .lO0kc;;c:..'''.                                                                         '..;..;                
                                     .xKOxo;,'';;...','                                                                        .'.;'.                 
                                     .00xdl;,,.',.......                                                                       .'.,,.                 
                                     'KOxol:;,..........                                                                       .'.,,.                 
                                     ,K0xol;'..........                                                                         ..',.                 
                                     ;KOkxl:,.....      .                                                                       ..';.                 
                                     cKOxl:;c;'.                                                                                ...;.                 
                                     lKxlcc::,,,......'.....                                                                    ..';.                 
                                     dOdddxxxxxxkkOOxclxxxddo:,...                                                              ...;'   ....''..      
                                    .OkddxOOOxl;,',oOocdl:;';oxdc:;,,'..                                                         ..:,.',,,,,,;:llc:;;;
                                   'o0kxxko:cc;....'dklo,.'.,:odl;;;;::cc,.                                                      .':;'',''',,:::cc::;:
                                  ';x0kdl:..,':;....dOl,.',:cll:,',',::cloolc;..                                                 ';::.''.',;;cccc:,',,
                                 .ooOOo,'...''.:,;;:kOc';ccloocooc;,'',,...,'',:;,.                                             .,;;;.'..',::ll:cllool
                              .:ld00Okl:;'..''.:'..:Oxlloocloc:cldxdc;;'........,;;;'                                          .'.,;:.''',:,',;:::ccll
                            .do,''lOOxo:,.....   ..oxlll,...,.....';ldxdc;,..... .',;,.                                        .'.;,;''',,'..';:cc::;;
                             ..   :Okxo;'......  .;kooo;.  .'        .cddlcc:;'..  .',;,.                                      ,',;,:;','....,;;;;;,'.
                                  lOkol:;........cOkkxd;.....         .;lol'.,cc;,. ..,;,'                                     ';,,;::'.....';,,,''.''
                                 ;xkxcclo;...;dldxkxkxxxd'..             ..  ..'col:...';;'.                                   ';,,;;:'....';:;'.'',,,
                                ;kxxxlccdo,..lk00xxxxxxkx;'..              ..    .;ll:..,::,.                                  .;,';;c:.....:;''.';c,'
                              .:xkxkkxdlol:...cO0xdddxl:;,...              .;.     .,lo;,,::'                                  .;,,,,:l'.';:cc,'',c:;;
                            .;oxxddxxdoolll;.. .';,'..  .',..              .,c;.     .;do,,::.                                  .,,,,;lc,,clclc;';cc:;
                         ':oxxdxddooccccclol;..  ....   ..,'.              ..'::'      .ld,;c,.                                  ';,,;:l:,:llcc:,loc;'
                       ,ddkkdolc::cc;::::cll:,..  ....   .'''.             ...';:;.      lo;cl.                                  .,:;,':c;';cc:;cdoc:'
                      ,kxooo::;. .;:,;:cc:;;;;'......... ..,,'.       .........',:,.   . .ol:l;                           ...     .,'..':;',:c:lodc;;,
                      .clc::c:,  .c;,:::::;;;:;............,;'.  ...............',;.      ,dco:   .             .    .',,ccc;;;:c:;'....,;'..;:looccc:
                        ....... .co::::;;;;;;:;.............;;....................,'.     .oldc.  ..  ........ .;c'.,;'..;',::cllc:;;;;,,;'..';:lloddo
                         .......cdoccc::,',';;;'............,c,...................''..    .:doc....  ..',;:;;,;cddoc,...'...';,';:;,,,:;;;,',;;cccodol
                      .........,xxdlcc;.....,,,..............;;;..........'',,,'..''...... 'xdl.....;:cccccc;,ldoloo:,,.........,::;'.',;c::cc:looooc:
                    ...........,oxdlc,....',,,'...........''',c:'........',::cc;'..''.......xxc'',;oo;......;lodl:;cll:.......'::,;:,,;cccc:loloddolll
                    ...........';;:;'..''.,;;;;;'...........'':c:'......',;:c::c:;'.,'......kx;,;cc;....    .;lol;',,:lc;:cclccolcclclccccooododxxdlll
                   .....''''''.,;,,......;::::;;''...''.',,':clol:'.....':c::::;;;;.,;;'...;kl;:ll;,'........,::;,;llloddollclodlcc;:cccclooodddddlclc
                 .......',,,''';:;;'..,:c::ccc:,,;..';:cldxxdooddddl,...',,;;;,..'''';:;;'.lx::lo:'.....''':ccllcllccc:clodolllcclc:::cllccclooolccclc
                 ......',,,,,:loollllloodollc;;;cllooloooodxxdxdddxxxo;,'',;,,,,''''.',,;;;xoccol,.......'cololccllc;;;;cloool:::cc:;;:cllllclllclllll
                 .....',,;;;coollll:,,;:llc::;;coollllloodddxkdllo:;:oxdc,,,',,;,,'.'...,,oxooclc,...';cdxxxoooooolcc:,,;;:ccllccc::c::cllollcllolllll
                 ....'',;;cdxl;'.,lc,,,,:c:cdddolcclllooodkkkxlcl:',,:xxol:'.',,,,,,.....;xddoc::;,;:coxxdxdddoc::::cl;'',:clooooolcc;,:looolc:ccccccc
                 ...'',,;;:ll;'..cl:'..,;::ldxdol:;:clllodkkkl:ll:''.lkkolol,...'',;.....dxdol::clllllxxddoollc;;,::cc:;;;;;;;;::;:clc:ldooll:;:cclcc:
                 ...'',;;,;:;'...''......,llldddl,..,::ldxxdolcol:,..:kkdoodc'....::,'..:kdlcc;lxxddolodoxxol;',:;;;:cc;,,,;,,',,..;ll:ldoolll::lcccc,
                                                                                                                              .,':;..                 
                                                                                                                              .;,;;...                
                                                                                                                              .;,':...                
                                           ......                                                                             .'..;...                
                                        .;ooll:'''..                                                                           ...;'..                
                                      .lO0kc;,::'.'''.                                                                         ...;'.:                
                                      dKOxo;,,',;...','                                                                        .'.,,.                 
                                     .O0kdo:;;'.,.......                                                                       .'.',.                 
                                     .00xdl::,..........                                                                        ..',.                 
                                     .00xol;'...........                                                                        ..';.                 
                                     'K0kxlc;'....      .                                                                       ...,.                 
                                     ;KOko:;::'..                                                                               .'.,.                 
                                     :Kklcc::;,,'.  ........                                                                    .'.;'                 
                                     oOdddxxxxxxkkkkdclxxxddo:'...                                                               '';'   ...'''..      
                                    .kOxodk0Oxo:;',oOdcdo:;,;okdc:;,,'.                                                          .',:.',,,,,,;:cll:::;
                                   .c0Oxxkd:cl:.....okll;.'.,:ldo:;;;:cc:,.                                                      .,::'','''';:::cc::::
                                  ';d0kdoc'.'';;....oOo;..,;cllc;',,,;::oodoc,..                                                 .;::.''.',;:cccc:,',,
                                  llOOd,''..',.:,;;;xOl',ccclolloc;,,',;...,'';:;,.                                             .';;:.'..',:clc::clool
                               ,cd000kl:;'...'.c,..,kkoloollol:cldxdc;;'........,;;;'                                          .'.,,:.''',;,',;:c:cccl
                            .lo:,,lOOkoc;.....   ..cklcl;...,.....,;lxxo:;'..... .',;;.                                        .'',,:''',,..'';:cc:::;
                            ...   ,OOxo:,......  .,kdoo:.  .'.       .cxdlcc:,'..  .,,;,.                                      ,'',,:;','....,;;;;;,'.
                                  cOkooc;...... .;kOkxd;.....         .;loo;';cc;,. ..,;,'.                                    ,,'';::'.....';,,,''.''
                                 .xkxlclo;...'ocoxkxkkkxd,..            ....  .'cdl:...';;,.                                   ',,';::,....';:;,'''',,
                                'dkxxlcldo;..:kO0xxdxdxkk:'..              ...  ..;ll:..'::,.                                  .;,,;;c:.....:;'''';c,'
                               ,dkxkkxdlll:...lO0kdddxdc;,'..             ..,.     .;lo;,,;:,.                                 .;,,,,:c'.';;cc,,'':c;;
                             ,lxxxdxxxdollc;. ..,:;,''. .','.              .,c;.     .;oo,,:c'                                  .,,;,,lc,,clcoc;,,cl:;
                         .;ldxdddddolcccclol;..  ....   ..,'..             .'':c'      .cd,;c:.                                  ,;,,,:l:,;llcc:,col;'
                       .lxkOxoolcccc::::ccllc;..  ....   .','.             ....;:;.      co::l,                                  .,;:,';c,';c:c::ooc:,
                      'kkdooc:;. .;:,;:cc::;;;'......... ..,,'.       .........',:,.      ll:l:.                                  .,,...::',:c::odc;;;
                      .ddlcccc;  .::,:c:::;,;:;............,;'..................',;.      .dclc.                     ..',;:c;,,,:;,'....';'..,:lddl:l:
                       ..........:o::::;;;;;;:;.............;;...................'''.     .cooo.  ..    ......  ,:...,,..;;,c;colc:;,,;,,;,..';clloodo
                         .......;doccc::,,,'::;'............'c;...................''..     ,doo..... ..'',;;;;,;oxo:;,..,'..'::,,;;,,;:;;;;',,;:ccodol
                      .........'xxdlcc;'....,;,..............;:,..........''',''..''........ddo'....,::cllll;':ddloo:''.........';:,'.';;:::cc:lddool:
                    ...........,dkdlc:....'',,,.'.........''',::,........',;:c:;'..''..... .dxl'',;od:'.....,codo::cll:'.......;:;;:,',:ccc;locodxolcc
                    ...........';:lc,..''.';;;,;,..........''':c:'.......';:ccc::;'.,'......oxc',ll;...     .;lol;,,;:lc;:cccccolccccllcccocododdxdlll
                   .....''''''.';,,'.....,::::;;'''..''..,'';clol:'.....':ccc::::;;.';,.....dd:;lo;''.........,::,:clcoddollclodllc::cccclooodddddocll
                 .......',,,''',:;;...',:c;ccc:,,;'.',::lodddoodxddl,...,,;;:;,'''''';:;,'.;xl:loc'''''....,::cllclcccccloodlllcclc:::ccllcclooollcclc
                 ......',,,,,:lodlccolloolccc:;:cllooooooodxxxxxdxddxo:,,.';,,'''','.',;;;,oxccll;........;olllclolc;;;:clooolc:;:c:;;:clllclllllcclll
                 .....',,;,;codllol:,,;:locc:;;:oolccllooddoxkdolo:;:oxdc;,,,,,,,,'.'...,,cxoollc,....,;ldxxdooloollc;,',;:clllcc:::c::cllolllllllllll
                 ....'',;;:dxo:,.,lc;,,,:c:coddoocccloooddxkkxlcl:,',:xxoo:'.',,,,'''....,dddocc:;,,::cdxxxxxxdlc:::cc:,,,;:loooooolc;,:looolccccccccc
                 ...'',,;;:ll:,..cl:'..,:::ldxdol:;:clollxkkxl:cl:''.ckkoldl;...',,,.....cxddo::cllollxxddodolc:;,;:cc:;;;:;;;;:c::clc:lodoolc:;cllccc
                 ...'',;;;;;;,...''......;clodddo,.';c:ldkxdloclo:,..;xkdlodc'....,,'...'xxocl:cdxdoocdddddol:,,:;;;cll:;,,;,,'';,';cl:odooolll:ccccc:
                                                                                                                              .,,;:...                
                                                                                                                              .,,,:...                
                                                                                                                              .,;':...                
                                           ......                                                                              ..';'..                
                                        .;odooc,''...                                                                          ...;,..                
                                      .lO0kc;,;:'.'''..                                                                        .'.,;.;.               
                                      oKOxo;,'',:....',.                                                                       .'.';.                 
                                     .k0xdo:;,'.,'......                                                                        '.',.                 
                                     .O0xdl:;,'.........                                                                        ..',.                 
                                     .00xol:,'...........                                                                       .'.,.                 
                                     .00kxlc;,....      .                                                                       .'.,.                 
                                     'KOko:;::,..                                                                               .'.,'                 
                                     ;Kxoccc:;,,..  .......                                                                      ..,,                 
                                     c0dddxxxddxkkkkdclxkxddo:'..                                                                .',;   ...'''..      
                                    .xOxodkOOkdc;,,lOd:doc:,;lkxc:,,''.                                                          .',:.',,,,,,;;lllc::;
                                   .:0Odxkdccc:.....lklo:''.':ldo:;;;;:c:'.                                                      .';c'',',,';:::cc::;;
                                  .;o0kdoc'.''::....cOo:..',:clc;',,,;;:lddoc,..                                                 .,;:'''.',,:cccc;,'',
                                  cck0d,''...,.:,;;;x0o',:cclollo:;',',,'..;,';:;'.                                             ..,;:''..',:clc::clool
                               ':lO00ko;;,...,.c,..'xklcodllol:clxxdc;,'........,;;;.                                          .'.,;:'.'',;'',;:c:cccc
                            .coc;;lOOko:;.....   ..;koloc...,.....,:lddo:,'..... .',;;.                                        .'.,;:;.','...';::c:::;
                             '.   'kOxo:,......   .xdooc.  .,.       .:ddlc:;,'... .',,,.                                      ,''',;;','....,;;;;;,''
                                  :kkdlc;......  ,xOxxd;.....          ;loo;';cc;'.  .,;,'.                                    ,,'',;:'.....';,,,''.''
                                 .dkxlcco;....c:cxkxkkkxd,..            .''.  .'col:...';;'.                                   ',,';;:,....';;;'''''',
                                .okxxlccdo;..;kO0xddxxxkkc'..              ...  ..;ll:..';:,.                                  .;,,;;c:.....:;.''',c;'
                               'okxxkxdlllc...lO0kxddxdl:;'..             ..'.     .;lo;,,;:,.                                 .;,,,,:c'.';;lc,,'';c;;
                             .ldxxdxxxdollc;. ..;c;;,,. ..''.              .,:,.     .;oo,,::'.                                 .,,;,,cc,,clcol;',cc::
                         .,coxdddddolcccclol;..  ....   ..,'..             ..':c'.     .:d,,::.                                  ,;,,,:c:,;llcc:':ol;'
                       .cdkOxdoolccc::::ccllc;..  ...    .','.             ....;:;.      :d;:l;.                                 .,;;;',:;';ccc:;ooc:,
                      .xkdooc:;...,c,,:cc::;;;'......... ..,,'.       .........',:,.    . co:cc.                                  .;,...::',cc::odl;;;
                      .ddllccc:. .::,:::::;,;;;............,;'..................',;.      .dccl.                      ..',;:;''',;''....':'..,:codo:cc
                       ..........;l;;::;;;;;;:;'............;;...................'''.      colo'  ..    .....   .;. .','.,:,::cool::;,;,';,..',ccloodd
                         .......,ooccc::,,,'::;'............'c;...................''..     'dld,.... ..'',,;,;''oxo:;,..',..':;;;:;,,;;;;,,',,,:ccoooo
                      .........'dxdllc:'....,;,..............;:,...........''''...''...... .ddd,....,;::llll;';odlooc'.'.........;:;'.';;::::c:codool:
                    ...........'xkdol:....'',,,''.........''',:c,........',;:::;'..''..... .lxo,.,;ld:,.....;cloocc:cl:'.......,;::;,',::cc:colodxollc
                    ......''...':clc,..''.',;;,,,......'....'':c:'.......';:cccc:;'.''......lkl,'ll;...    ..,ool;',;ccc;;:ccccoo::ccclccclcldoddxdoll
                   .....'''''..',,,'.....,::;:;;,.....''.''';:lol:'.....';:cc::::;;'.,,.....oxc;lo:'.'...   ..,::;;clclxxdolclloolcc::ccclloodddddolcl
                 .......',,,''',;;;....,;::clc:,';'..,;:lodddoodxxol,...';;;:;,,''''',:;,'.'xd:col,''''....';;clccccccccloodllllclc:::ccclccllooolcccl
                 ......',,,,,;coooccolloolccc:;:cclloooooodkxxxxdxddxo:,,',,,,,''','.';:;;'lxccoo;.......';lllolcllc:;;:clooolc:;:cc:;;clllclllllcllll
                 .....',,,,;coolooo:,,;:locc:;;:odllcllooddoxkdllo:;:lxdc;,,,,,,,,'....'';;xollll;....';loxxoooooollc:,,,;:cclccc:;;c:;cllllllllllllll
                 ....'',;;:dxo:,.;lc;,,,:c:cooodocccllooddxkkxoccc,',;dxoo:,'',,,,'''..'.'lxddcc:;,,;::oxxxxxxdolc::cc:,,,;:loooooolc:,;cooolcccccllll
                 ....',,;;:ol:,..co:'..,:::loddllc;:cllloxkOxo:cl:,'.:xkolol;...''';'....:xddoc:clllllxkddoodol:;,;:cl:;;::;;:::cc:clc:codoolc:;ccllcc
                 ....',,;;;;:,...''......,clldddl;.';ccldkxdoocll:,..:xkdlodc'...'';'....dkollccdddoolddddddo:,';:;ccccc;;,,;,',,,';ll:ldooolll::cllc:
                                                                                                                              .,;,:...                
                                                                                                                              .';':...                
                                                                                                                               ';';...                
                                           .......                                                                             ..','..                
                                        .cdxooc,.'...                                                                          .'.,,...               
                                      .lO0kl;,;c,.'''..                                                                        .'.',.;.               
                                      lKOxo:,'',:....,,.                                                                        '.';.                 
                                     .x0kdo:;;'.,'......                                                                        .'.;.                 
                                     .k0kdl:;,'.........                                                                        .'.;.                 
                                     .OKkdl:,'...........                                                                       .'.;.                 
                                     .00kxlc:,....                                                                               ..,'                 
                                     .00koc:::,..                                                                                ..,,                 
                                     ,Kkoccc:;,,'.   ......                                                                      .',,                 
                                     :0xdoxxxddxxxxxxllxxxddo:'..                                                                .'';   ...''''.      
                                    .dOxodkO0kdc:,,lOx:ddc:;;oxxl:;,'..                                                          .''c.',,,,,,;;lllc:::
                                   .:0Odxkxlcc:.....lOlo:''.':lxd:;,;::::'.                                                       ',:'.,','';:::cc:;;:
                                  .;l0kdol,.',;:....c0o:..',:lll:',,,;:clddlc,.                                                  .,;:'''.',;;cccc;,,',
                                  :lx0x;''...,':,;;;o0d,';cclolll:;',',;'..,,';:;'.                                             ..,,:'...';:clc::clool
                               .;lOK0Oo:;,...'.c,..'xkocooolol:cldxdc,,,........,;;;'                                          .'.,,:,.'',;'',;:cccclc
                             :lc;;lOOkdc;'.....  ..,xollc'..,'...';:oddo:,...... .',;;.                                        .'.,,:;'',''..';::::::;
                            .,.   .kkxdc,......   .dxloc. ..'.       .:xdlc::,.... .',,,.                                      ,''',;:'''....,;;;;:;''
                                  ,kkdoc;......  .oOxxd;.. ..          ;loo:';c:;'.  .,;,'.                                    ,,'';;:,.....';,,,','.'
                                 .okxocco;....:::xkxkkkxd;..            .''.  .'col:....;;'.                                   ',,,;;:,....';:;'''''',
                                .lkxxoccdo;..,kO0xddxdxkkc'..              ..   ..;ll:..';:,.                                  .;,,;;c:.....:,'.'',c;'
                               .okxxkxdlllc'..lO0kxxxxdlc;'..              .'.     .;ll;,,;c;.                                 .;,,,,:c'.';;lc,,'';c;;
                             .:dxxxxkxdoolc;.  .:c:;;;. ..''.              .,:,.     .;oo,';c,.                                 .,,,,,cc;,clcol;',:l:;
                         .':oxxxxddolcllllll;..  ....   ..,'..             ..':c..     .:d;,:c'                                  ,;,;,;cc,;lllc:,;ol:'
                       .:dkOkdoollll::::ccloc;..  ...    .','.             ....;:;.      ;d;;l:.                                 .,;;;';:,,:c:c:,ldlc,
                      .dkdoocc:...,c,,:ccc::;;'......... ..,,'.       .........',:;.      :o:cc.                                  .;,...;:,,:cc;ldo;;;
                      .dxlllcc:. .::,;::::;,,;;............,;'..................',;'      .dccl.                       ..',,,...',''....':''';:codo:cc
                       .'....'...,l:;::;;:,,;:;'............;;...................','.      ;olo,   .    .....   .,. ..,'.,c::::oolc;,,;,,;,..',:cloooo
                         .......'ooccc::;,;'::;'............'c;...................''...    .dld,  .. ...'',,,,''lxo;;;'.',...:::;:;,,;;;;,,',,,:ccoooo
                      ..........oxdlcc:,....,;;..............;:,...........''''...''........lxo;....';:cllll;';odoooc,...........':;'.';;::::c:coooolc
                    ...........'dkdol:'....',,,'..........''',:c,........',;:::,'..'........:kd;.,;loc,'....;cloolc:lc:,.......';:::,'';::c:colldxolll
                    ......''...':lol:'..'.',;;,;,......'...''':c:'.......',;ccc::;'.''......:ko,'co:'..     .,lol:,,:ccc;;:ccccooc:ccclccclllooodxdoll
                   .....''''''.';,''.....';;::;;,.....''..'',;cll:......';:cc:::::;'.,,.....cOl;co:'.....   ..,::;;clcldxdolcllddlccc:c:cloooddddddlcc
                 .......',,,''',;,,'...,;:::lc:;','..,;:cloddoodxxoc,...';:;:;;,''''',:;,'..dx:cdl,''''.....,,;cccc:ccccooodlllllll:::cclcccllooolcccl
                 ......',,,,,;clol::llloolclcc::ccllloooooxxxxxxdxxxxo:,,',,,,,''''''';:;;':xlcoo:.......',cllolcllc:;;:clooolc:;;cc:;;clllllllollclll
                 .....',,,,;:oolodo:;,;:lolc:,,:odllcllooddoxkdoloc::lxdc;,;,,,,,,,....'';;ddllll;....',cldddoolooolc;,',;:cllccc:;;c:;clllolllloollll
                 ....'',;;:dxo:,';lc;,,,:c:cooodocccllooddxkkxoccc,',;okdoc,'',,,,'''....'cxodlc:;'';::ldxxxxxxdoc::cc:,,';:coooooolc:,;coodlccccclllc
                 ....',,;;coo:,..loc'..;:::ldxdolc;:lllloxkOxo:cl:,'.:xOoldl;...',','....,xddol:cclllldxxxdddolc;,;::lc;;:;;;:::cc:clc:codoolc:;:cllcc
                 ....',,;;;;:,...'''.....,cloddol;.';llldkxdoocll:,'.;xkdlodc'...'';'....ckddlccoddooodxddddoc,,;;;:cllc;;,,,,'',,';lo:ldoooolc::cllc:
                                                                                                                              .','c..                 
                                                                                                                              .',':...                
                                                                                                                               .:';,..                
                                           .......                                                                             ...',...               
                                        .cxdool,''...                                                                          .'.',...               
                                      .lO0ko;,;:,..''..                                                                         '.';.,.               
                                      cKOxo:,,'';'...',.                                                                        ...;..                
                                      dKkooc;;,.,'......                                                                        .'.;.                 
                                     .xKkolc;,'.........                                                                        .'.;.                 
                                     .kKkdl:,'...........                                                                       .'.,'                 
                                     .O0kkoc:,....       .                                                                       '.,,                 
                                     .O0Ooc::c,..                                                                                .',,                 
                                     '0Ooccc:;,,..   ......                                                                      .'';                 
                                     ;0xdodkxxdxxxxxdlldxxddo:'..                                                                .'';   ...''''..     
                                     o0xooxO0Oxlc;,lkx:odl:;;lxxl;,''..                                                           ''c.',,,,,,;;cllc:::
                                   .;OOddkklclc'....cOolc'''';lxd:;,;::c:'.                                                       ',c'',','';::ccc:;;;
                                  .;c0kdol;.',,:....:Oo:..'';cll:',,,;;:lddl:'.                                                  .,;c'''.',;:ccc:;,,,,
                                  ,cx0x;,'...,.;,;;;oOd,';:clolcl:;',,,;,..;;,;c,'.                                             ..,;:,'..';:clc::clool
                               .,:k0KOd:;,...,.:,...dOocooolol:coxxdc,',........,:;;'                                          .'.';:;''';;''',:cccclc
                             ;ll::lkOkdc;'...... ...xdlll,..,'...';coxdo:,...... .',;;.                                        .'.',;;'',''..';::::::;
                             ,'.  .xOxdc,......   .lklol.  .'.       .:xxoc::,.... .',,,.                                      ,''',;:''.....,;;;;;:,.
                                  'kkxlc:......  .lOxxd:.. ..          ;oooc,;c:,'.  .,;,'.                                    ,,'.,;:,.....';,,,','',
                                  lkkocco;....,:;dkkxkkdo;...           .','. .'col:....,;'.                                   ',,,,;:,....';;;,''''',
                                .ckxklccdd;..'kO0xdxxxxkOl'..             ...   ..;ll:...,:,.                                  .,,,,;::.....:,'''',:;'
                               .lkxxkxdlllc'..lO0kxxxxxol:'..              ...     .;ll;'';:;.                                 .,,',,;c'.';;lc,''',c:;
                             .:dxxxxkkxoolc;.. ':lc:;;'..'''.              .'c'.     .;oo,';c,.                                 .,,,,,cc;,clcol:,';cc;
                          .,lxxxxddoollllcll;..  ....   ..,'..             ..,:c..     .:x;,:l,                                  ,,,;,;cc,;ccll:,;lo:'
                        ;okOkdoollllc;:c:cloc;..  ...    .'''.              ..';:;.      ,d:;c:.                                 .,;;;';:,,;c:cc,ldlc,
                      .dkdddl::...'c,,:cccc:;;'............,,'.       .........',:;.      ;d::c.                                  .;;'..;:,,:cc;coo:;,
                      'xxollc::. .;c,;::::;,;:;............,;,.. ...............',;'      .olcl'                       ....''....'''.....:,'';:codoc::
                       .'...''...'c:::::::,;;;;'............;;'.................'','.     .,dld,   ..   .....   .,.  .',',c::::oolc:,';,,,;..',:cloood
                         ........loccc::;;;,:::'............'c;...................''...    .old: ........'',,,'.cxo,,;,..,'..:::;::;,;;:;,,'',,;:coooo
                      ..........lxdllcc,....,;;..............;:,...........''''........... .cxd:.....,;:llll;',cdoool,..'.....'..';;'.,;;:::;c::oooolc
                    ...........'xkdolc'....',,,''.........''',:c,.........,;::;,'..'....... ;Od:.';cdl;'...';:looccllc:,.......',;::;'';:cc::ollddollc
                    ......''...':ool:'..'.',;;;;;..........''':c:'.......';;ccc::,..''..... ,Od;':o:'....  ..,oooc,';clc;;::cccloc::c:lllcclcooodddoll
                   .....'''''..',;,,.....';;;:;:,.....''..'',;:ll:.......;::c::::::'.,,.....;Oo;cd:'....    ..,;:;;cllcdxdollllodollc:ccccldoddddddlcc
                 .......',,,''',;;;'...';:::cc:;','..,;:cloddoodxdoc,...';::::;,'','.,:;''..lkccol,'''.......',cc:ccclccooodolcllllc:::clccclloooolccl
                 ......',,,,,;:lolc:ccloolcllc;;cclllooloddxxxxxdxxxxo:,,',,;,'''''''';:;;',xo:odc.......',:lloolllc:;:::looolc:;;cc:;;cclllcloollclll
                 .....',,;,;:loooooc;;;:lolc:;,;odllllloooddxkxoloc::lxdc;,;,,,,,,''...'';,lxllll;....',:lodooooodolc;,',;:cllccc:;;::;:lllllolollllll
                 ....'',;;:oxo:;';ll;,,,:c:cooodocccllooodxkkxoccc,',;okdoc;'',;,,'''....':xodlc:;,',;::oxkxxxddol::ccc,,',:loolooolc:,;cooooccccclllc
                 ....',,;;coo:,..co:'..;:::ldxdllc:clllloxkkkd:clc,,.:dOoldl;'.'''','....'dxddl:cclllcoxxdddddoc;,;;:cc,;;;:::::clcclc:cldoolc:;:clllc
                 ....',,;;;;:,...','.....,cloddoo:'';llldkxdoocllc,'.,dkdlodc'...'','....;xdoolcoddooldxddddoc,';;,:clcc:;;,;,,,,;',lo:looooooc::clllc
                                                                                                                              .';':...                
                                                                                                                               .;.:'..                
                                                                                                                               .:';, .                
                                           .......                                                                             .'.';...               
                                        .cxxool;''...                                                                          .'..;...               
                                      .l00ko;,,:;..'''.                                                                         .'.;.,,               
                                      cKOxoc,,'';'....,.                                                                        .'.;...               
                                      dKkooc;;,.',.......                                                                       .'.;.                 
                                      dKkdlc;,'.........                                                                        .'.,'                 
                                      xKkdoc,'...........                                                                        '.,,                 
                                     .k0Okoc:;....       .                                                                       .'',                 
                                     .O0kdc::c,..                                                                                .'';                 
                                     .0Odlcc::,,'.    ....                                                                       .'';.                
                                     ,0xdodkxxddxxxddlldxxddl:'..                                                                ...:. ....',,'... ...
                                     l0kooxO00xlc;;ckk:oxl:;;lxxl;,''..                                                           .'c'',,,,,,;;cllc:::
                                   .,OOxxkxoclc'....:Ooll,''';lddc,,;::::..                                                       .,c,'''''';::ccc:;;;
                                   ;c0Oxol;..,,:....;Odc...,;cll:,,;,,;:lddl:'.                                                  .,;:,'..',,:ccc:;,,,'
                                  ,cd0k:''...;.;;;;,l0d,.,:clolcl:;'',,;,'';;;;:,'.                                             ..,;c;...';:ccc::clooo
                               .':k00Ox:;,...,.:;...oOdcloololccoxxdc,',........,;;;'                                          .'.';;;.'';;''',:c:cccc
                             'cl:clkOkdc;'.....  ...xxlcl,..;,...';coxdo;'...... .',;;.                                        .''',;;'',''..';:cc:::;
                             ;,.  .dOkdc,......   .:xlol.  .'.       .:xdo:::'.... .',,,.                                      ,''',;:''....',;;;;;;;'
                                  .kkdoc:......  .:Oxxd:.....          ;oooc;:::,..  .,;,'.                                   .,,'.,;:;.....';,,,,,'',
                                  ckxocco;....':,okkkkkdl;...           .,;,. .':oc;....,;'.                                   ',,',;:;....';;,''''.',
                                .;kxkoccdd;...xO0kxxxxxkOo,'.             .     ..:ol:...;:,.                                  ',,,,;::....':,'.'''::'
                               .ckxxkxdlllc'..lk0Odddxxdl:'..              ...     .;ll;'';:;.                                 .,,',;;c,..;;l:,,'',c:;
                             .,oxxxxkkxdolc;...'colc::,...''.              .':'      .:oo;';c;.                                 ',,,,,:c;,cccol:,';lc;
                          .,cdxddxdoollllllo;..  ....    .,'..             ..,cc'.    ..;x;':l,.                                 ,,,;,;cc,;ccll:',lo:'
                        ,lkOkdoooollc::cccloc;..  ...    .','.              ...;:;.      ,d;;cc.                                 .,;;,,;:;;;cc:c,cdlc,
                      .okdddoc:'..'c;;;:ccc::;'............,,'. .     .........',:;.      ,d::l.                                  .;:...;:,,:cc;coo::,
                      'kxoclc::. .;:,;::::;,,:;............,;,..................',;'      .clcl,                        ...........'.....:,'';::oddc;:
                       .,,''','...c:;:::;;;;;;;'............;;'.................'',,.      'dlo:   ..   ....     '.  ..'',:ccc:lolc;,',,,,;'.',;cloooo
                         ........:o:::::;;;,;::,............':;...................''...   ..looc.. .......''','.;xd'',,..,;'.:;c:::;,;,;;,,',,';:loddo
                      ..........:xdllc:,....';;'.............;c,...........''............. .;xdc....',;:clol:,'cdoool;........',.';;'',;;:::;:::looolc
                    ...........'dkdolc,....',,,'..........''',::,.........,;::;,'..'........'kdc.';col;,'..';:coolcllc;;........',:c;'',::cccolloddlll
                    ......''....cddoc,..'.',;;;,,..........''':c:'.......',:ccc:;,..''......'kx;';oc,....   .'looc;,,cll;,::cc:loc::c:cclccccooodddoll
                   .....'''''..',;;,.....',;;;;:,.....''...',,:ll:.......,:cccc::::'.''.....,kd;:d:'....    ..,::;,:llldxddolllodollccccccldodddddddcc
                 .......',,,'''';;,....',:::cc:;';'..';;cloodoodddoc,...';c:::;;,,,'',;,'...:kl:dl;,''........':c:ccclclooddolcllllc:;cccccccloooolccl
                 ......',,,,,;:loc::ccclolcclc:;:cclloollodxxdxxxxxxxo:',,,,;,''...',',::;''ddcldc'......',:cclolclc:;;::looolc:;;cc:;;:cllllllollccll
                 .....',,,,;:loloooc::::lolc:;,;odllllllooddxkxoloc::lddl;,,,,,,,,,'...',;;cxllol;.....'::cdooooodolc;,',;:cclccc:;;:::cllllllllllllll
                 ....'',;;:oxoc;,;lc;,,,:c:cloodocccllooodxkkxlc:l,'';okdoc;'',;,,'......':doollc;'',;::ldkxxxdddl::ccc,,,';cloooollcc;:cloooccccclllc
                 ....',,;;colc;'.coc,..;:::coxdolc;:clllodkkkd::cc,,.;dOdlol;'.'','''.....oxodl::ccllclxkxddddol:;;;;:l;;;;:::ccclcclc:cldoolc:;:clllc
                 ....',,;;,,:;'..,;'....';cllddoo:'':lllxxxdoocllc,'.,dkdcldl'...'.,,....,xxdolcodoodldxddddol;,;;,::loc:,;;;,,,;;',lo::odooooc::clllc
                                                                                                                               .,':...                
                                                                                                                               .;';,..                
                                                                                                                               .:,,;...               
                                           .......                                                                             .'.';...               
                                        .cxxool;''...                                                                           '..;...               
                                      .l00ko;,,;;...''.                                                                         .'.;..,               
                                      :K0xoc,,'';,....,'                                                                        .'.;'..               
                                      lKkooc;;,'',.......                                                                       .,.;,                 
                                      oKkdlc:;'.........                                                                        .'.,,                 
                                      dKOdlc,'..........                                                                         ..',                 
                                      xKOkoc:;....       .                                                                       .'',.                
                                     .k0kd::;c;..                                                                                .'.;.                
                                     .OOdllcc;,,'.                                                                                ..;.                
                                     '0xdodkkxddddddolcoxdddl:..                                                                  ..:. ....',,'.......
                                     c0koodO00xol:;lkk:lxlc:;lxxl;,''..                                                           .'c;',,,,,,;:cllc:::
                                   .'k0xdkkoclc'....;Ooll,''';lddc;,;:::;.                                                        ';c;','''';;::c:;;;;
                                   ,:0Oxdo;..,,:....,kdc'..',cllc,,;,,;:lddl:'.                                                  .,;:;''.',,:lccc;,,,,
                                  'co0kc''...,';;;;;cOx;.,:cloocl:,'',,;,'';;;::,..                                             ..';::..'';:ccc::clooo
                                .,x00Oxc;,...,.::..'lOdclooloolcoxdoc,.,.. .....,;;;'                                          .'..,;;''',;''',:c::ccc
                             .clccokOkdl:'.....   ..dxlcl;'.;,...,:coddo:'...... .',;;.                                        .'..,,:'',''..';:cc:::;
                             ;;.   dOkdc;......   .;xloo'  .'.       .:xxo::;'.... .',,,'                                      ,''',,:,'....',;;;;;;;'
                                  .xOxoc:'.....  .,kkxdc.  ..          ,odoc;::;,..  .,;,'.                                   .,,,',;:;.....';,,,,,'.'
                                  :kkollo;... ';'lkOkkkdl;...           .,:;. .,coc:. ..,;'.                                   ',,',;;,.....;;,''''.',
                                 'xxxoccdd;...xOOxxxxxxkkd,..             .     .':ol:...,:;.                                  ',,,,;;:....,:,.'''';:,
                               .:xxxkxdlllc,..lkKOdxxxxxoc,..              ...     .;ll;'';:;.                                 .,,,,,;l,..;;l:',,''c:;
                              'oxxxxkkxdolc;...,ldlccc;...'..              ..:'.     .:oo;';c;.                                 ',,,,,:c;,cclol:,';cc;
                          ..:dxxxdddolllllll;..  ....   ..,'..             ..,cc..    ..,x;';l;.                                 ,,,;,;:c,;clll:,,cdc'
                        'cxOkdodoollc::cccloc:..  ...    .','.              ...;:,.      'd:;:c.                                 .,;;,',:;,;c::c,:doc;
                      .lxddxocc'..'c;;;:cccc:;'............,,'.       ..........;:;.      ,d::c,                                  .;:'..;:,,:cc::odc;;
                      'kxollc::. .,:,;::::;,,:;............';,.. ...............',;'.      co:l;.                        ...... .........:;'';::lddc::
                       ';,'',,'...c:,:c:::;,;;;'............;;'..................'',.     ..oloc.  ..   ....     ..   .',,:lcc:cooc:,',,',;'.',;looooo
                         ........;o::c:;;;;,;::,.......'....':;...................''...   ..cdol.  .......''''..,do'.,,'.';,';::c::;,;,;;,,,,,',:clodo
                      ..........;xdllc:;....';;'.............;c,...........'.............. .,xdo.....,,;:lol:,':odool:'..'....,,'';;'',:::::;;;:looolc
                    ...........'dkdolc,....',,,'..........''',::,.........,;;;;,'...'..... ..xxl'.,coo:,,'.';;:lolcloc,,.........';:;'',;:cc:clloxdllc
                    ......''....cddoc;..'..,;;;,;..........''':c:'.......',;:cc:;,..''.......dkc',ol,..     .'lool;,,:ol;,:::cclocc:c::llccl:loloddoll
                   .....'''''...;;:;'....',;;;,:,.....''....',;ll:.......,;cccc::::'.''......xk;:oc'....    ..,:c;,;llldxddolllodoccc:lc:cloodddddddlc
                 .......',,,'''';;,'...',::::c:;',,..',;:cooooooddoc,...';cc::;;,,,,',;,'...,ko:oo;,''.........,:cccclclooodolcllooc:;:ccccccloooooccc
                 ......',,,,,,:loc:;::clllccll:::ccllooooodkxdxxxxxxxo:',,,,;,,'...''.;c:;,.lxcldc'......'';cccolclc::;;:looolc::;cl:;;:cllllllolllccl
                 .....',,,,;:oolodoc:::clolc:;,;odllllllooddxkxoooc::oddl;,,,,,,,,''''.',;,:klloo:.....,::coooooooolc:,',;:clllccc;,;::cclllloollllllo
                 ....'',;;:oxoc;,;lc;,;,:c:cloldolccclooodxkkxlccl,',;lkdoc;',,;,,''.....';odoocc;'',;;;coxkxddddl:;ccc,''';cloloollcc;;:looocccccclll
                 ....',,;;cdoc;''coc,.';:::cdxdolc::clllodkkko::cc,,.;okdloo;'''','',.....cxodlc::ccccldkkxxxddoc;,;;:c;,;;;:cccllcclc:clddollc:::lllc
                 ....',,;;;;:;,..;;'....';ccldddo;',:lllxxxxoocclc,,.,dOxcldl'..''',,.....dxddlclddddloxdddddo:,,;;::cll:;;;;;,,;;',llc:oddoooc:::lolc
                                                                                                                               .,';,..                
                                                                                                                               .;,,;..                
                                                                                                                               .:;':...               
                                           .......                                                                             .''.:...               
                                        .lkkooo:'''..                                                                           .'.;'..               
                                      .lOOxo;,';:...''.                                                                         .'.;'.;               
                                      ;K0xoc,,'',;....,'                                                                        .,',,..               
                                      cKkdoc;;,.',.......                                                                       .'.,,                 
                                      lKOdlc:;,.........                                                                         '.',                 
                                      oKOdol;'.......... .                                                                       .'.;                 
                                      dKOkoc:;'...       .                                                                       .'.;.                
                                      x0Odc:;:;..                                                                                .'.;.                
                                     .k0dlllc:,''.                                                                                ..;.                
                                     .Okdodkxxodddddoccodddol:'.                                                                  ..:. ....',,,'......
                                     :0kooxO0Okdl::lkkclxoc:;lxxl;,'...                                                           .'c:'',,,,;;;cllc:::
                                    .k0xdxkdccl'....;Odll;''';lddc;,;:::;.                                                        .;c;','''';:::c:;;;;
                                   ,:O0kdo:..,,;....,kxc,..',:llc,,;,,;;looc;'.                                                  .';::'..',,:ccc:;,,''
                                  .cl0Ol,'...,';;;;;:Ok;.';cloo:c:,'',,;;,';;;::,..                                             ..';::..'';:ccc::clooo
                                .'d00Oxc;,'..,.::..'c0dlloolllccoxdoc,.,........,;;;'                                          .'..,,:''',;'.,,:c::ccc
                             .:lllok0Oxl:'.....   ..lklcl:'';;...,:loddo;'...... .',;;.                                        .'..,,:'',''..';:cc:::;
                             ;:.   okkdl;......   .'xolo,  .'.      ..:xxoc:;'.... .',,;.                                      ,''.,;:,'....',;;;;;:;'
                                  .xkxoc:'.....  .'xkddc.. ..          ,ddlc;::;,..  .',,'.                                   .,,,',;:;.....';,,,,,'.'
                                  ,kkollo:.....,'ckOkkkdl;...           .,:c...,clc:. ..,;'.                                   ',,',;;,....',;,''''.',
                                 .dxkoccdd:...dOkxxkxxxkkx,..                   .':ll;...,:,.                                  ',,,,;::'...,:,..''',:,
                                ;dxxkxdcloc,..lk0Oxxxxxxdl,..              ...     .;ll;'',:;'                                 .,,,,,:c;.';;c:',,'':c,
                              .lxxxxkkxdolc;...,ldolcc:...'...              .:'      .;oo;',c:.                                 ',,,,,:l;,cclol:,',cl;
                           .;oxxxddooollllll;..  ....   ..,'..              .,c:..    ..,x:';c;.                                .,,,;,;:c,;ccll:,,:oc'
                        .:xOkdddddolc::cccloc:..  ....   .','.              ..';:,.      'x:;;c'                                 .,;,,',:;,;c::c;;ddc;
                       cxddxocc,..'c;,;ccclc:;'............,,'.       .........';::.      'd:;c;                                  .;:'..;:,,:cc:;ldl:;
                      'kxollc:;.  'c,,::::;;,:;............';,..................',;,.      :dcc:.                          ..   ...'. ...:;',:::codl;:
                      .,;;,,,;,...:c,:c:;;;,,;;'............;;'..................'',.      .ollc.                ..   ..',;ccc:cllc;,'',',;'.',,cloooo
                       ..........;o:;c:;;;;,;::,.......'....':;...................''...    .:doo.  ........''''.'do'..,'..,;,;;;cc:;,,,;,,,,,;',cclodo
                      ..........,ddlccc:'...';;'.............;c,..........................  'xdo....'',;:cll:,,;odoocc,..'....;,,';;'',;::::;;;;cooolc
                    ...........'okxolc;....',,;'..........''',::,........',;;;;'....'...... .oxo'.'cooc,,''';;:ldl:loc,''.........;c;'',;:cccllcoddllc
                    ......''...'lxxol;..'.',;:;,;..........''':c:'.......',::c::;,..''.......lkl,,ol;... ....'cool:,,:ll;,;:cccllcccc::cclcl:coooddool
                   .....'''''..';;::,...'.,;;;;;,.....''....',;ll:.......';:cc::::;'.''......okc;oc'....    ..,:c:,,clloxdoollloxdlccclc::loooddddddlc
                 .......',,,'''';,,'...',;:;:c:;,,,..',;:cllodooddoc,...',:::::;,,;,.',,'....xx:oo,'''.........':cccclllooodollllllc:;:ccccccllooooccc
                 ......',,,,',:clc:;;::lll:clcc;;:lccloooodkkxxxxxxxxl;'',;;;;,''..''';:;,'.cxlldc,'...''.',:ccllcccc::;:looolcc:;:ll;;:clllllloolcccl
                 .....',,,,;:loodolcc::clolc:;,;odolcclloodddkxdoolccoddl;,,;,',,,'''..',;,;xdloo:'....,;ccodlooooooc;,,,;:clllcc:;,;:;cclllloollolllo
                 ....'',;;:oxo::;;lc;,,,:cccllldolccclooodxkkxlc:l,'';lkdoc:,,,;,,''.'...',lxoocc;''';;;:coxxddddl::ccc,',',cloolllllc;;:loodl:ccccllo
                 ....',,;;cdoc;'.coc,.';:::coxdolc:cllllodkkko::cc;'';okdcoo:'''',,',.....:xddoc:::cccldxkxxxddol:;;;:c:,;;;:clccllllc:clodolcc:::clll
                 ....',,;,;;;;,..;:,....,:ccldddo:,,cllldxxxoocllc;'.,xkxclxl,..','',.....lxodocldddoloxxdoodoc,,;,;:clcc:;;;,,,;:,,llccoddolll:;:clll
                                                                                                                               .,,;;..                
                                                                                                                               .,,':...               
                                                                                                                               .,c':...               
                                           .''....                                                                              '..;'..               
                                        .lkkool:'''..                                                                           ...;,..               
                                      .l0Oxo:,';;...''.                                                                         .'.;,.;               
                                      ;K0xol,,'',;....,'.                                                                       .,',;..               
                                      :KOddl;;,'.,.......                                                                        ''';.                
                                      cKOdlc:;,.........                                                                         .'';.                
                                      lXOxol;'.......... .                                                                       .'.,.                
                                      oKOkdl::'....      .                                                                        '.;.                
                                      dKOdc:;::'.                                                                                 ..;.                
                                     .k0xlllc:,''.                                                                                ..;.                
                                     .kkdodkxxdodddooccloddol:..                                                                  ..;' ...',,;,'......
                                     ;0koldk00Odlc:lkkccxol::lxxl;,'...                                                           .':c.',,,,,,;cllc:::
                                    .x0xdxkdccc,....,kdlo:''',cdxl;,;:::;.                                                        .;c:'''''';:::c:;;;;
                                   ':OOxdo:..,,:....'xxl,..'';clc;;;,,;;ldoc;'.                                                  .';;:'..',,:lcc:;;,''
                                  .:l0kl,,...,';;;;,:kk:.';:loocc:,'',,;;,,;;;::,..                                             ...,;:'.'';:cc:::clooo
                                ..l00Oxc;,'..,.::..'c0xccolloolclddoc'.,'.......,;;;.                                          .'..,,:''',;'',,::::ccc
                             .;clldk0Oxl:,.....   ..cko:ll,';;..',coddol:....... .',;;.                                        ''..,;:,','..'';:cc::c;
                             ;c'   lOkdl;'.....   ..xolo;  .'.      ..;dxo::;'.... .',,;'                                      ,.'.';:;'....',;;;;;;;'
                                   oOxoc:'.....   .dkddc.. ..          'oolc;::;'..  .',,'.                                   .,,''';;:.....';,,,,,,''
                                  'kkdlco:... .'.:xOkkxdl;...           .;cl'..,cl:;. ..,;,.                                   ',,',;;,....',,,''''.',
                                 .okxoccdx:...lOkkdkxxxkkx,...                . .':oc;...,c,'                                  ',,,,;::'...,:'.'''.,:,
                                'dxxkxdcloc,. ck0Oxxxxxkxo,...             ...     .;ll;.',:;'.                                .,,,,,:c;'.;;c:,,,'':c;
                              .cxxxxkkxdolc;...,oxdollc'.''...              .;'      .:oo;',c:'                                 ',,,,,:l;,cclol:,,,cl:
                           .,ldxxddoooolllll;.. ......  ..,'..              .,c:..    ..,dc',c:.                                .,,,,,,:c,;clll:,,;ol,
                        .;dOkdddddooc::ccclol:..  ....   .'''.              ..';:,.    . .d:;;c'                                 .,;;,',:;;;:::c:;odc;
                       ;xddxolc;'.'c;,;cccll:;'............,,'.       ..........;::.      .dc:c;.                                 .;:'..,:,,:cc:;cdl:;
                      'kxollc::. .'c,,::::;;,:;............';,..................',;,.      ;dccc.                                ..'. ...;;,,;::codl:;
                      .;:;,,;,;...::,:c:::;;;;:'............;,'..................',,.      .llll.   .             .    .',;:::;:llc;,'',',;,.',,:odolo
                        .........'l::c:;;;;,;::,.......'....':;..............'....''...    .;dlo'   ........''...oo'..,,..':,,:;ccc;,,,;;,,,,;.,:clodo
                      ..........,odcccc:'.'.';:'.............;c,.............................doo'...'',,:cll:,,,ldol:c;..',...;;,';;'',;::;;;;,;cooolc
                    ............lkxolc;....',,;'..........''',::,.........';;;,,'...'..... ..cxo,.':olc;;,'';;;col:lol;.'.........,:;''',:cc:clcldxllc
                    ......''....lxxol:..'.',;:;,;'.........'',:c:'.......';:::::;'..''.......:ko,'lo:.........cool:;,;ll:,;::c:clccc::::clcl:coloddoll
                   .....'''''...;ccc;.....,,;;,;;.....'.....'';cc;.......';:cc::::;'.''......ckc,ol'....   ...,:lc,,:llodddollloxdolcclcccllooddddddoc
                 .......',,,'''';,,'....';:;::::,,'..',,:cloooodddlc,....,:cc::;;,;;.',,'....okcld,'''........'.;c:ccllcooodollcllolc;:cccccllloooolcc
                 ......',,,,,,;clc:,;;:llc:clcc:;:lccloooodkxxxxxxxxxo;'',;;;;,''..''',:;,'.;xoldl,''.'''..';:cllcccc::;:looolc::;ccc;;:ccllllloollccl
                 .....',,,;;:loodolccccclolc:;,;odollclloodddkxdoolccoddl;,,;,',,,''''',,;;,dxlooc'....':ccloloooodoc:,,,;::lll:cc:,;::cclllloollllllo
                 ....'',;;;lxo::;:lc;,,;:cccllldolccclooodxkkxlc:c;'',ckdlc:,',;,,''.....',cxoolc;'.',;;:clxxddddo:::cc;',,,clooolclcc:;:loodocccccllo
                 ....',,;;cdoc;,'coc,.';:::coxdolc:cllllodkkxd;::c;,';lkdcoo:''',,'',.....,dddoc::::cccoxxxxxxdol:,;;:c:;;;;:cllclllcc:clodoocc:;:clol
                 ....',,;;;;:;,..;:,....,:ccldddoc,;cllldxxxloclll;,.'dkklldo,..'''',..'..:xodoccoddoooxkddddol:;;,;::llc:;;;;;;;:,,llcclodoollc;:cool
                                                                                                                               .,;':...               
                                                                                                                               .,;':...               
                                                                                                                               .'l':'..               
                                          ..,''....                                                                             .,';'..               
                                        .lkkollc,.'...                                                                          .'.,,..               
                                       c00ko:,',:'..''..                                                                        .'.,;.;               
                                      ,00xdl;,'',;....',.                                                                        ''';..               
                                      ;KOool;;;'',.......                                                                        .'';.                
                                      :XOdol:;,..........                                                                        .'.;.                
                                      cX0xol;'.......... .                                                                        '.;.                
                                      cKOkdl::'...       .                                                                        ..,.                
                                      oKOd::;::'..                                                                                ..,'                
                                      xKxlllc:,''.                                                                                ..,'                
                                     .kkdodxxxdooooolcccooool:.                                                                   .';, ...',,;,'......
                                     ,0koldk0OOxol:lkOccxdlc:lxxl;'....                                                           .':c'',,,,,,;cllc:::
                                    .d0xdxkxlcl;....,kxlo:,'',cdxo;,,:::;.                                                        .;cc.''''';::cc:;;;;
                                   ':OOxdoc'.,,:'....xkc;..'':ccl;,;,,;;looc,..                                                  ..,;:'..',,:lcc::;,,'
                                  .:c0Oo,,...',;;,;,;xOc..;:coocc:,'',,;;;,:::::,..                                             ...,,:'.'';:cc:::clooo
                                ..c000kl;,'..'.::..':Oklcooloolllddo:'.''.......,;;;.                                          .'..,,:,'',,.'',;:c:clc
                              ,:lodkOkxo:,...'.. ...;Oocll;';:''';coddol:....... .',;;.                                        ''..';:,',''.',;:cc:::;
                             ;l'   cOkdl:'.....   ..dolo:. ...      ..:dxo:;,'.... .',,;'                                     .,'..';:;'....',,;;;;;:'
                                   oOxolc'.....   .lkdol.. ...         .ddlc:::;'..  .',,'.                                   .;,''';;:.....';,,,,,,''
                                  .xkdlco:... .'.;dOkkxdc;...           .;ll,..,cc:;. ..,;'.                                   ',,'';;;....',,,'''''.,
                                  lxkoccdx:...:Oxkxkxxxkkk;...                  .':ol;...,:,'                                  ',,,,;::,...,:'.'''.,:,
                                .lxxxxocloc,. ck00xxxxxkxo;...              ..     .;ll;..,::,.                                .,,',,;:;..;;l:,,,'';c;
                              .:dxxxkkxdolc;...;dkdoool,.''...              .;'      .:oo;',::,                                 ',',,':l;,:clolc,',:l:
                            'cdxxxddddolllll;..  .....   .,'..              .,:;..    ..,dc';c:.                                .',,,,;:c,;clll:,,;oc,
                        .;okkdoddddoc::ccclol:..  ....   .','.              ..'::,.    . .dc,;c,                                 .,;;,',:;,;:::c:;ldl;
                       ,ddxxdlc;'.'c;,;cccllc:'.........  .,,'.       ..........;::.      .dc:::.                                 .;:'..,:;,:ccc:coo:;
                      'kxollc::.  .c;,;:::;;,;;'...........';,..................',;,.      ,d::c.                                ..''  ..;;,,:c::odl:;
                      .;c:;;;;;...;c;:::::;;,;:,............;;'..................'',.      .coll.                 .    ..',;::;:ccc;,'''',;,.',,:ldooo
                         ........'lc;c:;;;;;;::,.......'....':;..............'....''...     'dld, . .............co' .',''';:,:;lcc:,,,;;,,,,;'':clooo
                      ..........'ldlccc:,.'.';:,.............;c,.............................odo;....'',;:cl:,,,cddl:;;..',...,;;';;'',::;;;;,,;cooolc
                    ............lxdolc:....',,;'..........''''::,.........',,;,,....'..... ..;xo;.':olc;;,,,;;;:oo:lol;...........':;''',:cc::lcldxllc
                    ......''...'lkxol:'.'..,;;;,;'.........''':c:'.......';:::::,'..''...... ,xd;'lo:.........cool::;:ll:,,;:::cl::c::::clll::lloddool
                   .....'''''...;clo:'....,;;;,;;.....''.....',cl;.......';:cc::::;'.''......,xo,lo'....   ...,clc;;:clodxdollloxdol:ccc:ccloododdddoc
                 .......',,,'''',;,'....';:;::::,,'..',,;cllooodddl:,....,:cc::;;,;;.','.....:kllo;'............;:cclclcodooolllllolc;::cccclllooodlcc
                 ......',,,,',;clc:,,,:ccc:cllc:;:lccllooodkkxxxxxxxxo;'',;;;;,''...'',;;,'.'xdcdl,''''''..',;::llcccc:;:cooolc::::cl:;;:lllllloollccc
                 .....',,;;,;loodolclccclooc:;,;odollclooddddkxdoooccoddl:,,;,,',,''''',;;;'lxllol'....';cccolloooooc;,',;::lllccc:;,:;:clllloollllllo
                 ....'',;;;ldl::::lc,,,;:cccllldolccclloodxkkxlc:c;'',ckxol:,',,,,''.....',:xooll:'..,;;;:cdxdddxoc;:cc;'''':looolclcc:;:loodolccclclo
                 ....',,;;ldoc;,':ol;.'::::coxdolc::ccllodkkxd:::c;,',lkdloo:'','''''.....,odooc::::cccldxkxddddlc;,;:::,;;::clllolllcc:loddolc:;:clol
                 ....',,;,;;:;,..;:;...',:cclooooc;;cllldxxxloclll;,.'dkxclxo,..''.',.....;kooolcodddoldkddxddlc,;,,;:cl::;,;;:;;:;,ccc:ooddoolc;:colc
                                                                                                                               .';'c...               
                                                                                                                               .';':...               
                                                                                                                                'l;;'..               
                                          .',,,....                                                                             .'',,..               
                                        .oOOollc,.....                                                                          .''',..               
                                       c00xo:,'':,..'''.                                                                        .''';.;.              
                                      '00xol;,,'';....',.                                                                        .'';..               
                                      ,KOdol:,;'.'.......                                                                        .'.:.                
                                      ,K0dol:;,...........                                                                       .'.;.                
                                      ;X0xol;,............                                                                        ..;.                
                                      :KOkdlc:,...                                                                                .','                
                                      cKOdc:;:;'..                                                                                .','                
                                      oKxlllc:;''.                                                                                .',,                
                                     .xOdooxkxdooooolc:cooolc:.                                                                   .'', ...',,;,,......
                                     'OOdlox00OxolclxOl:xdoc:lxxl;''..                                                            .',c',,,,,,,;:llc:::
                                    .o0kdxkxlll,....'xxco:,'.,cdxo:,;;::,.                                                        .;:c'''''';;:cc:;;;;
                                   .;k0kdol'.,,:'....dkl;...';cll:,;;,;;cooc;..                                                  ..,;c'..',,:lcc::;;,'
                                   ;c0Od,,...,,,;,;,;dOc..,:clolc:,'',,,;;,;::c:'..                                             ...,,:'.'';:cc:::clooo
                                 .;O00kl;;'..'';c'..;Okl:loloolclddlc,.',.......,::,.                                          ....';:,'';,.'',;:c:cc:
                              ':lodk0Oxo:,...'..  . ,Oocll:';:'.,;coddoc;....... ..,,;.                                        .'..';:;''''.',;:cc:::;
                             ;l,   :Okxo:'.....   ..odlo:. ..'      ..;dxo::,..... .',,;'                                      ''...;:;,....',,;;;;;:'
                                   lOkolc'.....   .;xodl.. ...         .ddlc:::;'..  .',,,.                                   .,,''';;:.....';,,,,,,''
                                  .xkxllo:.......,oOkkxdl;...           .;ll;..,cc:;. ..,;'.                                   ',''';:;....',,,'',''.,
                                  ckkdccdd:.. :kdxxxxxxkxk;...            ...   .':oc;...':,'                                  ',,,,,:;,...,:'.'','';,
                                .lxxxxocloc,..ck00xxxxxkkd;...              ..    ..;ll;..,::,.                                .,,',';:;'.,;l:,,,,.,c;
                              .;dxxxkkkdolc;...;dkxdooo;''''..              .,'      .;oo:',::,                                 ',',',:c;,:clolc,,';l:
                            .:dxdxddddoollll;..  .....   .''..              .,c;..    ..,dl',::.                                .,,,,,;:c;;ccooc;,,ll;
                         'lxkxddddool:::cclol:'.  ....   ..''.              ..';:,.    . .dc,,c;.                                .,;,,'';;;;:::c:,ldl:
                       'dxxxdoc:,',c:;;:ccloc:,.........  .,,'.       ..........;::.      .oc;:c.                                 .;:,..,:;,:ccc::ooc;
                      .kxdloc::.  .c;,;::::;,;;............';,..................',;,.      'dc:c'                                 .''. ..;:,';c:;ooo:;
                      .:l:;;:::...,c,;::::;;,;;,............;;'..................',,.     . :ocl,                       ..,,;;;;cc:;'''''';,.',,;ldooo
                        ..........lc;::;;;;;;;:,.......'....':;............''.....''...   . .dlo; . .............:l'  .,,'',:;:;col:;,,;,,,,,;'.:clooo
                      ...........cdc:cc:,.'.'::,.............;c,.............................cdoc.....',;::c:;,,:ddo;;;,..,,..,:;,;;'',::;;,;;,,clooll
                    ............cxdoll:'....,,;'..........''''::,.........',,,,''......... ..,xo:..;llc::;,,;;,;odccoo:.........'.';:'.',:cc::lccdxolc
                    ......''...'lkxolc'..'',;;;,;'.........''':cc,.......',;:::;,,...'........xd:,cdc'........:ool:::;ccc,,;;:ccc::cc:;:ccclc:llodddol
                   .....'''''...;looc,....',;;,;;.....''....'',cc;.......';::c::::,'.''.......xo;lo,....    ..'cll:,;:lodddollloddol::clc:cloloddddodc
                 .......',,,'''',;,,....',:;;::;,''...',;:clooodddl:'....,:cc::;;;;;..,'.....;xocd;............',::clllloddoollcllooc:;:cccllclooooolc
                 ......',,,,',;:lc:,',;:cc::llc;,;lccllooodkxxxxxxxxxo:'',;:;;;''..''',;;,'..oxloo,''''.....',;:cccccc:;:codolc::::cc:;;:lllcllooolccc
                 .....',,;;,;ldodolcllllloocc:,;oddolclooodddkxdoooccoddl:,,,,,,,'''''',;;;':xolol,....';:ccllloooooc;,',;:clllcc::;,:;:clolololloollo
                 ....'',;;;ldl:::clc;,,,:lcclllodlccclloodxkkxlc:l;'',ckxol:,,,,,,''.....',;ddool:'.',;;;:coxddxxdl::cc,'''':looolcccl:;:lloddlccclllo
                 ....',,;;lxdc;,':ol;',::::coxdolc::clllldkOxd:;;c,,''ckxloo:'',''''.'....'lxool::::ccccdxxxxdddoc;,;:c:,;;;;clllllllcc:loddolcc:::lol
                 ....',,;,;:::,'.cl:...,;::clooooc;;colldxkxooclll;,..dkkccdo,..'''''.....,ddoollloddolokkddxdol:;;,;:cclc;,::::;:;;clc;ldddlll::::lol
                                                                                                                                ';,:...               
                                                                                                                                ':,;...               
                                                                                                                                .c:;,..               
                                          .';,,.....                                                                            .,'',..               
                                        .oOOocll;.....                                                                          .''.;...              
                                       cO0xo;,'';,...'..                                                                         ''.;.;.              
                                      .O0xol:,,'';'...',.                                                                        .,.:...              
                                      '00dol:;,'.''.......                                                                       .'.;.                
                                      'K0dll:;,'.........                                                                         '.,.                
                                      ,K0xdo:,'...........                                                                        ..,'                
                                      ;KOkdlc:;...                                                                                .',,                
                                      :KOxc:;::'..                                                                                .'',                
                                      lKklllc:;''.                                                                                .'',                
                                      dOdooxkxdoooolc::cloolc:.                                                                   .'', ...',;;,''.....
                                     .OkoloxOOOkdollxOlcxxoccldxo;''...                                                            ',c''',,,,,;:llc:::
                                    .l0kdxkxlcl:....'dkcoc,'.,:dxo:,,;:;,.                                                        .;:l'''''';;:cc:;,;;
                                   .;k0kdol,.,,:'....oOl:..'',cllc,;;,;;col:,.                                                   ..,,c'..',,cllc::;;,'
                                   ;:OOd;,'..',,;,;,;dOl..,:clolc:,'.',;;:;:ccc:'..                                             ...,;c'.'';::::::clooo
                                 .,kO0kl;,,..'';c'.';kOl:llloooclddl:,.',....'..,:;,.                                          ....',:;'';'.'',;:c:cc:
                              .;loxOOOxo:;'..'..  ..,Od:lo:,;:,',;lodolc:.........',;;..                                       ''...,:;''.'.',;::c::c;
                             ,o;.  :Okxl:,.....   ..lxloc. ..'.    ..':dxo::,..... .',,;'                                     .,'...;;:,....',,;;;;;:'
                                   cOkocc,.....   .,xodo'. ...         .odlc:::,...  .',,,.                                   .,,'.';::.....,;,',,,,''
                                  .dkxllo:........lOkkxdc,...           .:ooc..,cc;,. ..,;,'                                   ',''';::....',,,'',''.'
                                  ;xxdccdx:.. 'kdxxxxxxkxk;...            ...   .':oc;. .':,'.                                 ',,,,,;;,...,:'..,,.';;
                                .:kxxkocloc,. :k00xxxxxkkx:...              ...   ..:lc;..,::,.                                .,,',';:;'.,;l:,,,,.'c:
                               ,oxxxkOkdolc:...:xOkdood:'',...              .,.      .;oo;',;c;.                                ',','':c;,:clolc,,';c:
                            .;oxddddddoollll:..  .''...  .',..              .,c;..     .,ol',::'                                .,,,,,,:c;;ccloc;,,:l;
                         .cdkxdddddolc::cclol:'.  ....   ..'..              ..':c,.    . .ol,;::.                                .,;,,'';;;,:;:c:;cdo:
                       .odxkxolc;,,c:;;:ccloc:,.........  .,,'.       ..........;::.      .oc::c.                                 .;:,..,:;,:ccc:;ldc;
                      .xkdool::.  .c;,;::::;,;;............';,'.................',;;.      .dc:c,                                 .''. ..,:,,;c:;ldd:;
                      .coc:::::...,c,;::::;;;;;,............;;'..................',;.       :dcl;                        ..',,,,:::,''.''';;'',,;lddlo
                       ...........cc;::;;;;;;;:,.......'....':;............'''....'''.     ..oooc.  ............ ,l'  .',,,,c:c;lolc;,,,,,,,,;'.;coodd
                      ...........:dc:ccc;''.';:,.............,c,..........''..............  .;dlc....''',;:c:;,';ddo;';,..';'.,::;,;,',;:;;,:;',:loool
                    ............:ddolcc,....',;,..........''''::,........'',,,,''.........  ..ddc..,col::;;;::,;ldclooc.........''.;;''',;ccc:cccodoll
                    ......''....lkxolc,....,;::;;,.........''':c:,.......',;:::;,'...'........oxc,cdl'........:lol::::lc:,,,;:ccc:;cc:;;:cccc:llooddll
                   .....'''''...;lddc,..'.',;,,,;'....''....'',cc:.......';::c::::,..''.......ox:co;....    ...coo:;;:loddddllloddolc::llcclolodddddoc
                 .......',,,'''',;;;....',;,;::;,''...',;:ccloodxdl:'....,:cc::;:;;;..''......xdcd:.............,::clclllddooolcclooc:::cccclclooooolc
                 ......',,,,',;:cc:,',;::c::llc:,;cc:clloodkkxxkxxxxxo:'.,;:::;''..''',;;,'..:xloo,''''......';,:cccccc::codolc:::ccc:;::lllcclooollcc
                 .....',,,,,;ldooocclllllolcc:;;ldoolclloodddkxxoooccoddl:,,,,,,''.'''';;;;',xdlol,....';:ccllllooddl;,',,::cll::c:;,:;:clllllooloolll
                 ....'',;;;ldl::cloc;',;:llcclloollcccooodxkkxlc:c:'',ckxol:;,',,,,'.....',,lxool:'..';;;:clddddddo:::c;'''';lllllccclc;:clodolcccllll
                 ....',,;;cxdc;,':ol;',::::coxdolc::clllldkOkd:;:c;,''ckxcoo:'',,,''.'....'cxool::;::cccodxxxdddoc;,;;::;,;;;cllloolcccccooddocc::clol
                 ....',,;;:cc;;,.cl;'..,;::clooooc;;colldxkkodccll;,..oOkccdo,..',''''.....ododlcloodolldxxdxxllc;;;;;:clc;,;:::;c:;:cc;loodoll:;;:lol
                                                                                                                                .;,:...               
                                                                                                                                .;,;,..               
                                                                                                                                .:c,;..               
                                          .,;;;'....                                                                            .''';...              
                                        .oOOoccl;.....                                                                          .''.,...              
                                       :O0xo:,'';,...''.                                                                         .'.;.,,              
                                      .O0koo:;,'';'....'.                                                                        .,.;...              
                                      .00dol:;,,.''.......                                                                        '.;'                
                                      .00xol:;,'.........                                                                         ..,'                
                                      'K0kdo:,'... ......                                                                         .'',                
                                      ,K0kxlc:;...        .                                                                       .'',                
                                      ;KOxl:;::,..                                                                                .'';                
                                      cKklolc:;''.                                                                                 '.;                
                                      o0xooxkxdollllc::cllllc:.                                                                    ..;....',;;;,'.....
                                     .kOdloxO00kxdooxOo:xkoccldxl,'...                                                             .,l,''',,,,;:ccc:::
                                    .:KOddkkoll:....'dkcoc;'.,:oxo:;;;;;'.                                                        .,:l,''''';::cc:,,,;
                                   .,d0kdol,.,':,....lOlc..'',:llc,;;,;;col:,.                                                   ..,;c,..',,cllc::;;,'
                                   ,;k0x;,'..',,:,;,,o0l..';clolc:''.',;;:::ccc:'..                                             ...,;c,.',;::::::clooo
                                 ..kO0kl;,,..'';c'..;kOlcllllolcldol:,..,....'..,:;,.                                          .....;:;'';'.'',;:c:cc:
                              .,loxO0Okoc;'...... ...kd:co:,;:,',;loddlc;.........',,;.                                        ''...,:;.'.'.',;::c::c;
                             'o:. .;Okxl:,.....   ..:xlol. ..,     ..':dxo:;,..... .',,,'                                     .''...;;:,....';,,,,;:c,
                                   ;Okdl:,.....   .'xodo'. ...         .odlc::;,...  .',,,.                                   .,''.';;:.....,;,',,,,,'
                                   okxlcoc.... ...ckOkxdc,...           .:ool..,cc;,. ..,;,'                                  .,,''';;;'...',,,',,',.'
                                  ,kxdc:ox:.. 'xddxkxxxkxk:..             ...   .':ol;. .':,'.                                 ',',,,:;,...,:'..,,.';;
                                .;xxkkolcoc,..;k00xxxdxkkkc...               .    ..:lc;..'::,.                                .,,',';;;'.,;l:,,,,''::
                               'oxxxxOkdooc:...:xOkddoxc,,'...              .'.      .;lo;'':c;.                                ',','':c:,:clolc;,';cc
                            .,lxxddddddollcl;.. ..''... ..',..              .,c;..     .,dl',:c'                                .'',,,,:c;;:cloc;,,cl;
                         .:oxxdddddolc::cclol:'.  ....   ..,..              ..':c,.    . .lo,;::.                                .,,,,'';;;,:::c:;:do:
                       .ldxkxoll:;,c:;;:cclol:;.........  .,,'.     ............;::.      .ll,;c'                                 .;:,..':;;:ccc:;ldl:
                      .xkdool::.  .:;,,::::;,;;............',,.. ...............',;;.      .dc:c;                                 .',. ..,:;,;cc;cddc,
                      .cdlccc::...'c,;::::;;;;;,............,;,..................',;.       ,dcl:.                       ...'',,;::,......;;'',,,lodol
                       ...........:c;::;;;;;;;;;.......'....';;............''''...'''..     .lool.   ..........  .c'   .,,,,cc::col:;,,,,,,;,;'.,clood
                      ...........;oc:::c;',',;;;.............,c,.........'''..............  .,dlo....'.',;:c;,,,,odo,.;;..',,.':;:;;,',;:;,,::'';llool
                    ............;ddllcc;....',;,..........''.'::,........'',,'''..........  ..odl..'col::::;::,,lxccooc'..'....',,.,;''',:ccc:cccoddll
                    ......''....lkxolc,...',;::;,,.........''':c:,.......',;:::;,'...'....... lxc':ol,........:loo;;cccc:,,,;::cc:,:c:;;;:ccc;coloddll
                   .....'''''...;dxdl;.''..,;,,,;'..........'',cl:.......';:::cc::,..''.......lkccdc....   ....cooc;;:coddddolloddolc::clcclocloddddol
                 .......',,,'''.,;;;'....,;,;:;;,''...'',:ccloodddl:'....,;::::;::;;..''......oxcdc'...........'':::cloooddooolclloolc:::ccclllooooolc
                 ......',,,,'',;cc:,'',;:c::llc:,;cc:clloodxkxxxkxxxdo:..,;:::;,''.''.';,'...,xooo,'''''......,,;cc:ccc::codool:;:ccc:;;:llllllodooccc
                 .....',,,,,;ldodocclllloolcc:;;ldoolclooodddkxdooocloddl:,,,,,,'''.',',;;;''oxlol;'...';:ccllllloool:;',,;:cll::c:;;:;::llllloolollll
                 ....'',;;;coo::cloc;',,:llccccodllcccooodxkkxlc:c:'',:xxol:;,,,,,,'.....',;ckoolc'..';;;:clddddxdo:::c;'''';lllllccccc::clodoolccllll
                 ....',,;;cxd:;;':ol:',::::coxdolc::clllldkOkx:;;c;,',:xxcooc,',,,''......':doolc:;;:ccclddxxxdddl;,;;::,,;;;cloooollcc:lloddolc:::col
                 ....',,;;:cc::'.ll:,..,;::clooooc:;clcldxkkodccll:,.'lOkccdo;..',''.'.....lxoolcclodolldxkdxxolcc:,;;:clc;,;;:::::;:cc:codddol:;;:col
                                                                                                                                .;,;,..               
                                                                                                                                .,,,;..               
                                                                                                                                .'c.;...              
                                          .,c:;,....                                                                             ''':...              
                                        .dOOoc:c:.....                                                                           .,.;..'              
                                       :0Oxo:,'',;...''.                                                                         .,.;'.:              
                                      .k0koo:,,,.,,....''                                                                         '.;'.'              
                                      .k0xol:;;,.''.......                                                                        .',,                
                                      .O0xol:;,..........                                                                         .'',                
                                      .00kddc,'.......... .                                                                       .'';                
                                      .00Oxl:::...        .                                                                       .'.;                
                                      'KOxl:;::,..                                                                                 ..;                
                                      ;Kkloolc;''.                                                                                 ..;                
                                      c0xoldkxdlllllc:;;cccc:;.                                                                    ..;....',;;;;''....
                                     .xOdcodO0OOkdooxOo:dkolclddl;'...                                                             .,l,'',,,,,;:ccc:::
                                     ;0Oookkollc....'okclo;'',:oxd:;,,;;'.                                                        .,:l;''''',;:cc;,,,;
                                    ,dKkxdo;.',:,....cOlc,..'';cll;,;;;;:lc:'.                                                   ..';c;..',,cll::::;,'
                                   ,;k0k:''...,,:,;,,c0o'..;:loo::''.',;::::llc;'..                                             ....;c;.',;::::;::looo
                                  .xkOOo;,,..'';c'.';d0d:clllolclooc;;'',.. .'..,:;,.                                          .....,;:.,;'.'',;:c:cc:
                              .,coxO0Okdc:'...... ...xxc:ol,;c;,,:loddl:;.........',,;.                                        .''..,;:''''.',;::c::c:
                             'ol. .,kkxo:,.....   . ,xlll'...'    ...,:dxo;;,..... .',,,'                                     .'.'..,::'....';,,,,;::;
                                   ,Okdlc;.....    .odod,. ...         .ldlc::;,...  .'',,.                                   .,''.';::'....,;,'',,;,'
                                   ckklclc.... ...:xkkkx:;...           .codl'.,c:;,.  .';''.                                 .,,''',;;'...',,,'',',''
                                  .xxxccox:....oloxkxxxkxk:..             ....  .':lc;. .':,'.                                 ',',,,;,,...,:'..','',,
                                 'dxxxolcol;..,kO0kxxdxxkkl...               .    .':lc,..'::,.                                .,'',';;;,.,;l:,,;,'';:
                               .cxxxxOkdooc:...:k0kdddxd;;,...              .'.      .;ll;,';c;.                                ',',''::;,:clolc;,',:c
                             'cdxddddxdollcc;.. .';,'... .',..              .':,..     .,ol,,;c,                                .,',,,;;c;;:clol;;,;l:
                         .,cxxdddddolc:ccllol:'.  ....   ..,..              ..,:c'.     ..lo';::.                                .,,,,,',::,;::c::;ldc
                       .:oxkxdolc;;cc;;:::col:;........   .,''.     ............;:;.      .ll;;c,                                 .;:;..';;;:cccc;coo;
                      .dkdool::.. .::,,;c:::;;;'...........',,.. ...............',;;.      .ll:cc.                                 ';.  .':;,;cc,:odl,
                      .oxoccc:c'...c,;::;:;;,;;,............,;'..................',;'       'xccc.                        ......';;'.....';;''',,codol
                       ...........;c;;c:;;;;;:;;.......'....';;'...........'''....'''..     .:olo.   ..........  .;'   ..,,;:ccclooc;,',;,,;,,,.':oood
                      ...........,lc::::;,,''::;.............,c,.........'''........'.....   .old. ..'..,,;;;;,,'lxo,.';,'..,'.;,::;,,,;;;,,;;'';cloll
                    ............,ldllcc:....',;,..........''.'::,.........',,'''..........   .cdo'.':llc:::::;''cdlcloc'...'...',,',;'',;;:cc:;ccoddll
                    ......''....ckxoll;...',;;:;;'........','':l:,.......',::::;''...'....... ;xo,,oo;'.......;loo:;cllc,,'';:::::';c:;,;:ccc:cocodxll
                   .....'''''...:xxdl:'.'..,;;,,:'.....'....'',:c:.......';:::cc:;,...'.......;kl:oo'...    ...;ooc;:;clddddolcldxolc::clcclllcooddodl
                 .......',,,''..,;::,....',,;:;;,.'...'',;::coooddc;'....';::::::::,..''......:klol'...........',:::cllooddooolclloolc:cc::clllooooooc
                 ......',,,,'',;cc:,''',;:;:clc;',c:::cloodkkxxxxxxxdl:'.';:::;,,''''.',,'....oxld;.'.........',,:::cclc:codool:;:clcc;;:clllcloooolcc
                 .....',,,,,;cdddoc;cllllollcc;;lddolllloodddkxddoolloddl;,;,,,,''.'',',;;,,'cxooo:,'..',;::c:cclloolc;,',;:cll::cc;;:;;:cllloooooolll
                 ....'',;;;:oo::cloc;,,;:llccccodolcccooodxkkxll:c:'',:xxol:;,',,,'''...'',,:xdoll;..',:::ccodddxdoc:::;'''',coollc:ccc;:cooodolccclll
                 ....'',;;lxdc;;,:ol:,,::::coxdolc::clllldkkkx:;;c;,,,;dxlldc,,,,,''......';odooc:;;::c:loodxxdddl:,,;::,,;;;:clooolllccclodool::::clo
                 ....'',;;:cc::,.lo:,..,;::cloooll::cllldxkkodccll:,''ckklcoo;..',''.'.....:xooccclodolllodxxxdolcc;,;:clc:;;;:c::c:cll:coddoolc:;;cll
                                                                                                                                .,;,,..               
                                                                                                                                .',';...              
                                                                                                                                ..c':...              
                                          .;cc:,.....                                                                            .'';'..              
                                        'dOOoc:c:'.....                                                                          .'.;'.'              
                                       :0Oxo:,'',;...''.                                                                         .'.,,.:              
                                      .xKxoo:,,,',,....''.                                                                        .',;.,              
                                      .x0xdl:;;,'.'.......                                                                        .'';                
                                      .xKxol:;,'.........                                                                         .'';                
                                      .kKkdoc,,.......... .                                                                       .'.;                
                                      .O0Oxlcc:...        .                                                                        ..;                
                                      .O0xl:;;;,..                                                                                 ..;.               
                                      ;0Oooolc;''..                                                                                ..;.               
                                      c0koldkkdlllcc:;;;:ccc:;.                                                                    .';....',;;;;,'....
                                      dOxcldk0OOkxdoxOd:okdoclddl,'...                                                             .,l;'''',,,,:ccc:::
                                     ,0Odokkdooc'....lkcoo:,'':oxo:;,,;;'.                                                        .':o:'''',;:ccc;,,,;
                                    ,oKkxdo;.'';,....:Ooc,..'';cll;;;;;;:lc;'.                                                   ..';c:..',,cll::::;,'
                                   ';x0x:,,...,,:,;,,cOd'..;:looc:,'.',;;:ccllc;'.                                              ....,:;.',;:::;;::looo
                                  .okOOd;,,...,;c''',dOd::lllolccool;,'.,.. .'..,;;,.                                          .....,;:',,'.'',;:c:cc;
                               ':odOOOkdc:'...... ...dxc:ll:;c:,;:loddc:;... .....',,;..                                       .''..,;:''...',;::c::::
                             .do'..,kkxo:,.....   ..'xolo,...,.   ...,:dxo;;,..... .',,;'.                                    .'.'..,::'....';,,,,;:c;
                                   'kkdlc;.....   ..ldld;   ..         .ldoc;:;'...  .',,,.                                   .,''.';::.....,,,'',,;,'
                                   :Okollc....  ..,oOkkdc,...           .cool,';c:,,.  .',,..                                 .,,'',;;;'..'',,,'',,,''
                                  .xxxccoxc'...clcxxxxxkxxc..             .''.  .':lc;. .';,'.                                 ','',,;,,...,;...,,''';
                                 .oxxxoccol;. ,kO0xdxxxxkko...                    .':lc;..'::,.                                .,,',';;,,.,:c;,,;;'.;c
                               .:xxxxOkdooc:...cO0kxddxd:;,'..              .'.      .;ll;',;c;.                                ,,','':::,;clolc;,'':c
                             .:dxxxddxxdllcc;.. .,;;,'....','.              .':,.      .;ol',,c,.                               .,',,,;;c;;:clol;;,;lc
                          'cdxxddddolc:clllol:'.  ....   ..,...             ..'cc'.      .cd,,;c.                                .,,,,,',;:,;::c::;ldc
                       .;lxOkdolc::c:;;:::colc;........   .,''.     ............;:;.       co,;:;.                                .;:;..';:;:cccc;:oo:
                      .okdodoc:'. .::,,:c::c;;;'...........',,.. ...............',;;.      .lo:::.                                 ';.  .';:;;cc;;odl;
                      .oxollccc'...c;,::::;;,,;,............;;'..................',;'.      .xlcc.                         .....',;'.....';;'',;,:odol
                       ...........;c;;c:;;;;;:;;.......'....';;'...........''''...'''..     .,dco'   ..........  .'.    .',;;ccclooc;,',,,,;,,,.':lood
                      ............lc;:::;,,,,::;.............,c,.........'''''......'....... .lod,...''.',,;;,,,':xd,..,,'..';';,:::,,,;;;,,,;'',cloll
                    ............'cdlccc;'...',;,..........''.'::,.........',,'''.......... .  :do;..;lc::ccc::'':ddclcc,...''..';;,,;'.';;c:::;::ldxlc
                    ......''....ckxoll;...',;::;;,'........''':l:,.......',::::;''............,xo;,ld:'.......;clo:;cllc,,'',;:::;''c:,,;;ccccclloddll
                   .....'''''...:xkolc'''..,;;,,:'.....'....'',:c:.......';::::::;'..''.......'xo:oo,...   ....;loc::;clododdlcldxolc::clcclll:ooddddo
                 .......',,,''..,:cc;'...',,,;;;;.'...''';::coloddc;'....';::::::::,..''......,kooo;............,:c:cclooddooolcllodlc:cc::clllooooddc
                 ......',,,,''',:::,..',;;;:cc::,,::::cloodkkxxxxxxxdl:'.';::::,,'',,..,,'....cxoo:..'.........''::::clc:cloool:;:cllc;;:clllcloooolcc
                 .....',,,,,;coodo:;cllllolllc::cdoolllloodddkkxdoolloddc;,;;,,,''...,',;;,'.,xdoo:,''.',;::::cc:loolc;,,,;:cllc;:c;;;;,:cllloooooolll
                 ....'',;;;:oo::cool:,,;:llccccldoccccoodddkkkoc:cc,',:xkolc;,,,,,''''''',,;,oxoll;...,:::cclddddxoc:::;'''',clollc:ccc::coooooollclll
                 ....'',;;cxdc;;,:lo:,,;:::coxdolc::clllldkOxx:;;c:,',;dxlldc,,,,,''......',lxooc:;;;:::coodxddddo:,,;::,,;;::clooollllcclooooocc::clo
                 ....'',;;clc:;,'ldc,..;:;:cloooll::cllldxkxodccll:;''cxklcoo;'',,''.'.....,doollclodolllldxdxdolc:,,;:cll:;;;:cccl::cc:cooodloc:;;clo
                                                                                                                                .';';...              
                                                                                                                                ..,':...              
                                                                                                                                ..c,:'..              
                                          .:lcc;'....                                                                            .,';,..              
                                        'xOOo:::c'.....                                                                          .,.,;.'              
                                       :0Oxo:,''':'..'''.                                                                         .',;.:.             
                                       dKkooc;;,.';....''.                                                                        .'';.,.             
                                       dKxol:;;,..,.......                                                                        .,':                
                                       xKkdlc;,'..........                                                                        .,.:                
                                      .xKkxol;'............                                                                        ,.;.               
                                      .k0kkl::c...        .                                                                        '.;.               
                                      .O0xl:;;;,..                                                                                 ..;.               
                                      ,0Oooolc;'''.                                                                                .';.               
                                      :0koldkkdlcccc:;;;:::::;.                                                                    .';....',;;;;,'....
                                      d0xcldk0OOOxddxOd:oxdollddl;....                                                             .,l:'''',;,,:ccc:::
                                     '0Odokkdoll'....lOlld:,'';lxdc;,,;;'.                                                        .':l:'''',;:ccc;,,,,
                                    ,lKOxdo:..,;,....;Odc;...';clo:;;;;;:lc;..                                                   ...;c:..,,,col::c::,'
                                   .;x0Oc',...,,:,;,,:Od,..,:cooc;'''',;;:ccllc;..                                              ....,;:.',;:::;;::looo
                                   lk0Ox;,;...';l'.',oOd::lccolccooc,,'.,'. .'..;::,.                                          .....,;:'','''',;:c:cc:
                               .;ldO0Okdc:,........ .okl:ll:;c:;;:ldddc;;.   .... .;,;.                                        .'...,;:,'...',;:::::::
                             .od,..,xkxo:,.....   ...xoll;...'.   ...,coxo;,'.  .. .'',;'.                                    .'''..,::,....';,,,,;:c;
                              .    .kkdlc;.....    .:doo;.  ..         .ldoc::,'.... .',,,.                                   .,''.',;;'....,,,'',;;;'
                                   ;kkollc'...   .'lkxxxc'...           .cool;';::,'.  .',,..                                 .,,'',,;,,...''','',,'''
                                  .dxxlcoxc'...:c:dxkxxkxxc'.             .,,.  .,:lc;. .';;'.                                .','',,;,,...,;..'','.';
                                 .lxxxoclol;..'xO0xdxxxxkkd...                    .':lc;...;:,.                                .,,',';;,,.,:c;,,;;'.;c
                                ;dxxxkkdooc;'..cO0kxddxxc:;'..              ...      .;cl;',,c;.                                ',','':;:,;collc;,'';c
                             .;oxdxxdxxdolcc;.. .;::,''. .',..              ..:,.      .;ol,',:;.                               .,',,';;::;;clol;;,,cc
                          .;oxddxdddoccccllol:'. .....   ..,'..             ..,::'.      .cd,,;c'                                .,,,,,,,;:;;::cc:;:dc
                        ,lxkkdoolc:cc:;:::cool;........   .,''.     ...........';:;.      .:d;,::.                                .;:;..';;::cccc;:lo:
                      .lkdodocc'...;:,,:cccc;;;'...........','..   .............',;;.       cd::c.                                 ';.  .'::;;cc:;ldo;
                      .dkdlcccc'...:;,;:;:;;,,;,............,;'..................',;'.      .dl:l'                          .....,,'......,:'',;,;dddl
                       .''..'''...,c;;::;;;;;;;;.......'.....;;'...........''''...'',.      .'oco,   .........    ..    ..,;:::clooc;,',,,,;;;,..:looo
                      ............cc;::;;;;,,::;.............,c,.........''''''.....'.....  ..coo;. ....'',,,,,,.;xd,..';,'..;';,;c:;,,;;,,,,:,.,cooll
                    .............:dlccc:'...';;;'.........''.'::,........''''''...........  ..;do:..,lc::cccc:'';odllc:;'...'..':;;,;'.,;:c:::;::cddlc
                    ......''....:xxolc:'..',;::;,,'........''';c:,.......',;::;;'..............xd:,cdc,.......;cloc,:llc'.'',;::::''::;;,,:ccc:lloddll
                   .....'''''...:xkdlc,',..,;;;,;,.....'....'.':l;.......';::::::;'............xdcoo;...   ....;ooc;::cloodddocldxoll:::ccclll:loddodo
                   .....',,,'''.,:ll:'...',,,;;;,.....''',::clllddc;'....';:::::::;,..''.......xdlo;............,:ccc:looddooolcllldolccc::clolooooddc
                  .....',,,,''',:c;,...,;;;;:c::,,::;::clodxkkxxkxxxdl:'.';::::,,,',,..,,.....;kdoc............'';;::cll:clodolc:;:olc;;:clllcclddoll:
                  ....',,,,,;coodl:;:clllllclc:;codolllllodxdkkxdoolloddc;;;,,,''....'',;;,'.'odoo:,'..',;:::;:;;clolc:;,,;:cllc;:c:;::;:clloooooollll
                 ....'',;;,:oo::codl:,,;:llccc:ldoccccoodddkkkoc:cc,',:xkdl:;,,,,,''''''',,;,lxool:'..,;::c:lddodxdl:::;,''',clolll:::l::clooooollllll
                 ....'',;;cxxc;;;:ol:,,;;::loxdolc;:ccllldkOxxc,;::,'';dklldl,',,,''......',cxoocc;;;:::clldxddddo:,,;::,,,;::clooollllcclooooocc::clo
                 ....'',;,col:;,'odc,..;:;;lloooll::lllloxkxodl:lc:;'':xOlcoo;'''','.......'dxoocccldolllcoxdxdol:;,,;;:cccc;;:lcclcclc::ooodooc:;;clo
                                                                                                                                .';'c...              
                                                                                                                                ..;':...              
                                                                                                                                 .c;:,..              
                                          .:llc:'....                                                                            .,',,.'              
                                        'xOko:;;:,.....                                                                           '.';.'.             
                                       ;00xoc,,'';'...''.                                                                         .'':.;.             
                                       l0kool;;,'';....',.                                                                        .,.:.,.             
                                       lKxoo:;;,..'......'                                                                        .,.:.               
                                       oKkdlc;;'..........                                                                         '.;.               
                                       oKkxdl;,... ........                                                                        ..;.               
                                       d0Okl::c,..        .                                                                        .';.               
                                      .k0xl::;;,'.                                                                                 .';.               
                                      '00ooooc;'''.                                                                                .';.               
                                      ;0kolokkdlccc::;;;:::::,.                                                                    .';,...,;;;;;,''''.
                                      o0xclox0OOOkxdxOd:okxollddl,....                                                             .;cc''',,;,,;ccc:::
                                     'O0ookkxoll,....cOoldc,'';lddc:;,,;'.                                                        ..:cc'''',;:ccc,,,,,
                                    'c0Oxddc..,;;....,Odl;...';:lo:;;;;;:lc;..                                                   ...;::..,,,col:cc::;,
                                   .;d0kl,,...,,:,;,,;kx;..,;cooc;''''';;cclolc;..                                              ....,;:.',;::;;;;:looo
                                   ck0Ox;;;...';l,.',lOx::cccloccooc;,'.,,. .'.';:;'.                                          .....,;c'','.'',;:c:c::
                               .,loO00kdc:,..........cOl:loccc:;;:loddl;;. ........,,,.                                        .'...,::,'....,;:::::::
                             .od;..,xOkoc;.....   ...doll:. .'.. ...',codo;,...... .'',;'.                                    .'''..'::,....';,,,,;:c;
                              ..   .xkxlc:......   .;xlo:. ...         .ldoc:;;'.... .'',,.                                   .,''.',;;,....,,,'',;;;,
                                   ,kkollc'.....  .cxkxxc'...           .codo;';:;,'.  .',,'.                                 .,,'',,;,,...',','',,,''
                                  .oxxlcoxc'.. ,c;dkkkkkxxc..             .;;'  .,:lc;. ..;,..                                .','',,;,,'..,;..',,'.';
                                 .ckxxoclol;...xOOkdxxdxkkd...                    .':lc;...;:,.                                .,,',';;,,.,:c:,,;;'.,c
                                ,oxxxkkxloc;'..cO0kxdddkl:;'..              ...      .;ll;',;c;.                                ,,','':::,;collc;,'';c
                             .,oxddddxxdoolc;....;cc;,,...',..               .:,       .;oo,';:;.                               .,',,,;::;;;coll:;,,cl
                          .,lxddxdddolcccllol:'.  .....  ..,'..             ..,cc'.      .:d,,;c,                                .,,,,,,,;:;;;:ccc;:oc
                        'cxOkdoolcclc:;:c:cool:........   .,''.     ............;:;.    .  ;d;,::.                                .;:;...,;::cccc:;lo:
                       ckdddocc,...;:;,:cc:c:;;'...........','.. ...............';;;.       :d:;c'                                 ':.  .':::;cc:,ldo;
                      .dkdolccc,. .:;,;:;;;;,,;,............,;,..................',;,.    . .lo:c'                          .....','......,:,',,,;oxdl
                       .,,'.'''...'l;;c::;;;,;;;.............;;'...........''''...'',..      .olo;.   ........    ..    ..';;::clolc;,',,,,,;;,..;ldod
                      ............cc;::;;;;,,::;'............,c;..........','''.....'.....  ..:ooc....'..'',,,,,.,dd, ..,,'..:;;;;cc;,,;,,;',;,'':lool
                    .............;olcccc'...',;;'.........''.'::,........'''''............  ..'doc..,cl::cccc:'',odllc::'...''..:;;;;'',;;c:::;::codoc
                    ......''....;xxoll:'..'';;::,,'........''';c:,.......',;::;;,'..........  .ddc'cdl,.......;ccol,:loc,.'',,:::;''::;,,,:ccc:lllodol
                   .....'''''...:kkdlc;.,..,;;,,;,.....'....'.':l:'......';:::::;,'.......... .ddclo:...      .;ldl;:ccloooddocldxdlc:::ccllll:loooddo
                   .....',,,'''.,cooc,...',,,,;;,'....''',;;:lllddc,'....';:::::::;,..''..... .ddol:'...........,:cccccooddodollllodolccc::clolooooddl
                  .....',,,,''',:c;;'..',;;;:cc;''::;::coooxkkxxkkxxdl:'.';::::;,,,,,..,,.....'xdol'...........',;:;:cllcclooolc:;:lll;;;:lllccloooolc
                  ....',,,,,;coool:,:clllllclc::codolllloodddxkxdoolloddc:;;;;,,'....'',;;,'..lxoo:'''.',;;::,;;;clooc:;,,;:cooc;:c:;::;;:llloooooolll
                 ....'',;;,:lo::lodl:;;;:loc:c:ldolllcoodddkOkoc:cc,',:xkdl:;,,,,,''''''',,;':xool:'..,;:ccccodddddoc::;,''',clllll:::c:::looooollllll
                 ....'',;;cxxc;;;:ol:,,;;::loxdolc;;ccllldkOxxc,;::,',;okolol;',,,''......',;ddolc;;;:::clooxddddoc;,;::,,,;;:clooollllccloooooc::::lo
                 ....'',;,cll:;;,odc;..;:;:lloooolc:lllloxkxodlclc:;,':kOlclo;''',,'.......'lxoocclldollllloxddolc;,,;::::cc:;:llclcclc:coooooolc;;:lo
                                                                                                                                 .;':...              
                                                                                                                                 .;,:'..              
                                                                                                                                 .::;,..              
                                          'cllc:,....                                                                            .,'';...             
                                        'x0ko;;;:,..'..                                                                           ''.;.'.             
                                       ,00xoc,,'';,...''.                                                                         .'.:.;'             
                                       cKOooc;;,.';'....'.                                                                        .,.:.,.             
                                       cKkooc;;,'.'........                                                                       .'.:.               
                                       cKkolc;;'.........                                                                          '.;.               
                                       lKOxdl:,..........                                                                          .';.               
                                       oKOkl::c,..        .                                                                        .','               
                                      .x0kl::;:,'.                                                                                 .','               
                                      .kOddool:'''.                                                                                .','               
                                      'Okoclxkdlcc::;;,,;:::;,.                                                                     ',,..',;;::;;,'''.
                                      l0xlloxOOOOkxdkOx:lkxoooodl,...                                                              .;:c'''',;,,;ccc:::
                                     .k0doxkxooo,....cOoldc,'';lxdc:;,,,..                                                        ..;cl''..,;:cc:,'',,
                                    .c0Oxdoc'.';;....,kxcc...',:lo:;;;;;:c:,.                                                    ...,::..,,,cll::c::;,
                                   .;lKOl,,...,,:,;,,;kx;..,;:oll;,'''';;cloolc;..                                              ....,;:.',;;:;;;::cloo
                                   ;xO0k:,;'..';l,.',cOkc;:cclocclo:,,,.,,...'.',:;,.                                          .....';c',,'.',,;:c:c::
                               .'cok0OOxl:,..........cOl:loc:cc;;:ldxoc;,..........,,,..                                       .'...'::;'...',;:::::::
                             .lx:..,xOkdc;.....   ...odclc...'. ....';cddo;,...... ..,,;'.                                    .''...'::;....';,,,,;cc:
                              ..   .dOxlc:......    ,xloc.  ..         .cdoc:;;'.... ..',,.                                   .,'..',;;,....,,,'',;:;,
                                   'xkolll'... .  .;xkxxc'...            cool;,;::,'.  .',,'.                                 .,,'',,;,'...''','',,,''
                                   lkxlclxl....':,okkxkkxdc..             .::;  .,cc:,. ..;,'.                                .','',,;;,'..,;...,,,'';
                                  :kdkocloo;...xOOkddxxxkkx'..                    .,clc,...;:,'                                .,,''';;,,.':c:,;;;,.'c
                                'lxxxOkdlol:'..cO0kxddxxoc:'..               ..      ';ll;.',::'                                ,'','':;;;;clllc;,,',c
                             ..lxddddxkxollc;....;lc:,,'..',..               .;'.      .;lo,',::.                               .,',,,;:::;;cool:;;,:l
                          .'cxddddddolcccclll:'.. .....  ..,'..             ..,cc'.     ..:d;',c,.                               .,,,,,,,;;,;;:lc:;;ol
                        .:dOkxooolllc:;:::clol:........ . .'''.     ...........';:;.    .  ;d;,;c.                                .,;;'..,;:::cc::;cdc
                       ;xddddlc,...,:,,:ccccc;;'............,''. ...............';;;.       ;x:;c,                                 ':'  .';:;;cc:,cod:
                      .dkdoll::,...;;,;::;;;,,;,............,;,..................',;,.    . .cd:c;                           .....''......':,',;;;oddl
                       .;,''',,...'c;;:c:;;;,;;;............';;'...........''''...'',..      .lllc.   ........    ..     ..,;;::coo:,,',,,,,;:,..,ldod
                      ............:c;::;;;;,,::;'............,c;..........','''.....'.....   .;oll. ..'..''',,,,.'od,. .',,'.::;;;cc:;,,,,,';;,.':llol
                    .............;olcc:c,....,;;'.'.......''.'::,........'''''............  ...dol..'cc:::clc:'',ldol:;;;...',..:;;,;'.,;;:;;:;;:codoc
                    ......''....;dxollc'..'';:::;,'........''';lc,.......',;::;;'............ .odl':dl;'......,:coo,;lll,..',,;;::,';:,',,:lccclllddol
                   .....'''''...:kxdlc:',..,;;;,;;.....'....'.':c:'.....'';:::::;,'............lxlloc..      ..,col,;:cloooodolldxdc:c::ccllll:loloodo
                   .....',,,''..,codl;...'',',;;;.....''.,;;:lllddc,'....';::::::::,..'........lxoo:'...........,:cccccldddddollllooolccc:::cllooooooo
                  .....',,,,''',;:;;'..',,;;::c;,'::;;:loloxkkxxkkxxdl:'.';::::;,,,,,..',......dxol,............,;;::cllcclodolc:;:lol:;;:lllccloooolc
                  ....',,,,,,coool:,;:llllc:clc::odolllloodxdxkxdoolloddc;;;;;,''....'.';;''..:xdo:'''''',;;:,,;,:cool:;,,;:cloc:;c:;;:;;:clloooooolll
                 ....'',;;;:lo::lodlc;:;:ooc:c:ldollccloodxkOkoc:cc,',;dkdl:;,,,,,'''''',,,;',ddolc,..';:ccccloodddoc:::,''''cllllcc::c:::looooollllll
                 ....'',;;cxxc,:;:oo:,,;;::loxdooc;;:cllldkOxxc;;::'',;lkolol;,,,,''......',;oxolc:,;;::clloddddddl:;;;:,',;;:clooolllll:coooool::::co
                 ....'',;;lol:;;,lol;..;:;:llooolc::lllloxkkodlclc:,,';dOlclo:',,,,'..'....'cdoolclloolccllodddoll:,;;;:::cc:;,cllolll:::oooooolc:;:lo
                                                                                                                                 .;,:'..              
                                                                                                                                 .,,;,..              
                                                                                                                                 .;:,;...             
                                          'colcc,'...                                                                            .',';...             
                                        'x0ko:;,:;......                                                                          .'.;...             
                                       'O0xoc;,'',;...''.                                                                         .,.;.',             
                                       ;KOdlc;,;'.;'....''                                                                         ,.:.'.             
                                       ;Kkooc;;,'.''.....'.                                                                        '';.               
                                       :KOolc;;'.........                                                                          .';.               
                                       :KOxdl:;..........                                                                          .','               
                                       cKOkl:;c,..        .                                                                        .','               
                                       o0ko::;;''.                                                                                 .'''               
                                      .d0doodl:'.'.                                                                                 '''               
                                      .OOoclxkxlcc::;,,,;;;:;,.                                                                     '';..',;;::;;,''''
                                      cKkccldOOOOOkxkOxclkxooodoc,...                                                               ,:c'''',;,;;ccc:::
                                     .x0dlxkkdoo,....cOdcdl,'';cxdl;;,,,..                                                        ..;:l'''',;:ccc,'',,
                                    .:00kxdl'.,,;....'xxcc....,:loc;;;;;:c:,.                                                   ....,::..,,;cll::cc:;,
                                   .;l0Oo,,...,':';,',xx:..';:lol;,','',;:loolc,..                                              ....,::'',;;;;;;;:cloo
                                   ,xO0k:,;'..';l,.',cOkc;:cclolcll:,''',,...''';:;,.                                          .....';:,','.',,;:c:c::
                                'clk00Oxl:,..........;Oo:colccc:;cldxdc,,... ......,,,..                                       .....';::'.'.'';:::::::
                             .cdc,.,dOkdc;'....    ..odllc...'.. ...';cddl;,.. ... .',,;'.                                    .'''..';::..'.',,,,,;cc:
                              ..    oOxoc:......    'xlol.  ...        .cdoc:;;'.... ..',,.                                   .,''.',;;,....,,,'',;:;,
                                   .xkdlll,...    .,dxxxc'....           cooo;,;:;,..  .',,'.                                 .,,'',;;,'...''','',;,,'
                                   ckxlclxl'.. .:'lkOxkxxoc'.             .:c:...,cc:,. ..;,''                                .','',,;,,'..;;...',,.';
                                  ;xxkolcoo;...dOOkdxxxxkkk,..             .      .,:l:,...;:,'                                .''',';;,,'':l:,;;;,.'c
                                .cxxxkkxlol:'..cO0Oxddxxdl:'..               ..      ';ll;.',::'                               .,'',''::;;;collc;,,',c
                              .cdddxxxxxoolc;...':olc;;,..',..               .;,.      .;ll,',::.                               .,',,',::::;cool:;;;:c
                          ..;dxddxddolcllclll;'.  .....  ..,'..     ..      ..,c:..     ..:d,';:;.                               .,',;,;,;:;,;:ccc:;ll
                        .;dOkxoooollc:;:cclool:........ . .'''.     ...........'::;.    .  ,d;,:c.                                .;;;'..,;::::cc:;:ol
                       ,xdoddlc:...,:,,:ccclc:;'............,''. ...............';;;.       ;x:;c,                                 ':,  .';:;;cc:,:ldc
                      .dkdollcc;. .;:,;:::;;,,;,............,;,..................',;,.       :d:l:.                            ...''......':,',;;,lddl
                       .;;,',,,'...c;;::::;;,,;;'............;,'...........''''...'',..      .lllc.   ........    ..      .',;;:cll:,,',,,,,::,..'looo
                      ............:l;::;;;;,,::;'............,c;..........','''.....'.....  ..'dll.  .'.''.'''',..oo,. ..,,,';c;;;cl:;,,,,,',;,'.;llol
                    .............,ol:ccc,....,;;'.'.......''.':c,........'''''............   ..ooo..':c::cclc:,',cdol:;;;'...,'.;;;;;'.,;;:;;:;;::ldol
                    ......''....,oxollc,..'';:::;;'........''';c:,.......',;::;,'..............cdo,;oo:'......,;clo;,col,...,,;::c;,;;,,,,;lllclolodol
                   .....'''''...:kxolc:',..,;;;,;;.....'....''';l:'.....'';:::::;,............ :xoloc.. .......,coo,;:clollodolldxdc:cc::cllcl:coloodo
                   .....',,,''..,lddl:...'',',;;,.....''.';;;cclddc,'....';::::c::;'..'........ckoo:,...........,cccccllddddddllllodolcccc::colloooodo
                  .....',,,,'''';:::,..',,;;::::,'::;;:clloxOkxxkkxxdl:'.';::::;,,;;,..',.... .okol;............,,;;::cllclooolc:;;lol:;;:cllcccoooolc
                  ....',,,,,,:oool:,;:clllc:clc::loolllloodxxkkxdoolooddl;;::;;,'....'.';;''..,xdo:,''''',,;:,',,;clolc:;,;:cooc:;:c;:c;;:clooooooolll
                 ....'',;;;;lo:;lddlc::;:oolcc:ldolllcloddxxOkoc::c,',;dkdl:;,',,,'''''',;;,''oxolc;..';:ccccloodddoc:::,'''':lllllc::c:::clooooolllll
                 ....'',;;cxxc,;;:oo:,,;;::llxxolc::ccllldkOkxc;,;:,,,;lkolol;,,,,''...'..',,cxooc:,,:::clloddddddl:;;::,',;;:cloooollll:looooooc:::cl
                 ....'',;;ldl:;;,ldl:.'::,;llodooc::cllloxkkdooccll;,';dklclo:,,,,,'..'....':xdoo:clodlccllodddoll:;;;;;::cc:;,cllllol:c:loooool:;;:co
                                                                                                                                 .,;:'..              
                                                                                                                                 .,;,,..              
                                             .                                                                                    'c';...             
                                          ,loolc;'...                                                                             ',.,...             
                                        'kOko;;,::.....                                                                           .,.;...             
                                       'O0doc;,'',;....'.                                                                         .,.;..,             
                                       ;0Odlc;,;'.,,....''                                                                         '.;'''             
                                       ,Kkolc;;,'.''.......                                                                        '';'               
                                       ,Kkdlc:;,.........                                                                          .','               
                                       ;KOxxoc,..........                                                                          .'''               
                                       :KOko::c;..                                                                                 .,',               
                                       lKklc::;''.                                                                                  '',               
                                       d0doodoc'.'.                                                                                 .',               
                                      .OOoclxkxoc::;;,,,;;;;;'.                                                                     .';..',;;:::;,''''
                                      :KklcldOOOOOkxkOxclxxododoc,...                                                               ;:c'''',;,;;:cc:::
                                     .d0dldkkdoo;'...:Odcdl;,',cxxc;,,,,..                                                        ..;:o'''',;:ccc,'',,
                                    .:O0xxdl,.,;:....'dkcc'...,:ldl,;;;;:c:,.                                                   ....,:c'.',;lll::cc:;,
                                    ,c0Od;,...,':';,',dk:..',:lll:,.,'',;:lodo:,..                                             .....';:'';;;;;;;;:cloo
                                   'dk0kc,;'..';l,.',:Okl,;cclolcll:,','',...''';:;'.                                          ......;:;',..'',;cc::::
                                .;lx00Oxl:;'..... ...,Oo:colcll::cldxdc,''.. .....',;,.                                        ......;::'.'.',;:;:::::
                              :dl'';oOkdc;'.....   ..lxlll'..''.....,;cdxo;'.. ...  .,,;'.                                    .'''..';;;..'.',,,,,;:c:
                              ..    lOxoc:......   ..dool.  ...        .cdol:;,'.... ..'',.                                   .,'..',;;,'...',,'',;c;,
                                   .xOdlcl'... .   'okxdc.....           :doo;,;;;,..  ..,,'.                                 .',.',;,,''..''';'',;,,'
                                   ;kklclkl'.. .;'cxOxkxxoc...            ':l:...,:c:,. ..,;''                                .','',,,,,'..;;...',,'',
                                  'xxkolcoo;...lkOkdxxxxkkk,..              .     .,:l:,...,:,'                                .''',';;,,'':l:,;;;,..c
                                .cdxxkkxoll:'..cO0Oxddxxdlc'..              ....     ':cc;.';::'.                              .,'',''::;;;:ollc;;,',c
                              .:odddxxxxoolc;...'cooc:;;...,'.               .,'.      .;ll;',::'                               .,','',::::;coolc;;,;l
                           .,odddxddollllclll:'.. .....  ..,'..     ..      ..'c:..     ..;d;',:;.                               .'',;,,,;:;,;:ccc;;co
                        .,okkxddooool:::::lool:........ . .'''.     ........ ..,::;.    .  ,d:,;c'                                .;;;'..';::::cc:;;ol
                       'dxoxdll:'..,c;,:cccll:;'............,''. ...............';;;.       ,xc;c;.                                .:,. .';::;ccc,:ooc
                      .dkdoll::,. .,:,;::;:;,,;,............,;,..................',;,.    .  ,dccc.                             ..'''.....':,',;;,cddl
                       'c;;,,;;'...c;;:c::;;,,;;'............;,'...........''''...'',.        cocc.   ........            ..',,:cll:''',,,,,;:,...looo
                      ............;l;::;;;;,,::;'............,c;..........',,''.....''....   ..dlo.  .'.''.'''''..co,. ..';,,;c::;cl:;,,,',',;,'.;cool
                    .............'ll:c::;....,;;'''.......''.':c,........''','............   ..loo,..;c::cclc:,'':ddo:,,;,...''.;;;;;,.',;:;;:;,;:ldol
                    ......''....'lxollc;..'';:::;;'.......'''';c:,.......',,;;;,''............ :xo;;ld:,.....',::lo:,cll;...';;:cc;,;:,,,,;cllccolodol
                   .....'''''...;kxdll:',..,;;;,;;..........''';l:'.....'';::::;;,............ ;xoloc'.. ..  ..'coo,,:coollodolloxdc:cc;:cclll:coloood
                   .....',,,'...,oxdl:'..'',',;,,'....''.',,;cclooc,'....';::::c::;'...........;kdo:,.......  ..'cccllclodddddllllodolcccc::cllloooodd
                  .....',,,,''.';c::;...',;,;:::,':;,;:clloxOkxxkkkxdl:'.';::::;;,;;;..''......ckoc;............',;;::clllloddlc:;;lolc;;:cclc:clooool
                  ....',,;,,,:looo:,,;clllc:clc::looollllldxxxkxddolloddl;;:::;,''...'..,,'...'dxoc,.'''',,,;,.,',:lllc:;,;:cloc:;:c;:c;,:clloooooooll
                 ....'',;;;;co:;ldoll::::lllc::cdolllclodddxOkdc:cl,',;dkdl:;,',,,'..',',;;,''cxolc;'.';:ccc:cooodddl:;:,'''':lllcccc:c:::clooooollllc
                 ....'',;;cdx:,;::lo:',,;:cllxxooc;;clllldkOkxl;,;:,,,,lkolol;,,,,,'...'..',,:dooc:;,;:cccloddddddo:;;;;,',,;:cloloollllccooooooc:::cl
                 ....'',;,ldl:;;;ldl:',::,;ccodooc::cllloxkkdooccll;,';okoclo:,,,,,'......'';ddolcclldlccclodddoolc;;;;:::cc:;;cllllolc::loooool::,;co
                                                                                                                                 .';;,...             
                                                                                                                                 .',';...             
                                             .....                                                                                .c';...             
                                          ,odoll:'....                                                                            .,.;...             
                                        ,kOko:;,;;......                                                                          .,.;'..             
                                       'OOdol;,''';'...'..                                                                         '.;'.'             
                                       '0Oool:;;'.,;....',.                                                                        '';,.,             
                                       '0Ooll:;,'..'.......                                                                        .',,               
                                       '0Odoc:;,...........                                                                        .'',               
                                       ,0Okxoc;'.........                                                                          .,.,               
                                       ;0Oko::c;..                                                                                  ,.,               
                                       cKklc:;;''..                                                                                 '',               
                                       l0doddoc,.'.                                                                                 .',               
                                      .kOdccdkxoc::;;,,,,;;,,'.                                                                     .';..',;;::::;,'''
                                      ;0klclok0OOOkkkOxccxkdooddc,...                                                               ,:c'''',;;;;ccc:::
                                     .oKxldkkdoo:'...:Oxcdo;,',cdxl;;,,,..                                                        ..;co'''',;:cc:,''',
                                    .;OKkddo,.',:.....dkcc,..',:ldl;;;,,:::,.                                                   ....,c:'.',;lll::ccc:;
                                    ,:0Od;,'..'':';,',ok:'..,:lll:,',,',;:lddo:'..                                             .....'::,',;;;,;;;:cllo
                                   .ok0Oc,;,..';l,.',:kOc,;cccolccl;'',',;'..,'';:;'.                                          ......;:;,'..'',;cc::::
                                .,cx00Oxl:;'..... ...,kd:collll::cldxdc,''........',;,.                                        ......;:c'...',;;::::::
                              ,ol,,;oOkdc;'.....   ..cxccl,..''.....,:cddl,'.. ... .',,;'.                                    .''...';;:..'.',,,,,;cl:
                              ,'    cOxoc:......    .dolo'  .'.        .cddl::,..... ..'',.                                   .,'..',,;,'...,,,'',;c;,
                                   .dkdlll,....    .ckddc.....           :doo;,;:;,..  ..,,'.                                 .,'.',;,,''..''','',;;,.
                                   ;xxoclxl'.. .,.;xOxkkxol'..            'coc...,:c:,. ..,;''                                .','',,,,,,..;;...',;'',
                                  .dxkolcoo:...ckkkdxxxxkkk;..              .     .,:c:,...,:,'                                .''',';;,,'':l:,;;;;..:
                                .;dxxkkxool:'..:k0Oxxdxxdol,..               ...    .':cc;.',::'.                              .''',',;:;;;:llc:;;,'':
                              .;oxddxkkxoolc;...,lddlc::'.','.               .,'.      .;ll,',;:'                               .,','',::::;coolc;;,;l
                           .,ldxxxddollllclll:'.  .....  ..,'..     ..      ..'c:..     ..;d;.,::.                               .'',,,;;,:;,;:llc:;co
                         'lkkxdddoool:::::lool:........ . .'''.     ........ ..,::,.    .  'd:';c,                                ',;;'.'';:;;:c::;;oo
                       .oddxxol:'..,c;,;cccllc:'............,''.................',;;.       'dc;c:.                                ':;. ..,:;;clc,;ldl
                      .dkdoll::,...,:,;;:::;,,;,............,;,..................',;,.    .  'd:::.                              ..''... .';;',;;,cddo
                       'c:;,;;;,...c;;::::;;,,;;'......'.....;,'...........'''.'..'',..       :ocl'    .......            ...,',:ll:'''',,',::,...cooo
                      ............,l;;::;;;,,::;'............,c;..........',,''''...''....  ...olo,  ..'....''''..:o,.  ..;;,;c:::cl:;;,,',';;,..,cool
                    ..............cl::::;...';;;''.........'.':c,........'',,'............    .:oo;..;c:::clc:,,':odo:'';;'...;.,;,:;,'';;;;,;;;;:lddc
                    ......''....'lxolcc:...';:::;;''......'''';c:,.......',,;;;,'............  ,xo:,ldl;'....',;:ldc,:ll:'..';;:cc:,,;,',,;clcccocoddl
                   .....'''''...;xxdllc',..,;;;;;;..........''':l:'.....'';:::::,'............ 'xolol,. .......'clo,';coolcldolloxdc::::::clllccoloooo
                   .....',,,'...,dxdl:,..'',',;,;'....'''',,;cclooc,'....';::::::;;'...........,kdo:;...........,clcclclodddddollooddlcccc::cllloooodd
                  .....',,,,''.',:cc:'..',;,;::;,';;,,;:clodkkxxkkkxdl:'.';:::::;,;;,..''..... ;kdl:'...........',;;::clolloddlc::;cooc;;:cclccclooool
                  ....',,;,,,:looo:,,;:llc::clc::lodollolldxxkkxxddoooddc;;:::;,''...'..,,.....oxoc;.''''',,;,.',':clolc;,;:clol:;::::c;;:clloooooooll
                 ....'',;;;;coc;ldoclc::coolc::cdollcclodddxOkdc:cl,',;dkxo:;,,''''..''',;;,,.:xdo:;,.';:ccc::loooddl:;:,'''':lllcccc:cc::clodddoolllc
                 ....'',;;cdxc,;::oo:',,;:clldxooc:;clllldkOkxl;,;:,',,ckdlol;,,,,,'...'..',,;ddoc:;,;:cccllodddddoc;;;;,',,,:cloloollllcclooooolc::cl
                 ....',,;;oxl:;;;ldoc,,::;;clodooc::cllloxkkdooclll;,';lOocco:,;,','.......',lxooccclolccccoddooooc;,,;:;;:cc:;:lllool:::looooolc:;,co
                                                                                                                                  ';,,...             
                                                                                                                                  ';';...             
                                             .....                                                                                .c,;...             
                                         .,odoll:,....                                                                            .,.;'..             
                                        ,kOko;,';:......                                                                          .,.;, .             
                                       .O0xol:;,'';'...'..                                                                         '',, '             
                                       'OOool:;;'.,;....',.                                                                        '',,.;             
                                       .0Oolc:;,'..'.......                                                                        .,',               
                                       .0Oool:;,...........                                                                        .,.,               
                                       .OOxxoc;'..........                                                                          ,.;               
                                       '0Oko:;c:...        .                                                                        '.,               
                                       ;0Ooc:;;,'..                                                                                 '',               
                                       c0xdodol,.'.                                                                                 .',     .         
                                      .xOdccokxoc:;;,,'',,,,,'.                                                                     .';..',;;::::;,,,'
                                      ,0klcloxOO0OkkOOxccdkddoddc,...                                                               ,cl,''',;;;;ccc:::
                                      oKxldkkxdoc'...:kxcdo:,',cdxl;,,''..                                                        ..,co,''',;:cl:,''''
                                    .,O0kxxo;.',:.....okll,...';cdo;,;;;::;,.                                                   ....':c,.',;llc::ccc:;
                                    ,:0Ox;,'..'';';,',lkc,..,;clo:,',,'';:codo:'..                                             ......:;;',;;,,;;;:cllo
                                   .lx0kl,;,..';l;.',:xOl,,::lolccl;''',,;,..,,,::;'.                                          ......;;:,'..'',;::::::
                                .,:d00Oxl:;'.....  ..'Od:clocll::clddoc'''.........,;,.                                        ......;;c'...',;;;:::::
                              ,lo;,;oOkdl:'.....   ..;xlcl;..''....';:lddl,'.. .... .,,;'.                                    .'....';;;..'.',,,,,;clc
                              ,,.   :Oxocc......   ..oolo'  ...        .cddl:;,....  ..'',.                                   .,...',,;''...',,'',;c;,
                                    okdlcl,....    .:kodl.....           ;ddl;;;;,'..  ..,,'.                                 .,''',,,,''..''','',;;''
                                   'xxoccxl'....'.,dOkkxxlc..            .'cll...,:c;,. ..,;''.                               .','',,,'''..;;...',;'.'
                                  .dxkoccdo:...:kkxdxxxxkkk;..             ...    .':c:,...';,'.                               .''',';,',,':l:,;;;;..;
                                .,dxxkkxool:'..cO0Oxxdxxxdl,..               ...    .':c:;..;::,.                              .''''',;;;:;:llcc;;;'':
                              .,odxxxkkxdolc,...,lxdoccc'.','.               .''.      .;ll,',;:'                               .,','',::::;:lll::;,,c
                            'cdxxxddollllclll;'.  .....  ..''..     ..       .':;..     ..;d:.,::.                               .,',,,,;,:;,;:ccc:;:o
                         .cxkxdddoool:::::lool:.......... .'''.     ........ ..,:c,.     . 'dc',:,                                ',;,'.'';:;;:c:::;co
                       .lddxxolc,'.,c;,;cccloc:'............,''.................';;:.       'xc;::.                                ':;.  .,::;clc,,ldl
                      .dkdoll::,...,c,;;::::;,;,............,;,..................',;,.       .oc:c.                              ..''... .';;',;;,:ddo
                       ,lc:;;::,...::;:::::;,,;;'......'.....,,'...........'''....'',..       ;ocl'     .....              ..''';cl:''.',,,';:;'..cooo
                      ............,c;;::;;;,,::;'............':;..........',,''''...''....  ...llo;  .........'...;c,.   .,;;;::c:cl:;,''',';;,'.,cool
                    ..............:l::::;..'.;;;''.........'.':c,........'',''............  . .:do:..,c:;:clc:,'';odo:'',,'...,',;,:;,'',;:;,;;;;;ldol
                    ......''.....:dolcc:'..';:::;;''......'''';c:,.......',,;;,''............  'doc'cdl;'''..';;;ldc,:ll:'...;;::l:;;;,',,;:cccclcoddl
                   .....''''....,xxollc,,..';;;;;;..........''':l:'.....'',:::::,'..............xdodl;.  ......'clo;.;clolclodlcoxxc;;:::::lllccoloooo
                   .....',,,'...,dkdlc,...',',;,,'....''.',,,:ccoo:''....';::::::;;'............xdoc,'.....  ...'clcclllodddddlllloddllccc:::llloooood
                  .....',,,,,'.',ccl:,..'',;;::;,';;,,;:clodkkxxxkkxdl:'.';:::::;;;;,..''......'kdc:,............,,::::lolloddlc::;clol;;::ccccclooool
                  ....',,;,,,;lloo;,',:llc:;clc:;cooollllldxxkkxxdooooddl;;;:;;,'''.''..,,.....ckdc:.....'',;,..,';coloc:;;cclol:;;:::c;;:clloooodooll
                 ....'',;;;;coc;ldocccc:coolc::codolcclodddxkkdc:cc;,,;okxoc;,,''''...'',;;,,.,ddo:;,',,:ccc:;clooodl:;:,'''';lllcccc:cc::cloddddolllc
                 ....'',;;cdxc,;::oo:',,;:ccldxooc:::cllldkOkxl,,;:,'',ckdool;,,,,,'...'.',,,,lxocc:,;:::cloodddddoc:;;;,'',,:cllooolclocclooooolc::cc
                 ....',,;;odl;;;;ldoc,;::;;:oxxooc::cclloxkkdooclcc;,,;ckocloc,;,,,'.......',:xoocc:coolcllooooooll:;,;;;;:cl:;:llloolcc:loooooocc;;:l
                                                                                                                                  .;,;...             
                                                                                                                                  .;':...             
                                             ......                                                                               .:;;,..             
                                         .;oddlc:,'...                                                                            .,',,..             
                                        ,kOko:,',;'.....                                                                           '',; .             
                                       .O0xol:;,'';,...''.                                                                         '',; '             
                                       .OOool:;;,.';....''.                                                                        .'';.;             
                                       .O0ooc:;,'..,.......                                                                        .,.;               
                                       .O0dol:;,...........                                                                        .,.;               
                                       .OOkxdl;,..........                                                                          '',               
                                       .OOkoc;::...        .                                                                        '';               
                                       ,0Oocc::,'..                                                                                 ..,               
                                       :0xooddl;.'..                                                                                .',.    .         
                                       dOd:cokkoc:;;,''',,,,''.                                                                     .';'.',;;::::;,,,'
                                      '0OlcloxOOOOOkkOklcdkddoddc,..                                                                ':l;''',;;;;ccc:::
                                      cKxcdkkxdol,'..;xxcdd:,',cdxl:,,''.                                                         ..,co;''',;:cc:,''''
                                     ,kKkxxo;.',:.....lOlc;...,;cdo;,,;;:::'.                                                   ....':c;.,,;llc::ccc:;
                                    ';O0x:,'..'';,;,,'cOl,..,;cloc;',,',,;codl:'.                                              ......;;:',;;;,,;;:cllo
                                   .lx0Ol,,,..';l;.',:dOo,,:ccllccl;'.',,;,'.,,,::;'.                                          ......;;:,'..'',;:c::::
                                 ';o0KOxl::,.....  ...kxc:lolll:::oddoc'.,.........,;,.                                        ......;;:'...',;;;:::::
                              .co:;:oOOxl;'.....   ..,xl:l:..',....';clddl,'....... .,,;'.                                    .'...'';;;'...,,,,,,;clc
                              ,;.   ;kkolc'.....    .lolo;. .'.       ..cddl:;,..... ..'',.                                   .'...';,;''...',,'',;c;,
                                    lkxlll;....    .;xddl.....           ;dol;;;;,'..  ..,,'.                                 .'''',,,,''..''.,'',;;,'
                                   .xxdclxl'... ...oOkkkxoc'..           .'coo'.';:c;,.  .,,'.                                .','',,,'''..;;..'',;'.'
                                  .oxkdccdo:.. ;kxxdxxxxkkk:..             ....   .,:c:,...,:,'.                               .,'',';,',,':c:;;;;;..;
                                 'oxxkkdool:'..:k00xdxxxxdo;..               ...    .':l:;..,::,.                              .''''',;:;;;:lccc;;,'';
                               'ldxxxkkxdolc;...;oxdolcc;.','.               .''.      .;ll;'';:,                               .,'''',::::;:lllc::;,c
                            .cdxxxxdooollllll:.. ........ .,'..     ..      ..'c;..      .;d:.,:c.                               .,',,,,;,:;,:clccc;;o
                         .:dkxdodddolc:::cloolc.........  .'''..    ...........,:c,.     . .dc',:;.                               ',;,'.'';:;;:c:::,cd
                       .cddxxool;'',c;,;clclol;'............,''.................',;:.       .dl;;c.                                ':;. ..,::;clc,,col
                      .okdoll::,...'c;,;::::;,;,............,;,..................',;,.       .oc;c'                               ..'.   .';;',:;,:ddo
                       ;ol:;:::;...::,:::::;;,;;'......'.....,,'...........'''....'',..       'd:l;     .....              ...'';:c:'''',,,';:;'..:ddo
                      ............'l;;::;;;,,::;,............,::.........'',,,'''...''....   ..llo;.  .'..........'c,.   .';;;::c:cc:;,''',,,;,'.'cool
                    ..............:l::::;'''.,;:''.'.......'..;c,........'',,''......'....   ..,dlc..,::;:cccc;,,;ldd:'.';,...,;,;,::;',,;;;,;;;,;cooc
                    ......''.....;dolcc:'..',;::;,''......','';c:,.......',,;;,''...............doc,col:,''''',;;col;:lc:,...,:::cc:;;,',,;ccccclcoddl
                   .....''''....,oxollc,,..';::;;;'........'''':l:'.....'',:::::,'..............ododo:.........':lo:.,coolccldllldxc;;::;::clclcoloddo
                   .....',,,'...,xkdlc;...'',,;;,'....''.''',::coo:'.....';::::::;,'...'........dxol;,...    ....coccllloddxddollooddllccc:::clllooood
                  .....',,,,''.',cllc,..'',;;::;,',;,,;:clodkkxxkkkxdl:'.';:::::;;;;,..''.......xxc;,............,;::c:coolooolc::;cldl:;::ccccclooooo
                  ....',,,,,,;cloo:,',:ccc:;:ccc;codollolodxxkkkxddoooddl;;;:::,,'''''..,,.....;kdl:'.....',,,..'';collcc;;ccool:;;:::c:,;cllooooddoll
                 ....'',;;;;coc:loocclc:coolccccodollclodddxkkdc:cc;,,;okxoc:;,''''...'',;;,'.'ddoc;,',,:ccc:;:cloodoc:c;'''';lllcccc:cc::cloddddoooll
                 ....'',;;:dxc,;:coo:,',;:ccldxooc:;:cllldkOkxo,,;c;',,:kdool;',,,,'...''.,,,'cxolc:,,:::clooddddddl:;;;,''',;cllooolcclcclooooolc::cl
                 ....',,;;lxo;,::ldlc;;::;;coxxooc:::llloxkkdodcc:c;;,;cxolloc;;,,,'......'',;ddocc:coolllldooooool:;,;;,:::c:;:llloooolcloooooolc;;:l
                                                                                                                                  .;,:...             
                                                                                                                                  .;,:'..             
                                             ......                                                                               .::;;..             
                                         .:dxdlcc,.....                                                                           .,',;..             
                                        ,OOxo:,',;,.....                                                                           ''';..             
                                       .k0xol:;,'',,...''.                                                                         .'.; '             
                                       .k0dolc;,,'.;'....,.                                                                        .,.; ;.            
                                        k0olc:;,,..''......                                                                        .,.;               
                                        k0dol:;,...........                                                                         ,.;               
                                       .x0kxdl:,..........                                                                          '';.              
                                       .OOkoc;::...        .                                                                        .';.              
                                       'OOocc:;''..                                                                                 .';.              
                                       ;0xoodxo;''.                                                                                 .',.   ..         
                                       lOd::oxkoc:;;,'''',,'''.                                                                     .,:,.',;;::::;,,,,
                                      .kOoclldOOOOOOOOklcokxddddc,..                                                                .cc;''',;;;;cc::::
                                      cKkcokkxdol,'..;xk:odc;',:okl:;,,'.                                                         ..'co:.''';:cc:,''''
                                     'xKkxxd:.'':'....cOlc:...,;cod:,,,;;:;'.                                                   .....:c:.,,;llc::ccc:;
                                    .;OOk:,,...';,,,,'cOl,..,;:loc;',,'',:codl;'.                                              ......;;:,,;;,,,;;:clll
                                   .cd0Oo,,,...;o;.',:d0o,';:cllc:l;'.''';;'.,,;::,..                                          ......;;c,....',;cc::::
                                 .;l000ko::,.....  ...xkc:lolll:::lddoc'',.  .....';;,.                                       .......;;c'...',;;;:::::
                              .coc::oOkxl:'.....   ..'xl:cc..',....':coddc;.......  .,,;'.                                    .....',,:;'...,;'',,;clc
                              ,;.   ,Okocc,.....    .cdlo:. .'.       ..cddo:;,..... ..'','                                   .'...';,;''...',,'',:c;,
                                    ckxlll;....    .'xddl'....           ,dol:;;;,...  ..,,'.                                 .,'.',,,'''.''''''',;:,'
                                   .xxdclxl'... ...ckkkxxoc'..            ,coo,.',:c;'.  .,,'..                               .''.',,,'''..;,..'',;,.'
                                  .lxxdccooc'. 'kxxdxdxxkkk:..              ...   .,:c:,...':,'.                               .''',';',',':c:;;;;;'.,
                                 .lxdxkdllc:,..;kO0xdxdxxkd;..               ...   ..':l:;..,::,.                              .''''',;:;;;:lccc;;,'';
                               .cdxxxkkxdolc;...;okxdlcl;.'''.               .''       .,cl;',;:,.                              .,'''',::::;:lllc:;;;:
                            .;odxxxdooollllll:.. ......   .,'..     ..      ..':;.       .;o:',;:'                               .,',,,,;,:;,;:cccc;,o
                         .;dkxoodddolc::ccclol:'........  .'''..    ...........,:c,.     . .ol',:;.                               .,;,'.',;:;,:c:::,:d
                       .:ddxkool:,';c;,;ccclol:'............,''.................',::.       .ol;;c.                                ':;. ..':c;clc;':lo
                      .lkdoolc:,...'c;,;:c:::;;,............,,'..................',;;..      .ll:c,.                              ..,..  .',;';;:,;odo
                      .;olc:::c;...;:,;::::;;,;;'......'.....,,'...........'''....'','.       .ocl;.       ..               ...',:l:'..''',,;:;'..;odo
                       ...........'c;;::;;;,,::;,............'::.........'',,,'''...''....  ...:llc.  ........... .:'.   ..,;;;:::cc:;,''',,,:,'.':ooc
                    ..............;l::::;,''.,;:''.'.......'..;c,........',,,''......'....    .'ool..'::;;:cc:;,',ldo:...,;'..':';,;c;,,;;;;,;;,,;codl
                    ......''.....,olcccc'..',;::;;''......','';::,.......',,;;,''............ ..ool,cooc,,''',;;,coo::cc:,....::;cc;;;,',,;::cc:cllddl
                   .....''''....'oxdolc,''.';::;;;'........'''':l:'.....'',;::::,'..............ldooo:'. ......':loc.':oocc:cdolldxl;;;:;;:clll:lloooo
                   .....',,,'...,dkdll;...'',,;;,,....''.''',::coo:'.....';::::::;,....'........lxdl;,...     ...coc:llloddxddollloddlccclc::clclooood
                  .....',,,,''..,cool;...',;,::;,',;,';:clldxkxxkkkxol:'.';:::::;;;;,..''.......dkl:,............,;;:cccloloodlc::;cldo:;::ccccclloooo
                  ....',,,,,,;clooc,',:::c:;:ccc;:odollolooxxxkkxddoodddl;;::::;,'''''..,,.....'xxc;'......',;..'',cllolc:;:cooo:;;::cc:,;cllooloddool
                 ....'',;;;;coc:loo:cllcloolccccodollclodddxkkdc::l:,,;okxoc:;,''''....'';;,'..lxoc;,'',:clc:;:clloooc:c;'''';lllccccc:c::clodddoooolc
                 ....'',;;:dxc';:coo:,'',cllldxooc:;:cllldxOkxo,,;c;',,:kdool;',,,''..'',',,,':ddl::;,;:cclloodddddo:;;;,''',;cllooolccllclooooollcc:c
                 ....'',;;lxd;,;:ldlc;;:;;;coxxolc:;:lllodkkdddcc:c;;,;:xdlcll;;,,,'.......',,ldlcc:cdolclldooooollc;;;;,;::cc;:clloolllccdooooolc:;:c
                                                                                                                                  .;':'..             
                                                                                                                                  .;,:,..             
                                            .......                                                                               .;c,,..             
                                         .:xkdllc;'....                                                                           .,,';..             
                                        ,OOxoc,'';;.....                                                                           .'.;...            
                                       .x0xol:;,'.,;....'.                                                                         .,.; '.            
                                       .x0dll:;,,'.,'....''                                                                        .,.: ;.            
                                        d0olc:;,'..''.....'.                                                                        ,.;.              
                                        d0xolc;,...........                                                                         '.;.              
                                        d0kxdl:,...........                                                                         ..;.              
                                       .k0ko::::'..        .                                                                        .';.              
                                       .O0olc:;,'..                                                                                 .',.              
                                       ,Okoodxo:''..                                                                                .,,.   ...        
                                       :0x:clxkoc:;,,'..'''''..                                                                     .,::.',;;::::;,,,,
                                      .kOoclldOOOOOOOOkocdkxddddc,..                                                               ..:cc''',;;;:cc::::
                                      ;Kkcokkxdoo;'..,xkcldc;',:oxo:,,''.                                                         ...:lc.'',;:cc:,''''
                                     'dKOdxd:''':'....:Ool:...';cod:,,,;;:;'.                                                   .....:cc',,:llc::cccc:
                                    .;k0kc,,...';,,,,':Oo;..',:coc;',,,';;codl;..                                              ......;;:,,;;,,,,;:clll
                                    :dOOd,,;...,l;.',:l0d,';:cloc:l;'.',,,,,';;;:c,..                                          ......;:c,..''',;::cc::
                                 .,c000koc:,...... ...dkc:lolooc::lddlc'.'.  ......;;,.                                       ......';;c'...',,;;:::::
                              .;oc:cdOkxl:,.....   ...xo:cc'.',....,:codoc;... ...  .,,;'.                                    .....',,;;'...,,,',,;clc
                              ,:'   'kkdlc,.....    .;dloc. ...       ..:ddo:;,..... ..'','                                   .'...',,,',...',,'',:l;;
                                    :kxocl;....    ..dddl'....           ,ddl;;;;,...  ..,,,.                                 .,'.',,,'''..'''''',;:,'
                                   .dkdccxo,... ...:xOkxxo:'..            ,loo;.',::,'.  .',''.                               .''.',,,','..:,..'',;;''
                                   :xxdccooc.. 'dxdxxxxdxkkc..             ....   .,:c:,. .':;'.                               ''.',';''',':c:;;;;;'.,
                                 .:xxxkdlol:,. ;k00kdxxxxkd:..               .. .....':l:;..';:,.                              .''''',;;;;;:lccc;;;,',
                               .:dxxxkkkdolc;...:dkkdoloc'','.               ....     ..;cc;',;:,.                              .,'''',:;::;:oolc:;:;;
                            .,ldxddddoooollll:'......... ..,'..     ..      ..':;.       .;oc'';:,                               .'',,,;,,:;,;:cccc:;l
                         .,lxxdddxdolc::ccclol:'.  ...... .'''..    ...........,:l,.     . .oo'':;.                               .,;,'.',;:;,:cc::,;d
                        ,odxkdol:,,;:;,;ccclol:,............,''................'',:;.       .oo,;c'                                ':;. ..';c;clc;':lo
                       ckxooocc;. .'c;,;:::::;;,............',,...................,;;..      .ll;:;.                              ..,'.  ..,;',;:,,ldd
                       :dol:::::...;:,;::::;,,;;'......'.....,,,..........''''....'','.       .occ:.                        ....';c:'..''',';:;'..;odo
                       ............c:;::;;;,,::;,............':;.........'',,,'''...''....    .;occ.  ........... .;'.    .',;;;;ccc;;,'''',,:;'..:ool
                    ..............;l;:::;,',.,;:,'''.......'..;l,........',,,''...........   ...oll..';:;;;:c:;,,'cdd:...',,...:,;;;c;,,;;;;,,;;,,:ldl
                    ......''.....,llcccc,..',;:c;;''......'',,;::,.......,,,;;,''...............ldl;:ooc;,,,,,;;,:ooccc::;....;c::c;:;,'',;ccccccllodl
                   .....'''''....lxdllc;''.';:::;:'........'''':l:'.....'',;:::;,'............. :xooo:'........';loc..:locc:coolldxo:;;:;;;clllclllddo
                 .......',,,'...,dkdll:'..'',,;;;,....''..'',;:coo:'....'';:::::;;,....'........:kdo;,...    ....col:cloldxxddollooddlccccc::clclooooo
                  .....',,,,,'..,cddl:'..',,,::;,',;,',;:lldxkxxkkkxol:'.';:::::::;,'..''.......lOl:;'...........,;;:ccclooooooc::;clooc;::ccclclloooo
                  ....',,,,,,;:looc,'';::::;:ccc;:loollolloxxkkkxddoodxdl;;::::;,'''',..''......dxc;,......',;...',:loolcc::looo:;;::ccc,;cclollodddol
                 ....'',;;;;coc:looc:lllloolccccodollclodddxkkxc::l:,,;okxoc:;,,'''.....';,,'..:xol:,',,:ccc:;;:lllool:c:,''',lllc:ccc:l::clodddddoool
                 ....'',;;:dxc',:cdoc,'',:llcoddoc:::cclldxOkxo,,;c;',,:kxool;',,,''..'''',,;';xdlc:;;;:cclooddddddoc;;,,''',;cllooollcllcooooloolcc:c
                 ....'',;;okd;,;:cdoc;;;;;;cldxdoc:;;cclodkkdodlc:c;;,;;xxllll;;;,,'....'..';,cxolcc:oocclldoooooool;;;;,;::cc;:clooooollcoooooolc:;:c
                                                                                                                                  .,,;,..             
                                                                                                                                  .';,,..             
                                            .''.....                                                                               'c';...            
                                         .cxkxolc:'....                                                                            ',.,...            
                                        ,OOdoc,'',;......                                                                          .,.;...            
                                        dKxolc;;,.';'...'..                                                                        .,.:...            
                                        o0dll:;,,'.,,....''                                                                         ,.:.,.            
                                        oKdlc::;'..''.......                                                                        '';.              
                                        oKxdlc:;'..........                                                                         .';.              
                                        oKkkdoc;...........                                                                         .','              
                                        dKOdc:::'..        .                                                                        .,,'              
                                       .x0dllc:,''.                                                                                 .,,,              
                                       .kOdooxd:''..                                                                                 ,,,  .....   ....
                                       ;Ox::cdkdl:;,'....''....                                                                      ';c.',;;::c::;,,,
                                      .x0oclcokOOOOOOOkocokxddddc,..                                                               ..:cc''',;;;:cc::::
                                      '0Ollxkkxdd:,'';xOlldc;,,;lko;,,''.                                                        ....:ll''',;:cl:,''''
                                     .oKOxxdc''':'....;Odcc'''',:odc,,,;;;,'.                                                   .....:cc,,,:llc::cccc:
                                    .,xKkc',...';,,,,,;ko;...,:clc:,,;,,,;clol;..                                              ......;;c,,,,,,,,;:clcl
                                    ;oO0d,,;...,l;.',;lOx;',:clol:c;'..',,;;,;;::c,..                                          ......;::;...'',:::c:::
                                 .';OK0kdc:;...... ...oOl:collol::odolc,.'........';;'.                                       .......,:;,...',,;;:::::
                               ,llcldOOxo:,.....   ...dd:cc,.';....,clodoc,... ...  .,,;'.                                    .....'',:,,...,,,',,;clc
                              ,l,   .kkxlc,.....   ..,dlol.  .'      ...:ddo:;'.. .. ..'','                                   .'...,,,,',...',,'',:l;;
                                    ,kxocl;....    ..looo,....           'dol;;;,,...  ..',,.                                 .,'.',,,.''.''.'''',;:,'
                                    lkdccxo,...  ..,oOkkxl:'..            ,loo:.';::,'.  .',''.                               .''.',,,.''..:,..',,;;''
                                   ;kxxccooc'...ododkdxxxkkc..              ''.   .,:c:,. .';,'.                               ''.',';'',,':c:;;;;;,.'
                                 .;xxxkxoll:,..,k00kdxxxxxxc..               .. ..  .':l:;..';:,.                              .''''',;;;;;:lcc:;;;,',
                               .;oxxxkOkxolc;...:xkkxoodl;,,'..              ....     ..;cc,'';:;.                              .''''',;:;:;:lolc:::,;
                             'cdxddddodoollll;'....,,.... .,'..     ..       ..;;.       .;oc'';c,.                              .,',,,;,,:;';:cclc:,c
                          'cdkdddxdolcc:ccllol:'.  .....  .'''..    ...........,:l;.     ...od,';:.                               ',,,'.',,:;,;cc;:,;o
                        .ldkkxool;;:c;,;ccclooc,.. .........,''................'',:;.     . .ld,,c,.                               ';;. .'';c;:cc;',co
                       :xxooolc:.. .c;,;::ccc:;;'...........';,...................,,;..      .co;::.                               .,'.  ..,;,;;:,,ldd
                       ckdlcccc:...,:,;::::;,,;;'......'.....,,,..........''''....'',,.       .occc'                        ....',::'..'''',,:;,..,ldd
                       ............::;:::;;;,::;,............';:'........'',,,,''...',....   . 'oll,. ........... .'..    ..',,,,:cl;,'.'''',:;'..;lol
                    ..............,l;::;;,,,',;:,'''..........;l,........',,,''...........   ...llo;.',;,,;:::,,,';ddc....,;,'.:;;;;cc;,;;;,,;;,,,;odl
                    ......''......cl:ccc;..',;:c;;''......'',,;::,.......',,;;,'................:ooc;ool:;,,,,;;,;oolcc:;;,...'c:;c;::,'',;:::cccllodo
                   .....'''''....:xolll;,'.';c::::'........'''':l:'.....'',;:::;,'..............,xoodc,........';cll'.,lol:::ldlldxo:;:;;;;:lolccloooo
                 .......',,,'...'okdolc,..'',,;;;,....'''.'.';;clo:'....'';:::::;;,.............'kdo:,'. ..  ....:oo::cooddxxddolloddl::cccc:clccooooo
                 ......',,,,''..,cxxoc,...',;::;,'','',;:cloxkxxkkkdol:'.';:::::::;,'..''.......;ko;;,...........';;:cccloodddocc::clodl:;::cclccloooo
                 .....',,,,,,;:cooc;,',;:;;,;ccc;;cooloooldxxkkxxddoodddl;;::::;,,,',,..''......okl;;......',,...',:lollcc::clooc:;;:clc;;:clollooddol
                 ....'',;;;;:ol:lol::cllloocccccodollccooddxkOxc::c:,,;okxoc:;;,'''.....',;'...,xdl:,'',:ccc:;;:clcool:c:,''',cllc::cc:l::clodddddoool
                 ....'',;,:oxc',:ldoc,',,:llcoxool:::cllodxOkxo;;;:;,',;xxodo:'',,,'..''',;,,,,odoc;:;;:ccclooddoodol:;,,''','cllooollcclcloooooolcccc
                 ....'',;;okd:,;::dol;,,;;;cldxooc:;;cccldkkdodlc:c:;',;dxlldl,,;;,'....'..,;,,doo:c:lolcllddoooooolc;;;,,;:cc::clooooollloollllolc;;c
                                                                                                                                  .',;,..             
                                                                                                                                  .';',..             
                                            .','....                                                                               'c';...            
                                         .lkkxlccc'....                                                                            .;',...            
                                        ,OOdoc,'.,;'.....                                                                          .,';...            
                                        oKxolc;;,.';'...'..                                                                         ,';'..            
                                        lKxllc;,,'.',.....'.                                                                        '';'''            
                                        lKxol::;'...'.......                                                                        .';'              
                                        lKkdoc:;'..........                                                                         .',,              
                                        lKkkdoc;...........                                                                         .,,;              
                                        oKOdc;::'..                                                                                 .,,;              
                                        d0dolc:;''.                                                                                  '';              
                                       .xOoloxdc'...                                                                                 '',  .....   ....
                                       ,Ox::cdkdl:;,'..........                                                                      ';c'',;;::cc:;,,,
                                       o0dclclkOOOOOOOkoclxkxdddc'..                                                               ..:cl''',;;;:cc::::
                                      .OOllxkkxdd:;'';xOlldl:;,;okd:,'''.                                                        ....:ll,'',;:ll:,''''
                                     .lKOxxxc,'':'....;kdcc'.'.,:lxc;,,;;;;'.                                                   .....;cl,',:ll::::lllc
                                    .;dKOc,;...';;,,,',kd:'..,;cll:,,,,,,;cloc;..                                              ......,::;,,,,,,,;:clcc
                                    ,lO0x,,;...,l:'',:cOx:',::lol:c;'..',,;;;;::::,..                                          ......,:::...'',;::c:::
                                  .,kK0Odc:;...... ...lOl:coloolc:loolc,.'... ....';:'.                                       ......',:;,.'.',,;;:::::
                               'cllldkOko:,.....   ...od::c,.';...';clodoc,... ...  .,,;'.                                    .....',':,,...,,,',,;llc
                              'l;   .xkxlc,.....   ...xllo' ..'      ...:dxo:;'.....  .'','.                                  .'...,,,,,,'..',,'',:c:;
                                    'kkoll:....    ..ldoo;....           'odl;;;,'...  ..',,.                                 .,'.',,,.'''.'.'''',;:,'
                                    lxxccxd,...   .'lOkxxl:'..            ,ool;.';:;,'.  .,;''.                               .''.',,,.'''.:,..',,;;''
                                   ,xxxccodc'...coldkxxxxxkc..             .',,. ..,:c:,. .';,'.                               ''.',';'',,,:c:;;;;;,.'
                                  ,dxxkxoll:,..,k00kxxxxkkxl..               ..    ..':c:;..';:,.                              .''.'',;;;;;;lcc:;;;,',
                                'ldxxkOkxolc;...:kOkxdodo:,,'..              ....     ..;cc,',,:;.                              .''''',::;:;:lllcc::;,
                             .:oxxddddddollll;'. ..,;'... .,'..     ..       ..;;.       .;oc,',:,.                              .'',,,;;,:;';:c:lc:,:
                          .;okdddxdoolc:ccclol:'........  .'''..    ...........,:c,.     ...ld;';c'                               ',,,''',,:;';cc;:,,l
                        .cokkxoolc::c:;;cc:looc,............,''.................';:;.     . .cd,,:;.                               ';;'..'';c;:cc;',cd
                       ;xxdoolc;....:;,;:::cc::,............';,..................',,;..      .:o;;c.                               .,'.  ..,;;;;:;,cod
                       ckdoccccc...':;;::::;,,;;'.....''.....,,,..........''''.....',,.       .lc:c,                         ....,::'..''''',:;,..,lod
                       ..''........:;;:c:;;;,;;:,............';;'........'',,,,''...',....   . .ocl;. ...........  ...     ..',',;cl;,'.'''',::'..,lol
                    ..............'l;;:;;;,,',;:,''...........;c,........',,,,'''....'....   ...cloc..,;,,;;:;,,,',ddc....',,,';:;;;cc;,,;,,,,,,'';ldo
                    ......''......:l:ccc;..',;:c:;,''.....'',,;::,.......',;;,,.................;ool:loo:;;;;,;;,,odlcc;,;;....cl;:;::;'',;::::ccccldo
                   .....''''.....;dolll:,,.';c::::,........'''':l:'.....'',;:::;,'..............'xodol,........';cll,.,lolc::colldxoc;;;;;,:llllcolodd
                   .....',,,'...'okdolc,..',,,;;;,.....''.''',;clo:''...'';::c::;,'..............xxd:,'..    ....:lo:;looddxxddolloddl::cccccclc:loooo
                 ......',,,,''..'cxxoc;..'',;::;,'','',;;clldxkxxkkdol:'.';:::::::;,'...'.......'kd:,,...........';;:cccloooddoccc:coodl::::cccclooooo
                 .....',,,,,,;:cllc:;',;;;;,;:c:;;coollolloxxkkkxxdoddxdl;;::::;,,,,,,...'......cko;;.......';'..'',loolccc:clooc:;;:clc;;:clollloddoo
                 ....'',;;;;:olclol:;clllolcccccodoolccooddxkOxl:cc:;;;okxoc::;,'''.....',,'...'dxl:,'',;:lc:,;;cccodl:cc;,'',colc::::cc::cloddddddool
                 ....'',;;:od:',:lddc;,,,:llcoxoolc::cclodxOkxo;,,c:,',;xxddd:'',,,'..',,,;,,,'lxlc::;;:ccllooooooool:;,,,''''clloooolcclclooooooocccc
                 ....'',;;lkx:';;;ooc,',;;:cldxoll:;;:ccldxkdlolc:c:;,,;dxllol,,;;,'....''',;;,ddoclclolccldooooooooc;;;,;;:cc:;coooooololodloloolc;;c
                                                                                                                                   ';,;..             
                                                                                                                                   ':';..             
                                            .,;,.....                                                                              .c,;'..            
                                         .lkOxlccc,....                                                                            .;','..            
                                        'O0dol;'.';'.....                                                                          .'',,..            
                                        lKkolc;;,'';,...''.                                                                         '';;.'            
                                        cKxllc;,,'.';.....'.                                                                        '',;.'            
                                        :Kxolc:,,...'.......                                                                        .,,; .            
                                        :Kkdol:;,...........                                                                        .,';              
                                        :KOkdol:'..........                                                                         .,';              
                                        lKkdc;::,..                                                                                  ,.;              
                                        o0dllc:;.'.                                                                                  '';              
                                       .xOolokxc''..                                                                                 .';. .....  .....
                                       'Ok::coxdl:;,'..........                                                                      .;c'',;:::cc:;,,,
                                       l0d:lllxOOOkOOOkdllxkxdddc,.                                                                ..:cl,'';:;;:cc::::
                                      .k0lcdkkxdxc;,,;dOocdo:,,;lxd:;''..                                                        ....:cl,'.,;:ll:,,'..
                                     .cKOxxxl,'':,....,kxcl,.'.':odl;,,;;;,.                                                    .....;cc,,,:ll:::clllc
                                    .,dKOl,;...';;,,,',xd;,..,;:cl:,,;;,,;:loc,..                                              ......,;:;,,,,,,,;:cccc
                                    'lO0x,,;...,l:'',::kk:',::lolcc;''.',,;;;;:cc:,..                                          ......'::;.'.',,;ccc:::
                                  .'x00Odc:;'..... ...cOl:collolccloolc,.''.......';;'.                                       .......':;,.'.',,,,;::::
                               .:llodkOko:;.....   ...lxc:c;.';'..';clodoc,..  ...  .,,;'.                                    .....',,;,,'..,,'',,;llc
                              .o:.  .dkxlc,.....     .xllo' ..'.     ...:dxo:,'.. ..  .'','.                                  .'...,,,,,,'..',,'',:c:;
                                    .kkoll:....    ..:doo;....           'odl:;;,,...  ..'',.                                 .,'.',,'.'''.'.'''',;:,,
                                    :xxccxd,...  . .:kxkxl;'..            'odl:.';;;,..  .,;''.                               .''.'',,.','.:,..',,;;''
                                   'xxxlcodl'...:o:okkxxxxxl...            .';;. ..,:c:,. ..;,'.                               ''.',';'.,,':c:;;;;;,.'
                                  'dxxkxoll:;..'kO0kxxxxxkko...              .     ..,cc:;..';:,.                              .''.'.,;,,;;;lcc:;;;;''
                                'cdxxkkkxolc;...:kOkxddddc;;'..              ...      ..;cc,.',:;.                              .''''';::;:,:ollcc::,,
                             .;oddddddddollll:'...';;'... .,'..     ..       ..;,.       .:oc,',:;.                              .'',,,;;,;;,;cc:ll:,;
                          .,lkxdddddolc:cclloo:... ..... ...''..    ...........,:c,.     ...cd;';:'                               ',,,''',,::';cc;:;,l
                        .:oxkxdolcccc:;;cc:looc;............,''.................';:;.     .  :d;,:;.                               ':;'..'';c;:cc;,':o
                       ,dxdodlc;.. .:;,;:cccc:;;............';,..................',,;...      ;d;:c'                               .,,.   .,;;;;:;,:od
                      .ckxolccc:...':;;::;:;,,,;'.....''.....,,,..........''''.....',,.        co:c;.                        ....';:'..''''',:;,..,cdd
                       .','.'''....:c,:c:;;;,;;:,............';;'........'',,,,''...',..     ...ocl:.  ..........  ...     ..'''';cl;,'.'''',::'..'loo
                    ..............'l;;:;;;,,',;:,'''..........;l;........',,,,'''....'....   ...:lll..';,,,;;;,,,',odc'....,;,,;::;;cc:;,,,,,;;,'';ldl
                    ......''......:l::cc;..',;:c:;,,'.....'',,,cc,.......',;;,'.................'dlo:loo:;;:;;;;,,cdllc;',;'...;l::;;:,'';:::;:ccccldo
                   .....'''''....,oolllc,'.';c::::,'.......'''':l:'.....'',;:::;,'...............ddodl;.........;cll;',col::::ooldkdc::;;,,:clllcllodo
                   .....',,,'...'lkdolc;'.',,,;;,,.....,'.'.',;:lo:''...'';::c::;,'..............oxd:,'..........;od:;cooddxxddolloddl:::ccccclc:loooo
                 ......',,,,''..'lkxoc;..'',;::;,,','.';;clodxkxxkkdol:'.';:::::::;,'...'........xx:,,'..........';:;:ccloloddolc::cloooc:ccc:clcloood
                 .....',,,,,,,:cclcc:,,;;,;,,:::;;coollloloxxkkkkxddodxdl;;:::::,,,,,,...'......;kd;,'......','...,;cloocccccloll:;;:cll:;:clollloddol
                 ....'',;;;;:olclol;;clloolccccclddolccodddxkOxl:ccc,,;okxdc::;,'''...'.',,'....oklc;'.';:cc:,,;:cclol:cc;,'',clll:::cccc;clloddddddol
                 ....'',;;:ldc',:lddl;,,,:olcoxoolc::cclodxOkxd;,,c:,'';xkddo:'',,,'...'',;;,'':xol:;;;:clloooooooool:;;,'''',:looooolcclcoooooooolccc
                 ....'',;;lkx;,,;;oo:'.,;;:cldxoll:,;:ccldxkdldlc:c:;,,;okolol,,;;,'...','',;;,oxlccccllccldoolllodol:;,,,;::c::cloooolloldolllloolc;:
                                                                                                                                   ';':...            
                                                                                                                                   .;';...            
                                           ..,;,'....                                                                              .:;;'..            
                                         .lkOxc:c:,.....                                                                           .;';,..            
                                        'OOdol;''';,......                                                                          ,'';..            
                                        cKxoll;,,'.,,...''.                                                                         .'':.'            
                                        :Kxllc:,,'..,.....,.                                                                        .',:.,            
                                        ;Kkolc:;,...'.......                                                                        .,': .            
                                        ;Kkxol:;,...........                                                                        .,';              
                                        ;KOkdol:'..........                                                                          ,';.             
                                        cKOdc:::,..                                                                                  '.;.             
                                        l0dlol:;''.                                                                                  '';.             
                                        oOdloxxl,'..                                                                                 .';..............
                                       .kk:;:lxdl:;,'.........                                                                       .;c,',;;:::::;,,,
                                       :0x:ccldkOkkkOOkdllxkxxddl,.                                                                ..;cl;'';:;;:c:;:::
                                      .d0l:dkkxdxc;;,;dOocdo:;,;lxdc,''..                                                        ...';cc,'',:clc:;,''.
                                     .:00xxxo;'';,....,xxcl,...':lxl;,,;;;,..                                                   .....,cc;,;cll::::cllc
                                     ,oKOl,;...';;,,,''dx:,..',:ll:;,;;,,;:loc,..                                              ......':::,,,,,,,;:cccc
                                    .ck0k;,;'..'l:'',;:kkc''::lolc:;''.',,;;;:ccc:'.                                           ......':;:.'..,,;:cc:::
                                  .'dKKOdc:;'.........:Od:clllol::ldol:,.',.  ....';;'.                                       .......,:;;...',,,,;::::
                               .;lloxkOkd:;.....   ...ckc;c:'':'..';coddlc,..  .... .,,;'.                                    .....',,;,,'..,,'',,;llc
                              .oc.  .dkxlc;.....     .dllo, ..'.     ..':dxo;,'.. ..  .'','.                                  .'...,,,',,'..',,''':c:;
                                    .xkdcoc.....   ..;xooc....           .odo:;;,'...  ..'',.                                 .''.',,'.','''..''',;:;,
                                    ;xxlcdd,...    .;xxkdl;...            'ooo:'';;;,..  .,;,'.                               .''.'',,.','.:,''',,;;,'
                                   .dxkl:odl'.. ,l:lxkxxkxxl...            .'::. ..,:::,. .';,'.                               ''.',';'.,,,:c:;;;;;,'.
                                  .dxxkxoll:;...xO0kxxxxxkko'..                    ..,cl:,...;:,.                              .''.'.,;,,;:;lcc::;;;''
                                .:dxxxkkxolc;...:kOkxdddxl;,'..              .....    ..;c:,.',:;'                              .'.''';::;;,:lllc:::;,
                             .,ldxdddddddllll:'...,::,'....''..     ..       ..,,.       .;oc,',:;.                              .'',,,;,,;;,;:c:llc;;
                          .'cxddddxdolc:cclloo:... ..... ...''..    ...........,:c,.      ..cd;',:,                               ',,,,'',,::',cc;:;,c
                        .;okkxodocccl:;;ccclool;............''..................';:;. .   .  ;d;,;:.                               ,;;,..'',c::cl;,,;l
                       'dxdodoc:'...:;,,:ccclc:;......'.....','..................',;:.    .   ,d;;c,                               .,,.  ..,;;,::;,:ld
                      .ckxollc:c....:;;::;;;;,,;,......'.....,,,..........''''.....',,.       .:o:c:.                        .....;:'......'';;,..'cod
                       .,,,'''''...::,:c::;;,,;:,............';;'........'',,,,''...',..     ...lclc.  ..........  ..       ....',cl;,'.''''';:'..'coo
                    ...............c:;:;;;,;',;:,''...........;l,........',,;,'......'....   ...;olo..',;'';;;,,,'.ldc.....',,,;:;:;:c:;,,,,,,,,'';lol
                    ......''......;l::::;..',;;c:;,,'.....'',,,cc,.......',;,,'..................olo:cooc:;::;;;,'collc,.';;...,lc:;;c;'';;::;:ccccldd
                   .....'''''....'ldcccc,'..;cc:::,'.......'''':l:'.....'';;;c;;,'...............oddxl;'........;cll:''cllc;;codooxdc:;;;;,;clllcllodo
                   .....',,,'...'lxdolc;'.''',;:;,.....,'.'''',:lo:'....'';::c::;,'..............lxdc,,.. .. ....;loc,:ldddxxddolloddo::::cccccl:loooo
                 ......',,,,'...'lkxol:'.'',;::;;'','.',;:cloxxkkkkdol:'.';:::::::;,'...'........okc,''..........';:;;cllolodddlcc:cloooc::ccccccloooo
                 .....',,,,,,,;:collc;',,,,;;::c;,coollooloxkkkkkxddodxdl;;cc:::;,,,,,...'......,xx:,,......','...',coolccccllollc;;:cllc;:clolllodddo
                 ....'',;;;;:loclol;;:lllol:cccclddolccodddxkOxocccc;;;okxdc:::;'.....'..,,.....lkl:;'.',:cc:,,;:cccooc:c;,,,,clll::::ccc;:cloddddddol
                 ....'',;;;ldc'':ldol:;;,:olcldoolc:ccclodxOkxd:,,c:,'',dkdddc,'''''...''';;,'',xdlc;;;:llllooolooool:;;,,'''':loooolllcccoooooooollcc
                 ....'',;,lkk;',;:oo:..',;:cldkdll:;;:ccldxkdldoc:c:;,,;okoloo,';;,'...,,,',;:,cxol:lclolccddolcloool:;,,,;:ccc:cclooooooldolcclool:::
                                                                                                                                   .;,:...            
                                                                                                                                   .;,;'..            
                                           .';:;,....                                                                              .::;,..            
                                         .oOOdc::c;.....                                                                           .,,,;..            
                                        'O0xll;,'';;......                                                                          ''';..            
                                        :Kkolc:;;'.,,...''.                                                                         .''c.'            
                                        ;Kklll:,,'..,'....'.                                                                        .,'c.;            
                                        ,Kkolc:;,...'.......                                                                        .,.:..            
                                        ,KOxdoc;,...........                                                                         ,.:.             
                                        ,0kkdolc'... ......                                                                          '.;.             
                                        ;KOdc:::,..         .                                                                        .':.             
                                        c0xoolc;''.                                                                                  .';.             
                                        oOdclxkl,...                                                                                 .';..............
                                       .kkc;:lxdlc;,'.........                                                                       .;:;',;;:::::;;;,
                                       ;0x:clcdkOkkkkOkdclxkxdddl,.                                                                .',cc;'';:;;:c:;;;;
                                       d0o:dkkkxxl:;,;dOdcdd:;,;cxx:;'...                                                         ...,cc;'',:clc:;;'..
                                     .;00xxko;'';;....'dkcc;...';lxo;,,;;:,..                                                   .....':c:,,:ll::::clll
                                     ,lKOo,;...';;,,,''ox:,..',:cl::,,;,,;:llc,.                                               ......':::,,,,,,,;:cccc
                                    .cx0k:,:'..'l:'',;:xOl'.;;cooc:;''.',;;:::ccc;'.                                           ......':::.'..,,;:ccc::
                                  ..oK0Oxc:;'..... ...;Odc:lolllc:ldol:,..,.. ....';;'.                                       .......'::;''.',,,,;:::;
                               .,cldxkOkdc;.....   .. :kc;c:'';,..';loodl:,..  .... .,,;'.                                    .....'',;,,'..,,'',,;llc
                              .oo'  .oOxlc;.....     .oolo;...'.    ...':dxo:,... ..  .'','.                                  .'...,,,.,,,.'',,''':c:;
                                    .dkococ.....   . ,xooc.....          .ldo:;;,'...  ..'',.                                 .'...','.','.'..''',;:;,
                                    ,xxlcdd;... .  ..dxxdl;'..            .ooo:',;;;'..  .,;,'.                               .''.'',,.','':,''',,;;,'
                                   .oxkl:odl'.. 'c;cxkxkxkxl...            .':c. ..,:::,. ..,;'.                              .''.''';'.,,,:c:;;:;;,'.
                                  .lxxkxoll:;...xO0kxxxxxkkd,..                    ..,cc:;...;:,'                              .''.'.,;,,;:;lcc:::;;,.
                                .;oxxxkkxolc;'..:k0kxdddxo:;'..              ...      ..;c:,.',::'                              .'.''';::;:,clllc:cc;'
                             .,cdddddddddolll;'...,:c;'....''..     ..       ..,'.       .;oc,',::.                              .'',',;,,;;';:c:llc;,
                           .:dxdddxdolc:cllloo:'.. ..... ...,'..    ...........'::'..     ..cd:',:,.                              ''',,''',:;',cc;:;,:
                         'lkkxdoollloc;;ccclodl;............'''.................';:;. .   .  ,d;,;:'                              .,;;,...',c::ll:,,,l
                       .oxdddocc'...:;,,:ccclc:;......'.....',''.................',;:.    .   'd;,c;.                              .,,.  ..';;,::;,;ld
                       lOxollc:c....c;,;:;;;;;,;,......'.....,,,..........''''.....',,.        ;o:c:.                        .....,;,......'';;,..,:od
                       .;;,,,,,'...;c,;c::;;,,;:,............';;'........'',,,,''...',..       .lccl.  .........   ..       ....',:l;,'.'''',;:'...:oo
                    ...............c:;::;;;;',;:,''...........;c;........',,;,'......''...      ,olo,..','',,,,,,'.co:... .',,,;;;;;::;,,,,,,;,,'',:oo
                    ......''......,l:::::'.,,;;c:;,,'.....'',,,:c,.......';;,,'..................olocclll;:::::;,':oolc,..,;'..'lc:;,c;,,;::;;;:cccldd
                   .....'''''.....cdcccc,'..,ccc::,'.......'''':lc,.....'';;;:;,,'...............lddxl:,.......';cclc,':llc;;:ldodxxc:;;;;,;llllcclldd
                   .....',,,'....cxdolc:'..'',;:;,'....''...'',:lo:'....'';::c:;,,'..............:kdl,'....   ...;lol;;cdddxddddlloddoc::ccccccl:coooo
                 ......',,,,'...'lkxol:'.'',;::;;'.''.',;:clodxkkkkdol:''';:c:::::;,....'........lOo,,,...........;c:;cllooodddlc::clooocccc:ccccloood
                 .....'',,,,,,;:collc;,,,,,;,:::;,:lolllooodkkkkkxddddxdl:;:c:::;,,,;,...'......'dxc,,.......,,...',:loolccclloolc;,:cloc;:ccllllodddo
                 ....'',;;;;:loclol;,:cllll:clcclddolccodddxkOkocccc;;;okxdl:::;'.....''.',.....:koc;'..,:cc:;,;;cccooc:c;;,';:lll:;::ccc;:cloddddddoo
                 ....'',;;;ldc'':ldolc;;,:olcldoooc:ccclldxOkxd:,,::,'',dkddoc,'',''...''';;,'.,ddlc;;;:llloooollololc;,,,,''';loooolllccclooodooollcc
                 ....'',;,lkk:',;:dd:..',;cllokdol:,;:ccldxkdlolc::c;;,;lkoloo;',;,'..',,',,,,':xolccclolccoddlcclool:;;',;::cc::llooooooooooclloolc::
                                                                                                                                   .;,:...            
                                                                                                                                   .;,;'..            
                                           .,::;;'...                                                                              .,:,,..            
                                         .oOOdc;;:;.....                                                                            ,;';..            
                                        'OOdll:,'.,;......                                                                          .,.:..            
                                        ;Kkoll:;,,.',....'.                                                                         .,.c.'            
                                        '0klll:,'''.,'....'.                                                                        .;.c.;            
                                        '0Oolc:;,...'........                                                                        ,.c..            
                                        .0Oxdoc;,...........                                                                         ,.:.             
                                        .0Okxolc,... ......                                                                          '';.             
                                        ,0Odc:;;;..         .                                                                        .';.             
                                        :0xoolc:''..                                                                                 .',.             
                                        l0dcldko;'...                                                                                .',..............
                                       .xOc;cldxlc;,'.........                                                                       .;:;',;;:::::;;;,
                                       ,0x:cccokOkkkkOOdlldkxxddl,.                                                                .''cc:'';:;::c:;:::
                                       l0dcdxkkxxo::;;oOd:ddc;,;cxxc,,...                                                         ...,cc;'.,:clc:;,'..
                                      ,O0kxxo:'';;....'dkcl:...';ldo;'',;;,.                                                    .....':c:,,:lc::::clll
                                     ,c0Od,;'..';:,,,''lk:;...,:clc:,,;,,;:ll:'.                                               .......:::,,,,,,,;:cccc
                                    .:x0O:':,..'lc'',;:oOo'.;:cooc:;''..,;;::clcc;'.                                           ......':::.'..,,;:ccc::
                                   .c00Oxl:;'..... ...,Oxcclolloc:lolc:,..'.. ....';;'.                                       ......'';:,'..',,,,;::::
                                ,:ldkkOkdc;'....   .. ;kc;:c',:;..,:llool:,..  .... .,,;'.                                    .....',,,,,'.',,'',,;llc
                              .od,  .lkxoc:.....     .ldlo:...'.    ...'cddo:,..  ..  .',,'.                                  .'...,,,.,,,.'',,'',cc:;
                                     dkdllc.....   ..'dodl.....          .lxo:;;,'...  ..'',.                                 .'..',,'..,,.'.'''',;:;,
                                    'xxocod;...    ..okxxo,'..            .ooo:',;;;'..  .';,'.                               .''.'',,..,'.:,''',,;;;'
                                   .lxxl:odl,.. .:;:xkxkxxxl'..            .,cc' ..,:::,. ..,;'.                              .''.',';'.,,,:c:;;:;;,'.
                                  .cxxkxollc;...dO0Odxdxxkkx,..                    ..,cl:;...,:;'                              .''.'.,;,,;:;lcc::;;;,.
                                .,oxxxkkxolc;'..cO0Oxdddxdc;'..              ....     .';c:,.',::'                              .'.''';::;;,:lllcccc;'
                             .':oddddddxdollc;'...;cc;,'...''..              ..,'.       .;lc,',:;.                             ..'',',;,,;;';:c;clc;,
                           .;dxddxxdolc:cllloo:... ..... ...,'..    ...........'::'.      ..cd:',:;.                             .''',,''',;;',ccc:;,;
                         .lxkxddoooooc;;:cclodl;............'''.................';c;. .   .  ,d:,;c'.                             .,;;,...',c::cl:,',c
                       .cddddolc,...;;,,:cccll:;......'.....',''.................',;;.    .   'o:,:;.                              .;;.  ..';;,::;;;cd
                       cOxollc::....:;,;:;;;;;,;,......'.....,,,..........''''.....',,.     .  ,d:::'                         ....';,......,,;:,'',;od
                       .::;,,,,,...;c,;c::;;,,;:;............';;'........'',,,,.....','.       .clcc,  .........            ....',:c;,'..''',,:,...;oo
                    ...............::;::;;;;''::;'''..........;c;........',,;,,''....''...      'oco;..',,',,,'','.:o:'.  ..',,;;;;;::;,,,'',;,,'',:lo
                    ......''......'l:::::'.,,;;c:;,,'.....'',,,:c,.......',;;,'..................lodl:ollc:::::;,';oool,..';,..'cl::,c:,,;::;;,::cccox
                   .....'''''.....cocccc;'..,ccc::,'.......'''':lc,.....',;;;:;,''............. .:ddxo:,.......',:lol,,;clc:;;lddodxc::;,,,;clolccllod
                   .....',,,'....:ddolc:''.',,;:;,'....''...'',;cl:'....'';::c:;,,'..............;kxl,''. .  ....,lol;;coddxddddlloddoc;;:c:ccll:clooo
                 ......',,,,''..'lkxolc,.'',;::;,''''.',;:ccldkxkkkdol:,'';:c::::;;,....'........:kd;,,'..........;c:,:llooodddlccccloollccc::cccllood
                 .....'',,,,'';:coool:;,,',;,;::;,:lolllooodkkkkxxddddxdl:;:c:::;;,,,,...'.......dkl,,.......',...',;loolc:clloolc;;:clol;:ccllolooddo
                 ....'',;;;;:loclol;,;clllc::lcclddolccloddxkOkocccc;;:okkdl:;:;''....''.''.....;xdc;'..,;:c:;,,;cc:lolcc;;,,;:lll:;::ccc;:clodddddddo
                 ....'',;;;ldc'':ldolc:;;:olcldoooccccclloxOkxd:,,::,'',okdddl;'''''....'';;,'''lxlc:;;:clllooollllloc;,;,'''';loooolllccclooodoooolc:
                 ....'',;,cxk:',;cdoc'..';llloxdll:,;:ccldxOxlooc::c;;;,lkolod;',,,'..',,',;,,,;ddcc:clolccoooc:cllooc;,,,;::cc:cllooooooooolclloolc::
                                                                                                                                   .,,:,..            
                                                                                                                                   .,,;,..            
                                           .,:c:;'....                                                                              ':';..            
                                         .dOkdc;;;:'....                                                                            ';';..            
                                        'OOdll:,'.,:'.....                                                                          .,.;..            
                                        ,0koll:;;,.',....'.                                                                         .,.c.'            
                                        .0Ooll:,'''.''....''                                                                         ,.c.;            
                                        .0Odll:;,'..'........                                                                        ,.:..            
                                        .0Oxdol;,............                                                                        '';.             
                                        .0Okxoll;... ...... .                                                                        .','             
                                        '0Oxc:;:,'.         .                                                                        .'''             
                                        ;0xoool:''..                                                                                 .','             
                                        :0dccoko;....                                                                                .','.............
                                        dOc,:cdxl:;,'.. ......                                                                       .;::';;::::::;;;,
                                       'Ox:cccokOkkkkkkdlldkxddol'.                                                                ..,c::'';:;:::;;;;:
                                       c0d:okkkxxdc:;:oOd:ddc:,;cxx:,'...                                                         ...'c::'',:clc::;,'.
                                      'k0kxxd:'';;....'oOcc:...';ldo:,',:;,.                                                    ....'':cc,;clc::;:clll
                                     'c0Od,;'..',:';,''cOc;..'';clc:,,;,;;:ll:'.                                               .....'.:c:,,,,'',;:clc:
                                    .;d0Oc';,..'cc'',;:oOd'.,;cool:;'''.,;;:cclcc;'.                                          .......,;c;.'..,,;:ccc::
                                   .:OK0xl::,..... ...,kxcclolloc:colc;,..,'......';;'.                                       .......,;:,'..,,,,,;;:::
                                .:ldkOOkdc:'....   .. 'kl,:c,,:;'',;lodol:,..  .... .,,;'.                                    .....',,,;,,.',,'',,;llc
                              .od;  .cOkoc:.....     .cdcl:. .,.    ...'cddl;,..  ..  .',,'.                                  .....,,,.,;,.'',,'',cc:;
                                     okdllc'....   ...dldl. ...          .lxo:;;,....  ..'',.                                 .'..',,'..,,.'.'''',::;,
                                    .xxlcox;...    ..cxxxl,...            .odo:',;;,'..  .',,'.                               .''.'',,..,,':,''',;;;;'
                                    lxxocodl,.. .:,;dkxkkxdl'..            .,cl; ..,::;,. ..,;'.                              .'''''';'.',,:c:;;:;;,,.
                                   :xxkxollc;...okOOdxxxxkkk;..               ..    .'cc:,...,:,'.                             .''.'.,;,,;;:lcc::;;;,.
                                .'lxxxkkxolc;'..:O0Oxxddxxl:'..               ...     .';::,..,;:'                              .'.''';::;;,:lllcccc;'
                              .;odddddxxdollc;'...;ll:,''..',..              ..''.       .;lc,',;:'                             .''',',;,,;;';:c;clc;,
                           .,oddxxxdollccclloo:... ..... ...,'..    ...........'::'.      ..:dc',:;.                             .''',,''',;;',ccc:;,;
                         .cxOkdoddoolc;;:cclodl:............'''.................';c;..    .  'd:,;c,.                             .,;;,...',c::cc:,,,c
                       .:dddxdlc;...;:,,:lclllc;......'.....',''.................',,;..   .   .d:;::.                              .,;.  ..';;,;:;;;:o
                       ckxollc::....:;,;;;:;;;,;,......'.....,,,..........''''.....',,..       'd::c'                         ....';,......'';:,'',;ld
                      ..:c:,,,;;...,c;;::::;,,;:;............';;'........'',,,,.....','.     .. :occ,  .........            ....',:l:,''',,'',:,...;lo
                    ...............::;::;;;;'';:;'''..........,c;........',,;,'''.....'...   ....lcl:..','''''''''.;l:'..  ..',,;;;;::;,,''',;,,'',:oo
                    ..............'l:::::'.,,,:c:;,,'.....',,',:c,.......',;;;,..................clll:lolc::cc:;,';looo;...,,'.':lc:,c:,,;::;:,:::ccod
                   .....''''......:occcc;,..'ccc::,'.......'''':lc,.....',;;;:;,'.............. .,ddxo:,'......',:cll;,;cccc:;codddxc::;,,,;clllcclcoo
                   .....',,,'....;ddollc,'.',,;c;;'....''...'',;cl:'....'';::c:;;,'..............'xxo;''.... ....,lll:,:odddxdxdoloddoc;;:c:ccllcclloo
                 ......',,,,''..'lkxolc,..',;:::,'.''.',,;:cldxxxkkdoc:,'';:cc::;;,'.............;kx:','..........;cc;;clooooodlccccooolcccc:::ccclood
                 .....'',,,,,',;:oddoc;,'',;,;::;,:lolllloodkkOkxxddddxdl:;:c:::;;,;,'...'.......lko;,'......','..',;coooc::looolc:;:clol:::cloolloddd
                 ....'',;;,,;lolool:,;clllc;:lcclodolccloddxkOkocccc;;:lkxdl:;:;,'...','.''.....,dxc;,..',:c:;,,;cc:lolcc;;;,;:lll:;::ccl::clooddddddo
                 ....'',;;;cdc'';ldolc::;:olcldooolcccclodxOkxd:;,:c,'',okdddl;,''''.....',;,..'cxoc:;;:clllooollllloc;',,,''',coooolllclclooodooooocc
                 ....'',;;cxk:.';lddc,..':llloxdol:;;:ccldxOxlooc::c;,,,lkdooo,.,;,'...,,',;,,,,odlc:clollloool:;lllol:;,,;::::cccloooolooodolllllll::
                                                                                                                                   .,,;;..            
                                                                                                                                    ,;,;..            
                                           .;cl::;....                                                                              ':,;..            
                                         'd0kdc,,;:'....                                                                            ';';..            
                                        .O0dll:;,.';'.....                                                                          .,.;'.            
                                        '0kdll:;,,..;'...''.                                                                        .,.;'..           
                                        .0Oocc:;'''.',.....'                                                                         ,.;';.           
                                        .OOdoc:;,'...'.......                                                                        '';'.            
                                        .OOxdol;;............                                                                        .','             
                                        .OOkxoll;............                                                                        .'''             
                                        .00dl:;:,'..        .                                                                        .,''             
                                        ,0koool:'...                                                                                 .,''             
                                        ;0d:cokd:'...                                                                                 ,''....'........
                                        oOl,:coxoc;,'.. ......                                                                       .:;:',;;::::::;;,
                                       .Okc:cclxOkxkkkkdlcdkxdddl'.                                                                ..'c::.';:;::::;;;;
                                       ;0d:oxkkxxdc:::dOx:oxl:;;cxxc,'...                                                         ...'cc:'',:clc::;,'.
                                      'xKkxxdc,',;.....lOllc'..';ldd:,,,:;,.                                                    ....'.;lc,;:lc:;::clol
                                     .c00x;,,...,:,;,'':Ol;...';clc:,,;;,;:ll:'.                                               .....'.;cc',,,,,,;:cc::
                                     ;o0Oc';,..'cc'',;:lOd,.':clol:;'.'.',;:clllc;'.                                          .......,;c;.'.',;;:ccc::
                                    ;OK0klc;,.........'kkc:lllllc:col:;,'.,'......,;;'.                                       ......'';:,'..,,',,;;:::
                                .;ldkOOkdc:'....   .. .kl,:c;,:;'',;ldxdc;,... .... .,,;'.                                    .....',,',;,.',,''',;llc
                              .lxc. .cOkoc:.....      :xclc. .'.    ...,cddl;,..  ..  .',,'.                                  .....,,,.';,.'',,'',::::
                               .     lkxlll'....     .oooo' ...          .lxdc,;,....  ..'',.                                 .'..',,'..,,''.'''',;:;'
                                    .xkocox;....    .:xddl,'..            .odo;';,;,'..  .',,,.                               .''.'',,..',':,''',;;;;.
                                    :xkocoxo,.. .,,,lkxkxxdl'..            .,lo;...,::;,. ..,;'.                              .'''''';..',,cc:;;:;;,,.
                                   :xxkxoloc;.. lOO0xxxxxxkk;..               ..   ..,:c:,...,;,'.                             .''.'.,;,,;;:lcc::;;:;.
                                 .cxxxkkxooc;'. :O0Oxdxdxxo:,..               ..      .';c:,..,;:'                              .'.''';::;;,:lcccccc;'
                              .;ldddddxxdollc;'..':llc;,,..',..              ..''.       .;lc,',;:'.                            .''','';;,;;';c:;clc;,
                           ..lxdxxxdoolccclloo:......... ...,'..    ...........'::'.      ..:dc',:;.                             .''',,''',;:,,:cc:;,,
                         .:okkdoddoolc:;:cclodl:............'''.................';c;.       .'oc',c;.                             .,;;,...';::;cc:,,':
                       .:dddxdll;...;:,,;lllloc;......''....',''.................',;;..       .o:,:c.                              .,;.   .';;;::;::;o
                       :kxollc::....:;,;;;::;;,:,......''....,,,..........''''.....',,..    .. .d::c,                         .....,,......'';:,'',;ld
                       .cl:;;;;;'..'c;;::::;,,;:;............';,'........'',,,,.....','...   .. ;ocl;.  ........            ....',:l:,'.',,'';:,..',lo
                    ...............;:;::;;;;,';:;'''..........,:;........',,;,,''....''...   ....lclc..'''''''''''.,l:...  ..'',,,,;::;,''''';;,''';lo
                    ..............'l:::;;,',,,;cc;,,'.....',,',:c,.......,,;;,,'.................:olo:lolccccc:;,,,looo;...','.':lcc;:c;,;::;;,;::::od
                   .....''''......;occcc:'..,cc:c:;'.......'''':cc,.....',;;;;;,'.............. .'doxoc,'......';:cll:,;cccc:;coddxdl::;,,,;clllcclcoo
                   .....',,,'....,odollc,'.',,;:;;'....''...'',;cl:'....',;;:::;;,'...............xxd;...  . ....,cll:,:oddddxddolodddc;;;:::cclccoloo
                 ......',,,,''..'ckxolc;..',;::;,,.'...',;:cloxkxkkdlc;,',,:cc::;;;'.............,kxc,,,..........,ll;,:looooodlccccoolocccc:::ccclloo
                 .....'',,,,,'',:odddc;,'',;;;::;;;lolllloodkkOkkxddddxdl:;:c:::;;;,,'...'.......ckd;''......',...',;:lool::lloolc:;:cllo:::cllolloodd
                 ....'',;;,,;lolool:,;:cll::;cclcodolccloddxkOkocccc;;:lxxdoc;:;,'..'','..'.....,oxl;,..',:c:;,,;:c:clocc;;;;,:lll:;::ccl::clooddddddd
                 ....'',;;;coc,';ldollc:;coolldooolcccclodxOkxdc,,:c,'',lkdddl;,''''...'.',;'..':xoc:;;:clllllolllclol;',,,,'',clooolllclccooooooooolc
                 ....'',;;cxk:'';lddc;...;llloxdol:;;::cldxOxldoc::c;,,,lkolod;.''''...''',:;,''lxll:clolllodoc:;:cllc,;,,;;:::cclooooolodoodoollllcc:
                                                                                                                                    ',;;..            
                                                                                                                                    ';,:..            
                                           .:coc:;'...                                                                              ':,c'.            
                                         'd0kdc,',:,.....                                                                           .;';'..           
                                        .O0dll:,,'',,.....                                                                          .,.,,..           
                                        .0Odll:;,,'.,'...''.                                                                         ,.,,..           
                                        .OOoll:;'''.',.....'.                                                                        ,',,,.           
                                        .kOdol:;;'...'.......                                                                        '',,.            
                                        .kOxdol:;...........                                                                         .,''             
                                        .kOkxolc:..........                                                                          .,.'             
                                        .0Odl:;:,'..        .                                                                        .,.'             
                                        .0kooooc'...                                                                                  ,',             
                                        ,0x::lxd:'...                                                                                 '',...'''.......
                                        lOl;:coxoc;,'..    ...                                                                       .;;:',;;;:cc:;;;,
                                       .kkc:c:lxOkxxkkkdlcokxddol'.                                                                .'':::',;:;:c:;;;;;
                                       ,0x:oxkkxkdcc::dkx:lxl:;;cxxc,'...                                                         ...':c:'',:llc::;,'.
                                      .o0kxxxc,',;.....lOllc,..',cxdc,',;;,.                                                    ....'.;lc,;clc:;;:clll
                                     .:O0x;;;...,:,;,'':Ol:...',:ccc;,;;;,:cc;'.                                               .....'.;cc,',,'',;:cc::
                                     ,lOOl';;..'cc'',;:cOx,.':clol;;.'''',;:clolc;'.                                          ......'',c;''.',;;;ccc::
                                    ,k00kl:;;..... ...'xkl:llllolccol:;,'.,'...'..,;,..                                       ......'',:;,..,'',,;;:::
                                .;cdOOOkdl:,....   .. .xo,;c;,::,',:loxdc;,... .... .,,,'.                                    .....',,',,,.',,''',;clc
                               cxl. .:Okoc:'....      ;xccl. .'.    ...,cddl;'.. ...  .',,'.                                  .....,,,.';,.'',,'',:::;
                               ..    ckxlll'....   ...oooo,....          .lxoc,,,....  ..'',.                                 .'..'','..,,',.'''',::;,
                                    .dkocox;....   ..;kddo'...            .ldo:';;;,'..  .',,,.                               .''.'','..',';'''',;;;;'
                                    ;xxocldo,.. .,''ckkxxkdl'..            .,lo:...,::;,. ..,;'..                             .''.''';..',;cc:;;:;;,;.
                                   ,xxkxoloc;.. ckkOdxxxxkkk:..              ...    .,:c:;...,;,'.                             .''.'.,;,,;;:lcc:::;;;.
                                 .:xxxkkxooc;'. :O0Oxxxdxxoc,..               ...   . .';c:,..,;:,.                             .'.''.;:;;;;:lcccccl:'
                              .,ldddddxxdollc;'..'cooc;,,,.',..             ....'.       .;lc,',;:,.                            .'.','',;,;,,;c:;cll:'
                            .cdddxxdoolcllcloo:... ..... ...,'..    ............::'.       .cdc',;;'                             .''',,''',;:,,:cc:;,,
                         .,lkkddoodool;;:cclool:............'''.................';c;.       ..oc',:;.                             .,;;,..'';::;cc:,,':
                       .,oodxdol;'..::,,;ccllol:'.....''....','..................',;;..       .oc;:c'                              .,:.  ..';;;:::;:;o
                       :kxdolc::....;;,;;;:::;,;,......''....,,'..........''''.....',,..    .. .o:;c;.                        .....,,......'',:,'',;cd
                      ..llc;;;;;'..'c,;::::;,,;;;'...........';,'........'',,,,.....','...   .. ,o:c:.  .......             .....':l:'..',,'',:,..''lo
                    ...............;:;:;;;;;,,;:;'''..........,:;........',,;,,'''...''...   ....llcc...','''''''...c;...  ...''''';:;,'''''':;;''',lo
                    ..............'c:;:;;,',,,:cc;,,'.....'',,,:c,.......,,;;,,'............... .,lco:clcl:ccc:;,',looo;...',,'':lcc;:c:;;:;,;;;::::ld
                    ....''''......,lcccc:,..'cc:c:;''......'''':lc,.....',;;;;;,'.................ooxdc;'......',;:llc;;:::c:,:lodxxl;:;;;,;cccccclcoo
                   .....',,,'....'ldlllc,'.',,;c;;'....''...''',cl:'....',;;:::;;,'...............dxx:.'.........,cllc;;oddddxddooodddl;;;:::cclc:oooo
                 ......',,,,''...:kxolc;..',;;::,,..'..',;:cloxxkkxdlc:,'',:cc::;;,'.............'xkl,',..........,ll:,:lodooodoccccooolccccc::ccclloo
                 .....'',,,,,'';:oxxoc:;'',;;;;:;,;colllloodkkkkkxddddxdlc;:cc::;;;;,'...'.......:kx:,,.......,....,;:loolc:llooll:;:clllc::cclolloodd
                 ....'',;;,,;colool:;;:ccc:;;ccllooollcloodxkOkocclc;;clxxdoc:;:,''''','..'.....'oko;,'..,;c:;,,;:c::lllc;,;:;:lllc;;::ll:::cooddddddd
                 ....'',;;;coc'.;looclc::coolcdooolcccclodxOOxxc,,:c,',,lkxddl;,''''......,;'...;ddc:;,:clllloollllcll:'',;,'',cloooolclccloooddoooolc
                 ....'',;,cxk:'':oxdl:..';lollxdol:;;:clldxOxlddc::c;,,,ckoldd:.''''...''',:;,,'cxlo::ldooooddl:;::loc,,,';;:::cllooooollooodoolclllc:
                                                                                                                                    .;,:..            
                                                                                                                                    ';,:'.            
                                           ':loc:;,...                                                                              .c;:,..           
                                         'x0xoc,',:;.....                                                                           .;',,..           
                                        .OOdllc;,'',,......                                                                          ,.',..           
                                        .OOdllc;,,'.,,...''.                                                                         ''',..           
                                        .kOolcc;,''..,.....'.                                                                        ''','.           
                                         x0dol:;;'...'.......                                                                        .,.,.            
                                         x0xxdl:;...........                                                                         .,.'             
                                         x0kxolc:..........                                                                          .,.'             
                                        .kOdoc;;,,..        .                                                                         ,.,             
                                        .Okooooc,...                                                                                  '.,             
                                        ,0x::lddc'...                                                                                 '';..''''''..'''
                                        c0l,::oxoc;,'..                                                                              .;:c';;;;:cc:;;;,
                                        xOc:l:ldkkxxkkkdlcoxxddol'.                                                                ..':c:',;:;:c:;;;;;
                                       'Ok:lxxkxxxlc::oOkclxoc;;cdxc,'...                                                         ...':c:'';cllc::;,'.
                                      .o0kxxxl;',:.....cOdcc,''.,cxd:;',;;'.                                                    ....'.,lc;;:lc:;;:ccll
                                     .;k0x;;;...':,;,'';Oo:'...';clc;;,;;,;cc;'.                                               .......,l:,',,'',::cc::
                                     ,l0Ol',;..'cl'',;::Ox;.';:lol:;.','',;:clooc,..                                          .......,,c:'..',;;;ccc::
                                    .x00kl::,..... ...'dOo:ccllol::ol:,,'.,,...'.',;;..                                       ......'',:;,..,'',,;;:::
                                .'cdkOOOxc:,.....  .. .xo,;l:,::,,,:loxdc;,... .... .,,,'.                                    .....',,.,;,.',,''',:clc
                               :xo...:Okdc:'....      ,xccl' .'.    ...,cddl;'.. ...  .',,'.                                  .....,,,..;,.'',,'',:::;
                               ..    :kxlll'....   ...lolo,....          .lddc;,'....   .'',.                                 .'..',,'..,,''.'''',::;,
                                    .okdcox:.....  ..'xddo,...            .cdo:,,,,,...  ..',,.                               .'..'','..',,,,,,',;;;;'
                                    ,xxd:lxo,.. ..'':xkkxkol'..            .,ldc...,;:,'. ..,;'..                             .''.''';..',;:c:;;:;;,;.
                                   'dxkxlloc;'. :kOOddxxxkkk:..              ...    .,:c:;...':,'.                             .'..'.,;,,,;:lc::::;;;'
                                 .;xxxkkxooc;'..;O0Oxxxdxkdc,'.               ....   ..':::,..'::'.                             .'.'.';:;;;,:lccc:cl:'
                              .'cddddxxkxdllc;'..,cddl:;;,.','.             ....'.       .;cc,'';:,.                            .'.','',,,;,';c:;cll:'
                            .:dddxdddollllcloo:... ..... ...,'..    ............;:.        .:oc'';:'.                            .''',,''',;:,,:cc:;,,
                         .'ckkdodddool:;:cclool:............'''.................';l;.      . .oc',:;.                             .,;;,..'';::;cl:,;';
                        'looxdol:,.'::,,;ccllol:'.....''....',''.................',;;..    .  .lc,;l,                              .,;.  ..,;;;:::::;l
                       :kxdool::....;;,;;;::::,;,......''....,,'..........''''.....',;.      . .oc;::.                           ..','......',:;'';:cd
                      ..ooc:::::,..'c;,::::;,,;;;'...........';,'........'',,,,.....','...   .. 'occ:.  .......              ....';lc'...,,,,,;,..''cd
                    ...............,c,;:;;;,,,;:;'''..........,:;........',;;,,''....''...   ....clcc'..'''.........:;...  ....'...,::,'.'''.;;;''',cd
                    ...............c:;::;,',,,:cc;,,'.....'',,,:c,.......',;;,,'............... .'olocclllccccc;;,,cooo;....',',:clc;:c:,;;;,,,;::::cd
                    ....''''......,l::cc:,..,cc:c:;''......'''':lc,.....'';:;;;,'.................ooxdc;,'.....',;:loc:::;;::;:lodxxo:c:;,,;:ccclcclld
                   .....',,,'....'lolllc,'.',,;c;;'....''...''',:l:'....',;;:::;;,'...............lxx:'...   ....'cloc,;lddddxxdooodddl:;;:::cclcclooo
                 ......',,,,''...;xxoll:..',;;::,,.....',;::coxxkkkdlc;,'',:cc::;,,'..............dko,',..........,loc;;looddooolcccloolc:ccc::ccclloo
                 .....'',,,,''',;lxxolc;'',:;;;:;,,:lllcloodxkkkkxxxddxxl:;:cc:;::;;,....'.......:kxc','......'....;;;codoc:cloollc;:clllc::cclooloodd
                 ....'',;,,,;coloolc:;:ccc:;;ccllooollcloodxkOkdcclc;;clxxdoc:;;,'''',,'..'.....'lkd:,,..';c:;,,;:c::colc;,;:;:looc,;::coc::cloddddddd
                 ....'',;,;col,.;loocllc:coolldddolcccclodxOOxxc,,:c;,,,lkxddl:,'''......',,'...,dxl:;,;ccllllollcccllc'';,,,',clooollccllcoooddoooooc
                 ....'',;,:dk;..;lxdl:,'.,locckdol:;;:ccldxOklddc::c;',,ckdoox:'''''....'.,:;,'':docl:lddoloddl;,;:loc,';,;;:::ccloooolllooodooolllll:
                                                                                                                                    ';,c'.            
                                                                                                                                    .;,c,.            
                                           'clol::,....                                                                             .:;;:..           
                                         'x0xoc,'';,.....                                                                           .,,';..           
                                        .O0dlcc;,'.',......                                                                          ,'.,..           
                                        .kOdllc;,,'.',....'.                                                                         ',.;..           
                                         x0dlcc;,''..,.....'.                                                                        .,.,'.           
                                         d0xolc;;'...........                                                                        .;.,..           
                                         dOkxdo:;'...........                                                                        .,.,             
                                         d0Oxolc:..........                                                                           ,.,             
                                        .k0xo::;,,..        .                                                                         ,.,             
                                        .kOolodl'...                                                                                  '.,             
                                        '0k::cdxl,...                                                                                 '',..',,''''''''
                                        :0o,::lxoc;,'..                                                                              .;::',;;;::c:;;;,
                                        dOc:l:cdkxxxxxxolcldxdool,.                                                                .'';c:',;;;:c:;,;;;
                                       .Ok:lxxkkkxolccoOkccxoc:;cdxc,'...                                                         ...';l:,';cllc::;;'.
                                      .l0kxxxl;'';.....cOdcl,''.,cddc;'';;'.                                                    ....'.'ll;;ccc:;;:clll
                                     .;k0k;,;...';,;,'',kd:,...';clc;,;;;;;cc;.                                                .....'.,ll,'','',::cc::
                                     'cOOo',;...:l''';::kk:..;:clo:;'','',;;coooc,..                                          .......,'l:,'.',;;;ccc:;
                                    .d0Kko::;..... ...'oOo:clllolc:ll:,'''',...''',;;..                                       ......''':;,..,'',,;;:::
                                 .:ok0OOxl:,.....  .. .dd,,cc;::,,;:ldxdc,,... .... .,,,'.                                    .....',,.,;,.',,''',:llc
                               ;xd'..:kxdc:'....      .xlcl' .'.    ...;cddl;'..  ..  .',,'.                                  .....,,,..;,.'',,'',:::;
                               ..    ;kxlll'....   .. cdoo,. ..          .lddc;,'.. .   .'',.                                 .'..',,'..,,''.''.''::;,
                                     okdclx:....   ...dddo,'..            .cdo:,,,,,...  ..',,.                               .'..'','..',,,,,,',;:;;'
                                    'xxdclxo,..  ...;xxkkkol'..            .,ooc...,;;,'.  .,;'..                             .''.''';..',;:c:;;::;,;'
                                   .dxxxoloc;'. ;xkkxxxxxkkkc..              ....   .,:c:,...';,'.                             ....'.,;,,;;:c:::::;;;'
                                 .,dxxkkxooc;'..;O0Okdddxkxl;'.               ..      .':::;..';:,.                            .''.'.';:;;,,;lcccccl:'
                              .':odddxxkxdolc;'..,lddoc:;;'',..             ....'.       .;cc,'',c,.                            .'.'''',;,;;';c:;cll:,
                            .;oddddddollllcloo:.........  ..,'...   ............;:.        .:oc'';:'.                            .''',,,'',;;,,:cc::,'
                         ..:xkdoddddol:;:cclodl:'...........'''.................';c;.      . .ll',;;.                             .,,,,'..',::;cl:,,,;
                        .codxdooc;',::;,;lcclol:'.....''....','..................',:,..    .  .ll,;c,.                             .,:'. ..';:;:c:;:;c
                       ;kxooolc:....;:,,;:::::;;,......''....,,'..........''''.....',;..       .ll;::.                            ..,'......',:,'';::o
                      .'dolc:::c,...c;;::::;,,;;;'...........';,'........'',,,'.....',,..    .. .d::c.  .......              ....';lc,...,,,,;;,..',:o
                    .....'.........;c,;c:;;;,,;:;'''..........,;;........',,;;,''....',..    ..  :lcl'...''.........;;...   .......,;:,'.'''.;;;,''':o
                    ...............:c;::;,',,';cc;;,''....'',,,:l,.......',;;;,''.................olocclclc:ccc;,,':odl;.....,,,;ccc::::;;:;,,,,::::cd
                    ....''''......'l::cc:,..':c:c:;''......'''';lc,.....'';:;;;'............... ..lodxl:,'.....',;:col:::,;;:;;cooxdo:::;,;;:cccccclld
                   .....',,,'.....:dlclc:'.',;;c;;,....''...''',cl:'....',;;:::;,,'...............ckxc.....   ...'cloc;;cdddddxdoooddol:;;;::clll:looo
                 ......',,,,''...;xxoll:..',;;::;,.....',,::codxkkxdlc:,'',:cc::;,,'..............oOd;,,..........,col;;coddddoolcclloooc:cccc::c:cloo
                 .....'',,,,,'',;lxxolc;'',::::::;,:llccllodxkOkkxxxddxxl:::cc:;::;;,....'.......;xkl','......',...,;;:ldocccloollc:;clllc::cclooooodd
                 ....'',;,,,;coooool::::cc;,,:cccloolclloodxkOkdcclc::clxkdoc:::;,''',,'..'......cxxc,,..',::;,,;:c:;:loc;',;:clolc;;::coc::clodoodddd
                 ....'',;,;:ol,';lolccll:loolldddolcccclodkOOxxc,,:c;,,,lkxddl:,'''.......,,'...,lxl:;,,:cllllolllccllc,',,;,',:looollccllcoooddoooooc
                 ....'',;,;xk;..;oxdoc,'',locckdll:;;:ccloxOklddc::c;,,,ckdlod:''','.....',;;,'';odll;loooooddl:,;;coc;.,;;;::cccloooolllooddooolllll:
                                                                                                                                    .;,c,.            
                                               ..                                                                                   .;,:;..           
                                          .,lodl::,'...                                                                             .;:,:..           
                                         ,kOxoc,'',;.....                                                                           .;;':..           
                                        .O0dlcc;,,.',......                                                                          ''.;..           
                                        .xOdllc;';'.',....'.                                                                         .,.;..           
                                         d0dllc;,''..,.....'.                                                                        .;.;''           
                                         o0xolc;;,...'.......                                                                        .;.,..           
                                         o0kxdoc:'...........                                                                         ;.,             
                                         oKOxolcc..........                                                                           ,.,             
                                         x0xoc:;,,..                                                                                  '',.            
                                        .kOdoodl,...                                                                                  '',.            
                                        .Ok:::oxl,...                                                                                 .,;..',,,','''''
                                        ;0o,::cxdc;,'..                                                                              .;::,,;;;;:cc;;;,
                                        oOc:lccokxxxxxxdlcldddooc,.                                                                .'';lc',;;;:c;,,,,;
                                       .kkclxxkkkxolccokkccxdc:;cdxc,...                                                         ...'',lc,';cllc:c:;,'
                                      .:0Oxxxo;'';.....:kxcl;''.,:dxc;,,,,'.                                                    ......'ll;,:c::;;:ccll
                                     .;d0k:,;...':,;,'''xxc,...';:ll:,,;;;;:c;.                                                .......'ol,'','',::cc:;
                                     ':OOd',:..':l'.';:;kk:..,:cloc;'.,'',;;coooc,..                                          ......',,c:,'.',;;;ccc:;
                                    .d0KOo::;..... ...'oOdcclllll::ll:,'''','..''',;,..                                       ......'',,;;..,'',,,;:::
                                 .;oxOOOxl:,.....  .. .dd;,cc;:c;,;:ldxdc,,'.. ......,;,'.                                    .....',,.';,.',,''',:llc
                               ,dx;..:kkdcc'....    ...xl:c,..',   ...';lddl;'..  ..  .'','.                                  .....,,,..,,.'.,''',:::;
                               ...   ,kkoll,....    . ;dlo: ....         .cddc;,'.. ..  .'',..                                .'..',,...',,'.''.'';:;,
                                     lkxclxc.....  ...oddo;'..             :do:',;;'...  ..',,.                               .'..'','..',;,',,',;;;;'
                                    .xxdclxo;..  ...,dkxxkoc'..             ;ooc'.',;;,'.  .,;'..                             .''.''';...,;:c:;;::;,;'
                                   .dxxxlloc;'. ,dkxxxxxxxkkl..              ..'.   .,:::,. ..;,'.                             ....'.,;,,;;:c::::;;:;'
                                 .,dxxkkxooc;'..;k00kxxdxxxo;'.               .       .':c:;..',:,.                            .''.'.';:;;;;;lcccccl:'
                               .;odddxxkxdolc;'..;oxxdlc::'','.             ....'.       .;cc,'',:,.                            .'.'''',,';;,;c:;:ll:,
                             ,oddxxddolllllllo:... ..'......,'...   ............,:.        .:ol,';:,.                            .''',,,'',;:,,:cc::,'
                          .;oxxdddddol:;:cclodl:'. .........'''.................';c;.      . .lo',::'                             .',,,'..',::;:lc;,,,
                        .:odkxooc;,,:c;,;lccloo:'......'.....,'..................',:,..    .  .ll,,c;.                             .,;'. ..';:;:c:::;c
                       ,xxooolc:'...,:,;;:::::;;,......''....,,'..........''''.....',;..    .  .lc;::.                            ..,'......',:;'';::o
                       ,ddlccccc,...c;,::::;;;;;;'............,,'........'',,,'.....',,..    .. .oc:c'  .......              ....';cc,.'',,,';;,...,;o
                    .....''........,c,;::;;,,,;:;'''..........,;;........',,;;,''....',..    ..  ,ocl,....'.........,,. .   .......';;,...''.;,;,''':o
                    ...............::;::;,,,,';:c;;,,'....'',,,;l,.......',;;;,''.................llllclclc::cc;,,';odl:.....',,;::c::::;;:;,,,,::::co
                    ....''''......'l:::::,..':c:cc;,'......''',;cc,.....'';:;;;'..................:odxl:,,.....';;;col:::,,;::;cooxxd;cc;,;;:cccccclld
                   .....',,,'.....;dlccl:'.',;;c:;,'....'...'''':l:,....',;;:::;,,'............  .;kxo'....   ...':loc;;coddddxdoooddoo:;::::clll:looo
                 ......',,,,''...,dxoll:'.',;;::;,.....'',;;:ldxkkxdlc:,'',:ccc:;,'...............cOx:','.........,coo;,codddooolcclooooc::ccc::c:cloo
                 .....'',,,,''',;lkxolc:'',::;:::,,:lllcllodkkOkkxxxddxdoc::cc::;;;,,............,dOo,',......',...,;;:lddlc:looolc::clllcc::ccloooodd
                 ....'',;,,,;cooooolc:::c:;,,:clcldolccloodxkOOxcclc::clxxddl:::;,''',,'..'......cxxl,,...,::;,,,;cc;;lll:,',:clolc;;::cll::clodoodddd
                 ....',,,,;:ol,';lol:cllccoocldddollccclodkOOxdl;,:c;,',ckxdxl:;''........','...'lxd:;,,:clllloollc:col;',,;;',:loooolclllcoooddddoool
                 ....',,,;;dk;..;odxol;,',ooccxdll:;;:ccloxOkoodc::c;,,,ckxoddl,'.'''....'';;,.',oxlc;:odddoddl:,,;:ol;'',;:::cccloooolllolddooooolllc
                                                                                                                                    .,,;;..           
                                               ..                                                                                   .,,,:..           
                                          .;oddl::;'...                                                                              ,:.:..           
                                         ,kOxlc,'',:'.....                                                                           ,;':..           
                                        .k0xlc::;,'.,'...'.                                                                          .,.;..           
                                         d0xlcc;,,'..,......                                                                         .;.;..           
                                         l0xlcc;,''..,'......                                                                        .;.;.,           
                                         cKxolc;;,...'........                                                                        ;.;..           
                                         c0kxxol:'...........                                                                         ,.,.            
                                         cKOxolcc'....  ....                                                                          '''.            
                                         o0xol::;''.                                                                                  .,'.            
                                         dOdlldl;...                                                                                  .,'.            
                                        .kk:;:oko;'..                                                                                 .;;'.',,,;;,,,,'
                                        ,0o,;:cddc;;'..                                                                              .,c:;,;;,;:c:;;;,
                                        c0l:cccokxdddxdocccodoooc,.                                                                .'',lc,,;;;:c;,,,;;
                                        xOccdxxkxkdolloOklcxdlc:coxc,...                                                         ....''cc,':cllc:c:;,'
                                      .,OOxxxo:,':.....;kkcl;'..':oxl:,,,,'.                                                    .......co:,:c:;,;:clll
                                      ,o0Oc,;...':,;;,''dkc,....,:ll:,;;;;;::;.                                                .....'''ll;',,'',::cc:;
                                     .;kOx,,;...;l,.';:,xOc..,;cooc;'.,'.,;;clooc,.                                           ......',,::,'.',;;;ccc:;
                                     lOKOoc:;..... ...'cOxc:cccll::ll:,.'',,'..'',;:,..                                       ......'',,;;..,'',,,;:c:
                                 .,lx000kl:,.....   . .cx:,:c::c;;;:ldxdc'''.  ......,;,..                                    .....'',.';,.',,''',:ccc
                               .lkc.':xkdcc,.....   ...do:c:..',. ....':ldol;...  ..  .'','.                                  .....,,,..,;.'.,''',:::;
                               .'.   .xkoco;.....   . 'dllc. ...        ..:ddc;,'.. ..  .'','.                                ....',,...';,'.''.',::;,
                                     :kxllxc.....  .. lddd;'..             ,do:,,,,,...  ..',,'                               .''.'','..',;,,,,,;,;;:'
                                    .dxxccxo;..  ....lkxkkoc'..            .,oo:'.',;;,..  .,;'..                             .'..'',;...,;:c:;;::;';'
                                   .lxxkoloc;'. .oxddxxxxxkko..              .',.   .,:::,. ..,,'.                             ...''.,;,,;;:cc::::;;;'
                                  .lxxkkkooc;'..,k00kxxdxkxo:'.                ..     .'::;,...;:,.                            .''.'.';:;;;;;lc:ccclc,
                               .,codxxxkkdolc;'..;dkkdoccc;','..            ......       .;c:;.',:,.                            .'.'''',;,;,,;::,:ll:,
                             'lddddddoollllllo:... .''......,'...   ............,;.        .:ol,',:;.                            .''',,,'.,;;'':cc::,'
                          .'lkxdddddolc::cclodo:............''..................';c,.      . .lo',;c,.                            .,,,,'..',::;:cc;,,,
                        .,ldkxdol:;;:c;,:cccldoc,......'.....,''.................';:,..    .  .:o,,::.                             .,:,. ..';:;::::c;:
                       'dxooolc:'...,:,,;::ccc:;,......''....,,'..........'''......',;..    .. .:l;;c.                             .''......',:;,';::l
                       ,xxoccccc,...:;,;:::;;;,;;'............,,'........'',,,'.....',,..    .. .lc::,.  ......              ....';cc,.'.',,,;;,'..,;l
                    .....,''.......'c;;::;;;,,;;;,''..........,;;........',,;;,''....','...  ..  .o:c;....'.........''.     .......';:,...''';;,,''';o
                    ......''.......;c;;:;;,,;,;:c;;,,'....'',,,:c,.......',;;;,''.............. ..cllo:cccc::cc;,,,,ldl;......',,;::;;:;,,;,,',,:::;:o
                    ....''''.......cc::::,..':lccc;,'......''',;cc,.....'';::;,,...............  .;ddkoc;,''''',;;,colcc:''';:::lodxd::lc,;::::ccc:llo
                   .....',,,'.....,olcclc,.',;:::;,'...''...'''':l:,....',;;:::;,''...............'xxd,....   ...':cll:;coodddxxooodddoc;::;::cllccolo
                 ......',,,,''...'odoll:'.',;;::;,......',;;;ldxxkxdlc;,',,:ccc:;,'...............:kxl',,.........':odc,;loddoodllcclooll::cccc:c:cllo
                 .....'',,,,,'.',ckxool:'',cc::::,,:llccllodkkOOxxxxddxdlc::cc:;;;;;,....'.......,okx;'''.....''...';::looll:coollc::clllccc:ccloloodd
                 ....'',;,,,,:ooloodlc::::;,';:lccoolllloooxkOOxlcll::coxxddoc::;,,'','...'......;okd,,'..';c;;,,;cc:;cllc,'';clool;,;ccll::ccodoooddd
                 ....'',;;;:ll;',col:cllllolcloddoollc:lodxOOxxo;,;c;,',cxxdxl:;,'.....'..',....'cdxc;;,;:cllllollcccll:,'',;,,:loooolcclocloooddddool
                 ....'',;;;dk;.';lddllc:',ooccxdol:;;:cllodkkoodc::c:,,,;xxoddl,..''.....'';,'.',lddc::cooooddl:,',:olc'.',::::clloooocclolddddoooollc
                                                                                                                                    .,,,:..           
                                              .....                                                                                  ,,':..           
                                          .:odxl::;'....                                                                             ':':..           
                                         ,kOxlc,''';,.....                                                                           .;';..           
                                        .x0xlcc:;,'.,'.....                                                                          .,.;..           
                                         o0xl:c:,,'..,.......                                                                         ;.;..           
                                         cKxocc:,'''..'.....'                                                                         ;';',           
                                         :Kkdlc;;,............                                                                        ,.,..           
                                         :0kxxdlc'..........                                                                          ','.            
                                         :0Oxol:c,..... ....                                                                          .,'.            
                                         l0xolc:;'..         .                                                                        .;'.            
                                         o0dlldd;....                                                                                 .;'.            
                                        .kk:::lko;'..                                                                                 .:,,.',,,;;,,,,,
                                        '0d,;:cddc;;'..                                                                              .'c::,;;;;:c:;,,,
                                        :0l:lc:lxkdddddocccodoooc,.                                                                .'''cc;,;;;:c,',,,;
                                        o0l:dxxkkOdoolokOo:dxlc:codc,'..                                                         ....'.:c,':cllcccc:;'
                                       'kOxxkd:,':.....,kkcl:,..,:oxl:,,,''.                                                    .......co:,:::;;;::cll
                                      'l0Ol,:'..':,;;'''oOc;....,:llc;,,;;;::,.                                                .....'''cl,.,''',:ccc::
                                     .;dOx',:'..;l'.';;,oOl..';cloc;'.,''',;:loo:'.                                           ......',';;,..',;;;cc:::
                                     :O0Od:c;..... ....cOkl:cccllc:cl:,.''','..,,',:,..                                       ......'''',;.','',,,;:c:
                                  'cdOOOko:;.....   .  ck:,:c::c;,;:ldxoc'.'.  ......,;,..                                    .....',,..;,.',,''',:ccc
                               .cxc.';xkxl:,.....   .. od:c:...,. ....':ldol;...  ..  .'','.                                  ....',,,..,,..',''',::;;
                               .,.   .xkocl;.....   . .dllc. ...        ..cddc;,'.. ..  ..',..                                ....'',...',,'.''.',;::,
                                     ;kkllxc....    ..cdoo;...             'oo:,,,,'...  ..',,'                               .'..'','..'';,,,,,;,;;:'
                                     oxxccxo;..  ....ckxxxo:'..             ,oo:'.',;,'..  .',''.                             .'..'',;...,;:c:;;::;';'
                                   .cxxkolol;'. .lddxxxxxxkko..              .,,'  ..':::,. ..,;'.                             ...'..,;,';;:cc::::;::'
                                  .cxxkkkooc;,..'k00kxxddxkdc'.                       .'::;,...;:,.                            .''.'..,;;;;;:lc:ccclc,
                               .':oddxxkkdolc;'..:dkkdolcl:',...             . ...       .;c:,.',:;.                            .'.'''',;,;,,;::,;llc,
                             .cdxddddooloollll:'.. .''......,'...   ............,;.        .:ll,',:,.                            .''',,,'.,;;'':cc::,'
                          ..cxxddddddlc::cclooo:............'''.................';c,.      ...co,';c,.                            .,,,''..',::;:cc;,,'
                        .,ldkxdooc;;:c;,;ccclooc,......'.....,''.................',:,..        :o',;:.                             .,:,. ..';;;::c:c:;
                       'oxoodocc'...':,,;::ccl:;,......''....','..........'''......',,..     .  ;o;,:'                             .',......'';:,';::l
                       ,xxoccccc;...;;,;:::;;,,;;'............,,'........'',,,,'....'',..    ..  cl;:;.  ......              .....,cc,.'.',,,;;,'..,,l
                    ....';,'''''...'c;;::;;,,,;;;,''..........,;;........',,;;,''....','...  ... .oc::............. .'.     .......';:,'..''.;:,,''',l
                    .....'''.......;c;:::;,;;,;:c:;,,'....'',,,;c,.......',;;;,''......'..........:oco:cccc::::;,,,'ldl;.......',;;;;;:;,,,,,',,;::;:o
                    ....''''.......c:;:::,..';lcc:;,'......'''';lc;.....'';::;;,..................'dokoc;;,'''',,;,:oocl:'..,;::lodxdc:cc;;::::ccc:cco
                   .....',,,'.....,lccccc,..,;:::;,'....'...'''':l:'.....';:;::;,'.................dkx;..........':cll:;coooddxxolododoc:;:;;:cllccolo
                 ......',,,,''....ldollc,.',,;::;,.....'',;;;cddxkkdlc;,'',::cc;;,'............. .;xko,''.........':odl,;loddoodllccloool:;:ccc:c::llo
                 .....'',,,,,'.',cxxdllc'.,cc::c:,';llc:clldkkOOkxxxddxdlc::ccc:;;;;,....'.......,lxkc'''......'...,::;:odolccoollc::clllc:cc:cloooodd
                 ....'',,,,,,:ooooddoc:;;:;,';:cccooollloooxkOOxl:cl::coxxddlc::;,,'','...'......;lkd;',...;c;;,,;cc:;;loc,,',coool:,;:cll::cclooooddx
                 ....'',;;;:ll;';col:cllllolclododollc:lodxOOxxo;,;c:,',cxxdxo:;,'.....'..',....':oxl;;,,;cllclollcccclc,''',;,:loooolcclocloooddddooo
                 ....'',;,,ox:..':ddolc:',oolcdxolc;;:cllodOkoodc::c:,',;xdllxo;'.''.....'';,'.',:ddc:;cooodddoc,',;loc,..,;::cclloooocclolddddolllllc
                                                                                                                                     ',,:..           
                                              .....                                                                                  ';.:..           
                                          .:dxxl:::,....                                                                             .:,:..           
                                         ,OOdcc;''';,.....                                                                           .:';'.           
                                        .xKxlcc:;,'.',......                                                                         .,.,..           
                                         lKxl:c;,,''.,'....'.                                                                         ;.,..           
                                         :Kxoll;,,''..,.....'.                                                                        ,',',           
                                         ,Kkdoc;;,............                                                                        ,,,'.           
                                         ,0kkxdlc,...........                                                                         .;'.            
                                         ;KOxolcc,....  ....                                                                          .;'.            
                                         c0kooc:;''.         .                                                                        .:'.            
                                         l0xccod:'...                                                                                  ;'.           .
                                         xOc;:ckd:'..                                                                                  ;,,.,;,;;;;,,,,
                                        .Od,;:codc;;'..                                                                              ..c::,;;;;:c:;;;,
                                        ;0o:cc:lxkodddooc:codoolc,.                                                                .''':c;,;::::,,,,,,
                                        l0l:dxxkkkddoloOOo:dxlc:codc,...                                                         ....'.:l;,:lllc:c:;;'
                                       .kOxxkdc,':'....,kOllc,'.':oxo;,,,''.                                                    ....'..:l:,::;;,,:ccll
                                      'c0Ol,:'...:,;;'''oOc;....':lll;;,;;;::,.                                                .....''':l;.,''',:ccc:;
                                     .,dOx,':'..;l,.';:,o0o..';:lol;,.,''',;:loo:'.                                           ......',,;;,'.';;,;cc:::
                                     ;k00d::;'.... ....:kko:cccllc:cl;,.'''','',,,;:,..                                       ......'''.,,..,,',',;::c
                                  .:oO0Oko:;'....   .. ;kc,;l:cl:;;:ldxoc'.'.  ......,;,..                                    .....',,..;,.',,''',cccc
                               .:xl'':xkxl:,.....   .. ld::c..',. ...',:ldol;...  ..  .'','.                                  ....',,'..,;'.',''',::;;
                               .;'   .xkocl;.....   . .dlll. ...        ..:ddc;,... ..  .',,'.                                ....'',....;,'.'''',:::,
                                     ,kkocxl'...    . :doo:...             'ooc,,,,'...  ..',,'                               .'..'',....';;,,,,;;;;:'
                                     lkkccdd;...  ...:kxxxo:'..             ,ooc,.',;,'..  .',''.                             .'..'',;...,;c::;;::;';'
                                    :xxkolol:'. .cdooxxxxxkkd..              .,;,. ..,:::,. ..,;..                             ...'..,,,,;;ccc::::;:;,
                                  .:xxkkkdoc;,..'x00Oxxddxkxl,.                  .    .'::;,...;:,.                            .''.'.',;;,;,:cc:::clc,
                                .:oddxxkkxolc;'..:xOkxdlllc,,...              ....       .;c;,.',:;'                            .'.'''',;,;;,,:c,;llc;
                             .:oddddddoooollll:'....,,'.....,'...  .............,;.        .:ll,',:;.                            .''',,,'.,;;'':ccc:;'
                           .;xxddddddlc::cclooo:............''..................';c'.       ..cd,';:;.                            .',,''..',::::cc;,,'
                         'cdkxdooc::cc;,;ccclooc,......'.....,''.................';:,..     .  :d,,;:.                             .,:,. ..';;:::c:c:;
                       .oxdddolc,...':,,;:ccclc:,......''....','..........'''.....'',;'.       .;o;,:,.                            .',......'';;,';ccc
                       ,kxollccc;...;;,;:::;;,,;;'............,,'........'',,,,'....'',..    ..  :l;::.   ....                ....,cc,.'.',,,;;,'..,;c
                     ...,;,'''''...'c;;::;;,,,;;;,''.'........,;;........',,;;;''....','...  ... .occc'...........  .'.     .......';:,'..'..,;,,'','l
                    ......'''......,c,::;;,;;,;:c:;;,'....'',,,;c,.......',;;;;,'......'..........;ococ:c:c::::;,,,'cdl;... ....',,;;;:,,',,,',,;::;;l
                    ....'''''......:c;::;,''';ccc:;,''.....''',;lc;.....'';::;,'...................ooxdl:;;,''',;;,;oocl:'..',::lodxxl:cc:::::::cl::co
                   .....',,,'.....'llcccc,..,;::c;,'........'''':l:,.....';:;::;,'.................okx:...........:cllc;:looddxxdlldodol:::;;:cllc:llo
                 ......',,,,''....cdlllc,.',;;:c;,......',;;;codxkxdl:;,'';::cc:;,'............. .,dxo;''...... ...:odl;;codddoolcclloool;::clc;:c:clo
                 .....'',,,,''.',:xxdocc,.,cc::c;,',llc:clodkOOOkxxxdxxdoc::ccc:;;;,'............'lxkc'''......'...':c::loolccoollc::clolc:cc:cloooood
                 ....'',;,,,,:looodxol:;;;;,';:cccooollloooxkOOxlccl::coxxddlc::;;,'','..........;lxx:',...,c:;,,,:c:;;lol;,,,coool:,;:lllc:cclddooodx
                 ....',,,;;;cl;';col:cllllolclododollcclodxOOxxo;,;c:,,,:xkxxo:;,'.....'..''.....;lxo;;,,;:lllllolc::clc,'''';,;loooolcccoccoodddddodo
                 ....',,,,,ld:'.':ddolcc,;oolcdxolc;;:cllodOOdodc::c:,,;;dkolxo;'........'',,...':dxlc::loddddo:,,,;col;.',,:c:clloodolccoloxddolllool
                                                                                                                                     ';,:..           
                                              .'....                                                                                 ';,:..           
                                          .cxxxl:::;'...                                                                             .:;;,.           
                                         ,0Odcc;,'',,......                                                                          .:,,,.           
                                         dKxlcc:;,'.',......                                                                          ;.''.           
                                         cKkl:c:,','.',....'.                                                                         ,'''..          
                                         ;Kkoll;,,''..,.....'.                                                                        ,,'',           
                                         '0kdol:;;....'.......                                                                        .;.,.           
                                         '0kkxdoc,.......... .                                                                        .:.'            
                                         ,KOxolc:;....  ....                                                                          .:.'            
                                         :0kool:;''.         .                                                                         ;''            
                                         c0xclod:'...                                                                                  ,''         ...
                                         d0c;:cxd:'...                                                                                 ,;;',;;;:;;,,,,
                                        .Ox,;::odl;;'..                                                                              ..cc:,;;,;:::;;;,
                                        ,0d;cl:lxxoooooo::clooolc,                                                                 .''':l;,;::::;,',,,
                                        cKo:dxxkkOxddookOocdxlcccodl,...                                                         ....'.;l;,:llccccc:;,
                                       .x0xxkxc,':'....,xOllc,''';oxl;;,,,'.                                                    .......;l:,::;;;;:cccl
                                      .cOOo,:,...:;;;,''cOl;....';col,,,;,;::,.                                                ......'';l,.,''';:ccc:;
                                     .,oOk;':,..;l,.';:,l0o..';:lol;,',,'',;:lol:'.                                           ......',,,;,..',,;;:c:::
                                     ,x0Od:::,.... ....:kOo:cccllc::l;,.''',,'',,,;:,..                                       ......'''.,;.','',,';:cc
                                  .;ok00Oo:;'....   ...,kl,:l:cl:;;:lddoc'.'.   .....,;,..                                    .....,,,..,;.',,''',cccc
                                ;do,,:xOxlc,.....   .  cd::c...,. ...',:ldol;...  ..  .'','.                                  ....',,,..,;'.',''.,c:;;
                               .:,.  .dkocl:.....   ...dlcl. ...        ..:ddc;,... ..  .',,'.                                ....'',....,,'.''.',::;,
                                     'xkocxl'...    . ,doo:...             'ooc;,,,'...  ..'','                               .'..'',....';;,,,,;;;;:'
                                     lxxlcdd:...    .,xxxxo:,..             ,ooc,.',;,'..  .',''.                             .'..'',;...,;c::;;::;,;'
                                    ;xxkolol:'. .;dooxxxxxkkd'.              .;:;. ..'::;,. ..,;'.                             ...'..,,,',;ccc::c:;::,
                                  .:xxkkkdoc;,..'x00Oxxxdxkxo,..              .  ..   .'::;,...,:,.                            .'..'.',;;,;,:cc::cclc,
                                .;lddxxkkxolc;'..:xOOxdolol;,'..              ....      .';c;;.',;;'.                           .'.'''',;,;;,,:c,;llc;
                             .;odxddddoooollll:'....,;'.....,'...  .............';.        .:ll,.,::.                            .''''','.,;;,';ccc:;'
                           .,dxddddddol::cclooo:............'''..................;c'.       ..:o,',c;.                            .',,,,...,::;;cc;,',
                         .:okkdoolcccc;,;ccclooc,......'.....,''.................',:,..       .;d,',:'.                            .,;;. ..';;;::c:c:,
                       .cxdodolc;....c,,;:ccclc:;......''....','..........'''......,,;'.        ,d;;:;.                             ';..  ..'';:,';cc:
                       ,kxollccc;...;:,;;;;;;,,;;'............,,'........'',,,,.....'','.    ..  ;o:::.   ....                ....':c,..'',,',;;'..,;:
                     ...,;;,,,,'....c;,:::;;,,;;;,''''........';;........',,;;;,'....','..   .. ..lccc'...........  ...     .......';:,'.....,;,,'.,,c
                    ......'''......,c;::;;,;;,;:c:;;,'....'',,,;c,.......',;;;;,'......'..........'ococ::::::::;,,,':dl,... ....'',,,;:,'',,,',,;;:;;l
                    ....'''''......;c;::;,''';cccc;,''.....'''';lc;.....'';::;,'...................ooxxl:;;,,,,,;;,,loll:'...,;:lodxxo:cc:::::;cccc:co
                   .....',,,'.....'cc:cc:;..',::c;,'........'''':l:,.....';::::;,'.................ckxl...........;cllc;clooodxxdllddodo::;;;:cllc:llo
                 ......',,,,''....:dllll,.'';;:c:,......',,,,codxkxdl:;,'';:::::;,''..............'oko:''..........:ooo;,cldddoolclllooll;;:clc::c:clo
                 .....'',,,,'..',;dkdolc,.,cl::c;,',clc:ccodkkOOkxxxdxxdoc;:ccc:;;;,'............'cdko,',......''..';:c:cooolcllllc::clolc:ccccclolood
                 ....'',;,,,,;loloxxol:;;;,,',;cccooollloooxkOOxlccl::coxxddoc:;;;,'','...'......;cdxc','..,::,,,,:::;;col;,,,:ooooc,;clllc:cclodooodx
                 ....',,,;,;cl;';clocclcllolccooodollcclodxOOxxd:,;c:,,,:xxxxo:;,'.....'...'.....;cdd:;;,;:llllloccc::cl;,''',;;coooolcccolclodddddddo
                 ....',,,,,ld:..':ooolcc;;lolcdxooc;;::lloxOOdodc:;::;,;;dkolxo:,.......''',,'..';lxo:c:loddddo:,,',col:'''';c:ccloodolccoodddoolloool
                                                                                                                                     ';,:..           
                                             ..'.....                                                                                .;,;'.           
                                          .lxkxl:::;'...                                                                             .:c,;..          
                                         ,OOdcc;,''',......                                                                          .:,',..          
                                         oKklcc:;,,..,......                                                                          ,'.'..          
                                         ;Kklcc:,,,..',....'.                                                                         ',.,..          
                                         'Kkolc:;,'...,.....'.                                                                        .;.,,.          
                                         .0Oddl:;;'...'.......                                                                        .:.'.           
                                         .OOkxdol;...........                                                                         .:.'            
                                         '0Oxol::,....   ...                                                                           ;''            
                                         ;0kool:;''..        .                                                                         ,''            
                                         :0xccodc'.'.                                                                                  ,''        ....
                                         o0c,:cxx:'...                                                                                 ,;;',;;;:;;;,,,
                                        .kx;,c:ldl:;,..                                                                              ..:c:,:;;;:::;;;,
                                        '0o;cl:ldkooooooc::lllolc,.                                                               ..''':c;';::::,,,,,,
                                        :Kd:dxxkkOxddodkOdcdkolccodl,...                                                         ....'.,c:,cllccccc:;,
                                       .d0xxkxc;.:'....,x0oll,''';oxl:,,,,'.                                                    .......,lc,;:;;;;:cccl
                                      .:OOo,:;...:;;;,''cOl:....';col;,,,,;::,.                                                ......'';l;',''',:cc::;
                                      ,c0k;':;..,l,..,:,c0o'..;:coo;,',,'',;;lol;'.                                           ......',,',,'.',,,;:c:::
                                     'x00x:::,....  ...:xOd::ccclc::l;'..''','',;;;:,..                                       ......'''.,;.'''',,,;:cc
                                  .,lO00Oo:;'....   .. ,ko,;lccl:;;:lddoc'.'.   .....,;,..                                    .....,,,..,;'',,''',cccc
                                ,oo;;:dOxlc,.....   .. :xc:c'..,. ...';clooc;..   ..  .'','.                                  ....',,,..,;,'',''',c:;;
                               .c;.   okdcl:.....   ...ooll. ...       ...:ddl;'... ..  .'','.                                ....'',....,,'.''.',:::,
                                     .xxocdl'...    . 'dooc...             'odc,',,'. .   .'','                               .'...',....';;,,,,;;;;:'
                                     :xklcdd:...    .'dxxxo;'..             'ooc,..,;,'..  .',''.                             .'..'',,...,;c:;;;::;,;'
                                    ,xxkolol:'.  ;ollxkxxxkkd'..             .;c:. ..,::;,. ..';'.                             ......,,,',;ccc::c:;::,
                                   ,dxkkxolc;,...xO0Oxxxdxkxo,..                      .':c:,...,;,.                            .'..'..,;;,;;::::;:clc,
                                .,cddxxkkxolc;'..cxOOxdoooo:;'..              ....      .';c:;.',;;'.                           .'.'''',;,,;,,::,;llc;
                             .;lddddddoooollll:'...';;,.....,'...  .............',.        .:lc,',;;'.                           .''''','.':;,';ccc:;'
                           .,oxddxxddoc::cllooo:............'''..................;c'.       ..:d,',:;.                            .'',,'...,::;;cc;,',
                         .;lkxdoollccc:;;ccclool;......'.....'''.................',:,.      . .,d;',:'                             .,;;. ..';,;::ccc;;
                       .cxoodolc;...'c;,;:cccll:,......''....','..........'''......,,;'.        ,o;;;;.                             ';.   ..'';:,,:ccc
                       ,kxdllccc;...,:,;:;;;;;,;;'............,,'........'',,,,.....'';'.    ... ,o:::.   ....                ....':c,...',,',;;'..,;:
                     ...;:;,,,,,'...:;,:::;;;,;:;,'''.........,;;........',;;;;,'....','..   ... .cl:c,...........   .       ......';:,'..''',:,,'.,,:
                    .....'''.......,c,;:;;;;;;;:c:;;,'....'',,,;c,.......',;;;;,'......'..........'dcol:::::;;:;,',';dl,... ......''',:,''',,'',,;:;,c
                    ....''''.......;c;:;;;,.';cccc;,''.....'''';lc;.....',;::;;,...................coxxl::;;;,,;;;',loll:'...',:lodxxoc::::::;;cccc:cl
                   .....',,,'.....'cc:ccc;..',:cc:,'........'''':l:,.....';::::;,'.................;xxo'.........';cllc;cllooddxdoldoodlc::;:::llccclo
                 ......',,,,''....;ollll,.',;;:c:,'.....',,,,:odxkxdl:;,',;::c::;,'...............'lkoc'...........;loo:,:ldxdoolccloooll:;:clc::c:cll
                 .....'',,,,'..'',dxollc,.'cl::c;,',:cc:clodkOOOkxxxdxxdoc:::cc:;;;,'........... .coxd,'''.....''..';cc:codolllllll::clllc::cccclolood
                 ....'',;,,,,;loloxxdl:;;,,,'';cccooolllooodkOOklcclc:coxxddolc;;;,,'''..........,clxl','..,::,,,,:::;;:oo:;,,:loooc,;clllcccclodooodd
                 ....',,,,,;cl:,;coocclcllll:cooodollcclodxOOxdd:,;c:;,,:xxxxo:;,'....','..'.....;cdd:;;,,;cllllllc:::cl:,'''';:looolllccllllodddddddd
                 ....',,,;,cx:..':lolccc:;ldlcdxooc::::lloxOOdodc:;c:;,,,dkooxo:,........'',,....;lxd::;clddddoc,,',:lo;,''',c::clooooocloodddoooooooo
                                                                                                                                     .;,:'.           
                                             .','....                                                                                .;,;,.           
                                          .lkkxc;::;'....                                                                            .;:;;.           
                                         ;OOdcc:,'..;......                                                                          .;:,;..          
                                         lKklcc:;,,.',......                                                                          ',.,..          
                                         ;Kkocc:,,,'.',....'.                                                                         .;.,..          
                                         .0Oooc:;,....,.....'.                                                                        .:.,,.          
                                         .0Oddlc;;'...'.......                                                                        .:.,..          
                                         .OOkxdol:............                                                                         ;''            
                                         .0Oxdl::;....   ....                                                                          ,''            
                                         '0kddlc;''.         .                                                                         ,''            
                                         ;0kcclxl,.'.                                                                                  ','        ....
                                         l0c,::dxc,...                                                                                 ':;',;::::;,,,,
                                        .kk;;c:ldl:;,..                                                                              .':c:,:;;;::;;,,,
                                        .0d;cl:cokooololc;:clool:,.                                                               ..''';c;';;:::,,,',,
                                        ;Kd:oxxkkkxxdddkkdcokolclodl,...                                                         ....'.'c:,cllccccc::,
                                       .o0xxkkl;':,....'d0oll,''';lxo:;,','.                                                    .......,o:,;;;,,;:cccl
                                      .;OOd,:;...:;;;,'':Oo:'...';coo:,,,;,;:,.                                                ......'',l;','',;:cc::;
                                      ,cOO:'::..,o,..,:,:0d'..,;:oo;,'','',;:col;..                                           ......',,',,'.',,,;:c:;:
                                     .dO0xc::;....  ...:d0d::ccclc::l;'..'',,',,;;;;'..                                       ......','.,;''''',,,;:cc
                                   'ck00Odc:'....   .. 'kd,;llclc;;:lodoc,.'..  .....,;,..                                    .....,,,..,;'',,''',cccc
                                'oo;;cdOxlc;.....    . ;xc;c'..,. ...';clooc;..   ..  .'','.                                  ....',,'..,;'.''''.,c:;;
                               .c:.   lkdcl:.....    ..locl' ...       ...:ddl;,... ..  .'','.                                ....'',....,;'..''',:::,
                                     .dkocdo'...     ..dddc....            'ldc,,;,.. .   .'','                               ''...',....';;,,,,;;;;:'
                                     ;kxlcdd:...    ..okxxo;'..             .ooc,.',,,'..  .',''.                             .'..'',,...';::;,;::;,;'
                                    .xxkolol:'.. 'lccdkxkxxxd'.              .;cc. ..':;;,. ..,,'.                             ......,,,',;:cc::c:;::,
                                   ,dxxkkolc;,...dO0Oxxxxxkkd;..                     ..,:::,...,;,..                           .......,;;,;;::::;:clc;
                                .'cddxkkkxolc;'..:k0Oxddooo:;'..               ...     ..':c:;..,;;,.                           .'.''.',;,;;,,::,;clc;
                              'cdxddddooddllll:'...'::;.....,'...  .............',.        .:lc,',;:'                            .'.''','.';;,';cc::;,
                            'lxddxxddolc:cclloo:'...........'''..................;:..       ..:o;',:;.                            .'',,'..',::;;cc;,',
                         .;lkkddoollll:;;ccclool;......'.....,'..................',:,.      ...,d;',:,.                            .,;;. ..';;;::c:c:;
                       .;ddoxdll;....:,';:cclll:,......''....','.........''''.....',,;'.     .  'o;,;:.                             .;'.  ..',;;,,;cc:
                       ,kxdlllcc;...,:,,:;;:;;;;;'............,,'........'',,,,'....'';'.    ..  'o;;c'   ....                .....;c,...',,',,;'..,;;
                     ...:c:;,,,,'...:;,:::;;;,;:;,'''.........';,........',;;;,'.....'',..       .:l:c;...........   .       ......';:;'..''',:,,'.,,:
                    .....'''.......'c,;:;;;;;;;:c:;;,''...'',,,;c,.......';;;;;,'......'.....  .. .lcll:::;:;;;,,,,',ol,... ......''',;,'.','.',,;;;,c
                    ....''''.......;c;:;;;,.';cc:c:,,'.....'''';lc;.....',;::;,'...................;odxlc:;;,;;;;;',cdol:'....':cldxxoc::::::;;:ccc:cl
                   .....',,,'......:c:c:c;..',::c:,'........'''':l:,.....';::::;,..................,dxd'..........;cloc:cllllodxxolddodlc:;;:::llc:clo
                 ......',,,,''....;olcll;.'';;:c:,'.....',,,,:lodkxdlc;,',;:::::;,'................ckdc'...........;loo:;clodddolc:oooool:;::lcc:c;cll
                 .....'',,,,'...',oxooll,.'cl:cc;;'':c::ccloxkOOkxxxdxxdoc:::cc:;;,,'.............:oxd:'''.....''..';clcclodollllllc:cllll::cccclolooo
                 ....'',;,,,,;coloxkdlc;;,,,'';cccloolllooodkOOkocclc:coxxddolc;;;;,,''..........,ccdo,'''.'::,,,,:::;,:loc;,,;lollc;;clllcccclodooodd
                 ....',,,,,;cl:,;coolcllllll::oddddolc:lodxOOxdd:;;c:,,,:xxxxd:;;,'...'''..'.....,:odc,;,,;lllllolcc::clc,'''',:clooollc:llcoodddddddd
                 ....',,,;,cd:'.';locllcc:ldlcdxdoc::::looxOOdodc;,cc;,,,okooxo:,'......''.,'...',cdd::::oddddoc;,'':oo:,'..,;::clooooolcododdoooooooo
                                                                                                                                     .,,:;.           
                                             .,;''...                                                                                .,,,;..          
                                          .oOkdc;;:;'....                                                                            .,:,:..          
                                         ;OOdcc:,,'','.....                                                                           ,:';..          
                                         cKklcc:,,,'.,'.....                                                                          ';.,..          
                                         ,0kocc:,,''..,....'.                                                                         .:.,..          
                                         .0Oool:;,'...''....'.                                                                        .:.,,.          
                                         .OOdxoc;;'...'.......                                                                         ;',..          
                                         .kOkxdol:...........                                                                          ,''            
                                         .OOxdl::;...     ...                                                                          ','            
                                         .Okdooc;''..                                                                                  .,'            
                                         ,0kcccdo,...                                                                                  .,'       .....
                                         c0l,::oxl;'..                                                                                 .:;,,;:::::;,,'
                                         xO;,c:ldo:;,..                                                                              .';c:;;;,;::;;,,,
                                        .Ox;cl:coxoollll:;;cllll:,.                                                               ..''',c;,;::::,,,,,,
                                        ,Kd:oxxkkOkxxddkOxclkolclddl'...                                                         ......'c:;clcccccc::;
                                        l0xxkkl;,:,....'o0oco;''';lxo:;,','.                                                    .......,l:,;;;,,;:clcc
                                      .;k0d,::...:;;;,'':Od:'....;:oo:,,,;;;;'.                                                ......',,l;','',;:cc::;
                                      'cOO:.::..,l,..,:,;Od,..,;:lo;,'','',;;clc;..                                           ......'',',;'.',,,;:c:;:
                                     .oO0xc::;....  ...;d0d:;cccllc:c;'..''',,,;;;:;'.                                        ......','.,;''''',',;:cc
                                   ':x00Odc:'....   .. .xd;,llclc:;:lddlc'.''.  .....,;,..                                    .....,,,..,;'',,''',cccc
                                .lo:;ldkkl:;.....    . ,kc;c,..,.....';cldo:,..   ..  .',,'.                                 .....',,'..';'.''''.,c:;;
                               .c:.   ckdclc.....    . cdll' ....      ...cdxl;,... ..  .'','.                                ....'',....,,'..''',:::,
                                     .dxdcdo'....    ..oodl...             .ldc,,;,....   .'','                               ''...',....';;,,,,;;;;:,
                                     ,xkl:dd:...    ..lkxxo,'..             .ooc,.',;,...  .',''.                             .'..'',,...';::;,;::;,;,
                                    .dxkolol:,.  .cc:dkxkxxxd'..             .:ll' ..,:;;,. ..','.                             ......,,'',;:cc::c::::,
                                   .oxxkkdoc:,...oO0Oxxdxxkkd:..               ..  . ..,:::,...,;,..                           .......,;;;;;:::;;:clc;
                                ..:dxxxkOxolc;'..ck0Oxdddddc;'...              ...     ..'::;,..';;,.                           .'.'''',;,,;,,;:,,clc;
                              .:odddddddddllll:'...,:c;'....,'...  .............',.        .:cc;',;:,.                           .'.''','.';;,';cc::;,
                            .cxddddxdolc:clcooo:'...........'''..................;:..       ..:o:.,;;.                            .''','.'',::;;cc;,',
                         .'cxkxodoooll:;;ccclodl;......'.....,''.................',c;.      .. 'o:',;,.                            .,;,. ..';,;::ccc:;
                       .,dooddol:'..':;,;:cllll:;......''....','.........''''.....',,;'.     .  'o:,;:.                             .;'.  ..',;;,,;cc:
                       ,kxdlllcc;...,:,,;;;::;;,;'............,,,........'',,,,.....'';'.    ..  'o;;:'   ..                  .....,:;...',,',,;'..,;,
                     ...:lc;;;;;,...:;,:::;;;,,;;,'''.........,;,'.......',;;;;''....'',..   ..   ;o:c;...........   .       ......';:;'..''',:,,'.',,
                    ......''.......'c;;::;;;;;;:c:;;,''...'',,,;c;.......',;;;;,'......'...........llco:;;;;;;;,,',''ll,... .......'',;,'.''''',,;;:,:
                    ....'''''......,c;:;;;,'';cc:c:,,'.....'''';lc;.....',;::;,,...................,ooxoc::;;;;;:;,'coloc'....',:ldxddc::;::;;,::cc::l
                   .....',,,'......:c::cc;..',::c:;'........,''':lc,.....';:::;;'..................'dkx,..........;:llc:cllllodxxolodldoc::::::clc:clo
                 ......',,,,''....,olcll;.'';::c:,'.....'','':lodxxolc:,',;:::c:;,'................cxdl'.'.. ......;looc,:lodddooccloodol:;;:lcc::::ll
                 .....'',,,,,'..',lxooll,.'clcc::;'':c:::cloxkOOkkkxxxddoc:::cc:;,,,..............:ldx:'',.........';clc:lodollllllc:cllll;:cccclolloo
                 ....'',;,,,,,clloxkdlc:,,,,,';cccloolllooodkOOkocclc:loxxddolc:;;;,,''..........,c:dx;','.';:;,,,:::;,;loc;;,;coool;,:llocccclodooood
                 ....',,,,,;cl:,;clolccccllc;:oddddolcccodxOOxdd:,;c:;,,:xxxxd:;,,....','..'.....,:ldl,;;',cllllolcc:;:lc;,''',:clooollccllcoooddddddd
                 ....',,,;,cd:'.';lolllcc:odlcdxdolc::cclox0Ododc;,cc:,,,lkdoxl:;,......,'.''....,;oxc:::cldddoc;,'':loc;''',;:cccooodolllooxxdooooooo
                                                                                                                                     .,,;:..          
                                            ..,:,'...                                                                                .,;,:..          
                                          .dOkdc;;;:,....                                                                             ,c;:..          
                                         ;0Odcc:,,'','.....                                                                           ':,;..          
                                         :Kkoc:c;,,'.,'......                                                                         .:.,..          
                                         '0Oocc:,,''..,.......                                                                        .:.,..          
                                         .OOdol:;;'...''......                                                                         :',,.          
                                         .k0xxoc;;,...'.......                                                                         ;','.          
                                         .x0kxdol:............                                                                         ,,'            
                                         .k0xdl::;'..    ....                                                                          ','            
                                         .Okddoc:''..                                                                                  .,'            
                                         '0kc:cdo;...                                                                                  .,'.      .....
                                         :0l,::oxl;'..                                                                                 .:;,;::::::;,,'
                                         dO:,c:cdo:;,..                                                                              .',l:;;;;;:;;,,,,
                                        .Ox;cl::oxolllll:;;:cccc:,.                                                               ...'',c;,;:cc:,,,,,,
                                        '0xclxxxkOkxxxxkkxclkdlllodl'..                                                          ......'c:;cllcc::ccc:
                                        c0kxkko:,:,....'o0dco;''',lxo:;,,'..                                                    .......,lc,;;,,,;:cccc
                                      .,x0d,::...:;;;,'';kd:,....,:oo:,,,;;;;'.                                                .....'',,c;,''',;:cc::;
                                      ':OOc.::..,l,..,;,,kk,..,;:ll:,',,'',,;clc,..                                           ......'',.,;'.',,,,:c:;:
                                     .lk0xc::;....  ...;o0x:;::cllc:c;'..''',,,;:::;..                                        .....'','.,;''''',',;:cc
                                   .:d00Odc:'....   .. .dx;,llllc;;:lddlc,..'.  .....,;,..                                    .....',,..,;'',,''';ccc:
                                .coc:ldOklc;.....    ...xc;:;..;'....';cldo:,.    ..  .',,'.                                 .....',;'..',,..'''';:;;;
                               .ll'   :kdclc.....      :dll, ....      ...cddl;'... ..  .'','.                                ....'',. ..,;...''',::;,
                                      okdcdo,....     .oool....            .cdc,,,'.. .   .'','.                              .'..'',....';,,,,;;;;;:,
                                     'xxo:dd:...    ..:xdxo,'..             .doc,'',;,...  .',''.                             .'..'',,...';::;,;:;,,;,
                                    .oxkdlol:,.  .:c;okxkxxxd'.              .;ll, ..,:;,,. ..,,'.                             .....',,',,;:cc::c::::,
                                   .lxxkkdoc:,...okOOxxdxxkkdc..               ...   ..'::;,...';,..                           ......',;;,;;::c;;:clc;
                                 .;odxxkOxolc;'..ck0Oxxddddl;'...              ...     ..'::;,..';;,.                           .'.''.',;,,;,,;:,,clc:
                              .:odddddddddollc:'...,cc:,....,'...  ..............'.        .:cc,'';:,.                           .'.''','.':;,,;cc::;,
                            .cxdddxxdolc:clcooo:.......... .'''..................;:..       ..:o:',;:.                            .''','.'',:;:;cc;,',
                         .':dkdddooooo:;;cccllol;......'.....''..................',c,.       . 'o:',;;.                            .,;,. ..';;;;;ccc:;
                       .'looxdol:'...:;,;:cclloc;......''....','.........''''.....',,;'.     .  .o:,,:'                             .;'.  ..',;;;,;cc:
                       ,kxdollc:;...':,,;;;:::;,;,............,,,........'',,,'.....',;'.    ..  .o:;:,.  .                   .....,:;...',,',;;,..,;,
                     ...coc:;;;;,...:;,;::;;,,,;;,.'..........';;'.......',;;;,''....'',..       .,o:c:...........           ......';:;''.''.':,,'.',,
                    ......'''......'c;;::;;;:;;:c:;:,''...'',,,;c;.......',;;;;,''.....'.....   ...clco:;;,;;,,,''''.cl,...........'.';,'..''',',;;:;:
                    ....'''''......,c;:;;;,'',cc:c:;''.....'''';lc;.....'';:::,'....................odxocc:::::::;,':oooc'.....,:codddc:;;;;;;;;:cc::c
                   .....',,,'......;c;::c:..',::c:;,........,,'';cc,.....';:::;;'...................oxx;..........;:clc:cllllodxxolododocc:::::clcc:lo
                 ......',,,,''....'clccc:.'',::c:,'.....'','';lodxxolc:,',;:::::;,'............. ..:dxo;.... ......,cooc;:lodxdooc:ldodooc;;:clc:c::ll
                 .....'',,,,,'..',cxooll;.'coccc:;'';c:::cloxkOOkkxxxxxdoc:::cc:;,,'............ .:loxl,'''........':clc:cldolllllll:cllll;:::cccolloo
                 ....'',;,,,,,clloxkdlc:,,,;,,;:cclooollooodkOOkocllc:ldxxddolc:;;;,,'...........,c:od:'''.';:;,,,;::;,;col:;,;coool;,:llocccccldooood
                 ....',,,;,,:lc;:lodllccclcc;:lodddolc:codxkOkdxc;;c:;,,:dxxxxc;,,'...',...'.....,::do;,;,,clcllolcc:;;cc;,'''';loooollccclclooddddddd
                 ....',,,;,cd:'..;lolclllcddlldxdolc:cccloxOOdoxc,;cc:;',lkdoxo:;,......,'.''....,;cxc:cccodddoc;,'';col:,''',:cclooodoccloodxdooooooo
                                                                                                                                     .,;,:..          
                                            .';:;,'...                                                                                ,;,c..          
                                          'dOkoc,,,:,....                                                                             'c;c..          
                                         ;0Ooccc;,''''.....                                                                           ':,:..          
                                         ,Kkoc::;,,'.',......                                                                         .:.,..          
                                         .OOolcc;,''..'....''.                                                                         :.,..          
                                          k0dol:;;'.'.''......                                                                         ;',,.          
                                          x0xxdl::,............                                                                        ,,,'.          
                                          d0kxdolc............                                                                         ',,.           
                                          k0xdl::;'. .     ..                                                                          .,'.           
                                         .kOdool:''..         .                                                                        .,'.           
                                         .Ok::cdd;...                                                                                   ,'.     ......
                                         ;0o'::lxl;'..                                                                                 .::;;::::::;,,'
                                         oO:,::cdo:;,..                                                                             ..',c::;;;::;,,,,,
                                        .kk;cl:clxdlllll:;;:cccc:,.                                                               ...''':;,;:cc:;;,,,,
                                        .OxclxxxkOOkxxxkOxclkdlllodc,..                                                          ......'c::clccc::ccc:
                                        :0kxkko:,;;....'o0dco;''',lxd:;,,'..                                                    ....'.',lc,,,,,,;:cccc
                                       'x0x,;:...::;;,'',xxc,....,:ldc,,,,;;;'.                                                .....'',,c;,''',;:cc::;
                                      ';kOc.:c..'l;..,;,,kk;..';:loc,,',,'',:clc,..                                           ......,',.,;''',,,,:::;:
                                      ck0kl:::....  ...;lOkc,::cllc::;'..'',,;;;:::;..                                        ......'''.';''''',',:ccc
                                   .;dK0Oxc:'....   .. .ok:,clllc:;:lddlc,..'.  .....;;,..                                    .....','..,;,',,''',:cc:
                                .;ol:lxkkoc;.....    . .xl;::..,'....':cldl:,.    ..  .',,'.                                 .....',,'..',,..'''.;:;;;
                               .lo,   ;kxllc.....      ;dll; ....      ...codl,'..  ..  ..','.                                ....'',. ..,;..'''',;::,
                                      lxdcdo,....     .lodl'...            .cdc,,,,.. ..  .'','                               .'..'',....';,,;,;;;;;:,
                                     .xxo:dd:...     .;xdxo,'..             .ooc,'',;,...  .'','.                             .'..'',,...';::;,;:;,,;,
                                    .lxkdlol:,.. .;:;lkxkkxdd'.              .:oo;...,:;;'. ..','.                            ......',,',,;:c:::c::::;
                                   .lxxkkoll:;.. lkOOxxxxxkkxc..               ...   ..'::;,....;,'.                           ......',;,,;,;;c;,:clc:
                                 .;odxxkOxolc;'..:k0Oxxdodxl:'..               ...     ..'::;,..';;,.                           ...''.',;,,;,,;:,,clc:
                              .;ldddddddddollc:'...;clc,'...,'...  ..............'.       ..:cc,'';:,.                           .'.'''''.';;,,;ccc:;,
                            .;dddxxxdolc:clcooo:'...........','..................,:....     ..:o:'';:.                            .''','..',:;:;cc;,,,
                         ..;dkxdddooolc;;:cclodl;......'.....,'...................,:,..      . 'o:.';;.                            .,;;....'::;;:ccc:;
                        'looxddoc,..':;';:clllol;......'''...','.........''''.....',,,'.     .  .oc,,:'                             .;,.  ..',,:,,;cl:
                      .'kxdoolc:,...':,,;;;:::;,;,............,,,........'',,,'.....',;'.    ..  .o:;:;.                       ....':;....,,',;;,..,;,
                     ...ldl:;;;:,...;:,;:::;,,;;;,.''.........',,'.......',;;;,''....'',..        'dc::...........           ......,:c;''.''.,;,,'.',,
                    .....'''........:;;::;;;;;;:c:;:,''...'',,,;c;.......',;:;;,''.....''....   ...;ococ;;,;,,,,'''..;c'.............';,'..','',,;;;,;
                    ....'''''......'c,:;;;;',,cc:c:;,'.....'''';lc;.....',;:::;''.......'...........loxdlc:::::::;,':oooc'.....';:oxddc;;,;;;,,;ccc:;c
                   .....',,,'......;c;::::..';::c:;,........,,'';cc,.....';:::;;'...................lkxc.........',:cll:clcllloxxdoododolc:::::cllc:ll
                 ......',,,,'.....'clccc:..',;:::,'.....',,'.;codxxolc:,',;:::::;,'.............. .;oxo:...........'cool;:codxdoolcldooolc;;:ccc:c::cl
                 .....'',,,,'....':dooll;.'colcc:;'';::;:cloxkO0Oxxxxxxdoc:::cc:;,''..............:llxo,'''.........;cllcclooloollcc:cloll;;::cccllclo
                 ....'',;,,,',:lloxkdoc:;,,;,,;:cccoooloooodkO0kocllc:ldxxddolc:;;,,,'...........'c:cxc''''.,:;,,,;::;;,:olc;;;coool:,:lloc:cccldooddd
                 ....',,,;,,:lc;:codolccccc:,:lodddolc:codxkOkdxc;;c:;,,:dxxxxc;;,''..',.........,::od;,;,,cccllolcc::;cl:,'''';cloooolccclclooddddddd
                 ....',,,,;:dc..':lolclolcodlcdxdolc:cccloxOOdoxl;,cc:;',lkdoxo;;,.....',...'....,;:do;c::ldddoc;,'';col;;'.',;cccoooolccloodxdoooddoo
                                                                                                                                     .,,,c..          
                                            .,:c:;,....                                                                               ';,c..          
                                          'xOxoc,,,;;.....                                                                            ':;:..          
                                         ,0Oo:cc;,''',......                                                                          .:,:..          
                                         ,KOoc::;,,'.',......                                                                         .;',..          
                                         .O0olcc;,''..''....'.                                                                         ;',..          
                                          x0dol:;;'....'.....'                                                                         ,,;''          
                                          o0kxdl::'............                                                                        ',,'.          
                                          o0kxdolc...........                                                                          .,'.           
                                          x0xdl::;'..      ..                                                                          .,'.           
                                         .kOdool:,.'.         .                                                                         ''.           
                                         .OO:::dd:...                                                                                   ''.    .......
                                         ;0o';;cxl;'..                                                                                 .;:;;::::::;;,'
                                         lOc,:::oo:;,..                                                                             ..''c:;;;;::;,,,,,
                                         xk;:lc:lxolllll:;;:c:cc:'.                                                               ..'.''::,;:cc:;;,,,'
                                        .OkclxxxkOOkkxxkOxcckxollddc,..                                                          .......:c:clccc::ccc:
                                        ;0kxkkdc,;;''..'lOxco:,'',cxxc;,''..                                                   .....'.',ll,,;,,,;:cc::
                                       'd0x;;c...::;;,'',xx:;....':ldl,,,;;;;'.                                                .....'',,::,''',;:cc::;
                                      .;xOl.;c'.'l;..';,'xk;..',;coc,,',,'',;clc,.                                            ......,',.,:''',,,,;::;:
                                      :k0kl:::.... ....;lOkc;::cllc;:;'...',,;;:cc:;..                                        ......'''.,;''''',',:ccc
                                   .,l00Oxc:,....    . .oO:,cllll:;:lool:'..'.  ....';;'..                                    ....'','..,;,',,''',cc::
                                .;llcodkkoc;.....    . .dd;::..,'....':codl:,..  ...  .',,'.                                 .....',;...',,..''..;:;;;
                               .lo;   ;kxlll.....      ,xll;...'.      ...codl,'..  ..  ..','.                                ....'',....,;..'''',;::,
                                      lxdcdd,....     .looo'...            .cdl,,;'.. ..  .'','.                              .'..'',.....;,,;,;;;;;:'
                                     .dxo:ddc...     .'xddo,...             .ooc,'',;,...  ..','.                             .'..'',,....;:;;,;:;,,;,
                                    .lxxdloo:,.. .,:,ckxkxxdd'..             .:oo;...,:;;'. ..','..                           ......',,',,;:::::cc;::;
                                   .cxxkkoll:;'. ckOOxdxxxkkxc..               ....  ..';:;,. ..;,'.                           ......',;,,;,;;:,,:clc:
                                 .,lxxxkOxolc;'..:k00kxdodxo:'..               ...     ..'::;,..';;,.                           ....'.',;,,;,;;:,,clc:
                              .,codddddddxolcc;'..':llc;'''','...  ....  ........'.       ..:cc,.',:,.                           .'.'''''.,;;,';cc::;,
                            .,odddxxxdlccclcllo:.............,'..................,:....      .:o:''':'.                           .''',''.'':;;;cc;,,,
                          .;okxdddddolc:;:cclool;......'.....''...................,:,..      ..'l:'';:.                            .,;,....';:;::ccc:;
                        .cooxddoc;..'c;,;:cclool;'.....'''...',''........''''......,;,..     .  .l:',:,                             .,,.  ..',;;;,;clc
                       'xxdoolc:,....:,,;;;::::;;,............,,,........'',,,'.....',;'..   ..  .lc,;;.                       ....';;....,,',;;,.';;,
                     ...ldlc::::;...;;,;::::;,;;;,'''.........',,'.......',;;;,''....'',..        'oc::'..........           ......':c;''.''.,;,,'''',
                    .....'''........:;,::;;;;;;:c::;,''...'',,,;c;.......',;:;;,''.....''....   .. ,lcoc;;,,,,'''''..,c'.............';;'..'''',,;;;,;
                    ....''''.......'c;;;;;;',,cc:cc;''.....'''';lc;.....',;:::;''.......'......... .loxdlc:::ccc:;,';lol:'......,:ldxoc:;',;;,,;c:c:::
                   .....',,,'......;c;:;::'.';::c:;,........,,'';cc,.....';:::;;'...................cxxl..........,:cll:clclclodxdoododdlcc:::::llc:cl
                 ......',,,,'.....':l:cc:'.,,;:::,'.....'','.;codxxolc;,',;:::::;,'.............. .;odoc...........'cool;;cldddddl:codooll;::ccc:c::cl
                 .....'',,,,,'...':dolll;.'colcc:,'';::;:clodkO0kxxxxdxdoc::ccc:;,''..............;lcdo;'''.....'...;col:clodolollclccloll;;::c:cllclo
                 ....'',;,,,,,;cllxkdolc;',;,,;::cclooloooodkO0kocllc:ldxxddolc:;;,,,'...........'cc:dl''',.,;;;;,,::;,,:lll:;;:oool:,:lllc:cccloddddd
                 ....',,,;,,;ll;:lodolcccc::;:codddolc:codxkOkddl;;c:;,,:dxxkxl:;,''..',.........,::lx:,;,,:clclolcc:;;:lc;,''',cooooolccclclooddddddd
                 ....',,,,;:oc'.,:lolclllcodocoxdoc:ccccldkOOdodl;,cc:;',lkdoxo;,'.....',...'.. .,;:od::c;ldxxoc;,,,;cll:;,.',;:cloooolllloldddoddddoo
                                                                                                                                      ','c..          
                                            .;:l:;,'...                                                                               ';,c..          
                                          ,xOxo:'',;;.....                                                                            .;;c..          
                                         ,0Oo:::;,,'',......                                                                          .:;;..          
                                         '0Ooc::;,,'.',......                                                                         .;',..          
                                          x0docc;,''..',....'.                                                                         ,',..          
                                          o0xolc;;,.'..,.....'.                                                                        ';,,'          
                                          l0kxdoc:,............                                                                        .,',.          
                                          l0kxdolc'...........                                                                         .,'.           
                                          o0xdo:;;'..      ..                                                                           ''.           
                                          xOxoolc,...         .                                                                         ''.           
                                         .kOc;:oxc....                                                                                  ''............
                                         ,0d,;;cxo:,..                                                                                 .;:;;;:::::;,,'
                                         c0c':::od:;,'.                                                                             ...':c:;;;::;,,,,,
                                         dO::lc:lxollccc:,,:ccc::,.                                                               ....''::;;:cc:;;;,,,
                                        .kkclxxxkOOkkkxkOxlckxollodc,..                                                          ......':cccccc:::ccc:
                                        ,0kxxkdc,;;''..'lOxco:,'',cxxc;,''..                                                   .......',ll;,,,',;:cc::
                                       .o0x;;c'..;:;;;'''dk:;....';ldl,,,,,;;'.                                                .....'',,::,''',;:cc::;
                                      .;xOl.;c'.'l;..':,'ok:..',;clc;,',,'',;clc'.                                            ......,,,.,:''',,,,;::;:
                                      ;d0kl:::....  . .,cOOl,::cllc:c;'...',,;;:ccc;..                                        ......','.,;''''''',;ccc
                                    'c000xc:,.....   . .lOc,cllll:;:lool;'..,.  ....';;'.                                    .....'','..';,',,''';::::
                                 ,clcdxkkoc;'....    . .dd;;:..,,....':codc:,..  ...  .'','.                                 .....',;...',,..''.';:;,,
                                cd:   ,kxlll'....    . ,xlc:...'.      ...codl,'..  ..  ..','.                                ....',,....,;..'''';:::,
                                      cxdcdd,....      :doo,...            .cdl,,,'.  ..  .'','.                              .'..'',.....;,,;,;;;;::'
                                     .dxd:ddc...     ..dddo,...             .loc,',,,'...  ..','.                             .'..'',,...';::;,;:;,,;,
                                     cxxdloo:;.. .';':xxkkxdo'..             .:do:...,;;,'. ..','..                           ......',,',,;:::::cc;::;
                                   .:xxkkoll:;'. :kOOxxdxxkOxl..               ....  ..,;:;,. ..,,'.                           ......',;;,;;;;:,,:clc:
                                 .'lxxxkOxolc;'..:OK0xxdddxoc,.. ..            ...     ..,::;,..';;,.                           ....'.',;,,;,,;:,,clc:
                              .'cododdddxxollc;'..':ool;,''','...  ................       ..:c:,.',:,.                           .'.'''''.,;;,';cc::;,
                             'oddddddoolcclcllo:.............,'..................';.        ..:l:'',;,.                           .''',''.'':;;;cc;,,,
                          .'lxxdddddolc:;:cclool;......'.....'''..................,:,..      ...lc.,;:.                            .,;,'. .';:;::ccc:;
                        .;loxxdol;'''c;,;:cclool:'.....'''...',''........''''......,;,..     .  .lc',;;.                            .;,.  ..',;;;,;clc
                       'xxdooocc,....:,,;;:::::;;,............,,'........'',,,'.....',;'..   ..  .lc,;:.                       .....,;....','';;,..,:,
                     ...odoc::::;'..,:,;:;:;,,;;;,'''.........',,'.......',;;;,''....'','.     .  .ol;:'.........             .....,:c;'..''',;,,'..,,
                    .....,''........:;,::;;;;;;:c:::,''...'',,,;c;.......',;:;;,,'.....''....   .. .lcoc;,,,,''''.'..':'.............';;,..''',,,;,;;;
                    ....''''.......'c;;:;;;,,;:ccc:;''....'''',,cl,.....',;:::;,'.......'....   ....coxdlcc:cccc:;,',ldl:'......,:lodoc:;'',;,,,::c:::
                   .....',,,'......,c;::::'.',;:c:;,'.......,,'';cc,.....';:::;;'............  .....:xxo.........',;cll:clccccldxxoodoool:::::::clc:cl
                 ......',,,,'......:l:cc:'.',;c::;''....'','.,:ldxxolc:,',;:::::;,'............. ..,lxoc......  ...'cool::cloxddol:cododll::::ccc::;cl
                 .....'',,,,''....;oolll;.'colcc:;'';::;::cldkOOkkxxxxxdoc::ccc:;,''............ .;lcdo:'''.........,colccloddlllcclccloll:;::cccll:lo
                 ....'',;,,,',;ccldxdolc;';;,,;:::clooooooodkOOOdcclccldkxddolc:;;,,,'............cc;do,'',.,;;,,,,::;;,;lllc;;:oollc;:lllc:cccloddddd
                 ....',,,;,,;ll::coxolc::c::,;codddolc:codxkOkddl;;::;,;:dxxkxl:;,''..',.........';;cxl';;,;ccclollc:;;:lc;,''',:loooolccclclooddddddd
                 ....',,,,,;oc..':loocllloodoldxdolcclc:ldk0Oxodl;,cc:;,,ckdoxo;,''....',........,;,ld:;c::oxdoc;,'',cll:,,''',:lloooolllloldddodddddo
                                                                                                                                      ';,c..          
                                           .';:lc;,,...                                                                               .;,:'.          
                                          ;kOxl:''',;.....                                                                            .;:;'.          
                                         ,0Oo:::;;,'',......                                                                          .::,'.          
                                         .OOoc::;,''..,.  ...                                                                          ,,'..          
                                          d0xocc;,''..',....'.                                                                         ','..          
                                          lKxllc;;,....,.....'.                                                                        .;'',          
                                          lKkxdoc:,............                                                                        .,',.          
                                          c0kxdoll'...........                                                                          ,'.           
                                          o0xdoc;;'..      ..                                                                           ''.           
                                          d0xolol,.'.         .                                                                         ''.           
                                         .kO:;:oxc'...                                                                                  ''............
                                         '0d,;:cxl:,..                                                                                 .;:;;::::c:;,,,
                                         :0c':::od:;,'.                                                                             ...':c:;;;::;,,,,,
                                         oO:;lc:cddllccc:,,;:::::,.                                                               ....'':c;;:cc:;;;,,'
                                        .xklcxxxkOOkkkkkOxlcxxoolddl,..                                                          ......':lcccc::::cclc
                                        'Okxxkxl;;:''..'cOklo:,'',:dxc;,''..                                                   .......';cl;,,,,,;:cc::
                                       .o0k:,l'..;:;;,'''okc:....';ldl;'';;;;'.                                                .....'',,;c;''',;:cc::;
                                      .;xOo.;c'.'l;..';,'ck:...,;coc,,',,''';cl:'.                                            ......,''.,:,.,,,,,;::;:
                                      ;d0kl:::....  ...,cxOl,;:cllc;:;'...'',:::ccc;..                                        .....',,..';,'''''',:ccc
                                    ':O00xl:,.....   . .ckl,:olll:;:ldoc;'..'.. ....';;,.                                    .....'','..';,','''';::::
                                 'clldkkkoc:'....    . .od;;c'.,,....,:looc:,..  ...  .'','.                                 .....',;....,,..''.';:;;;
                                cxc.  'kxlcl'....      'xlcc. ...      ..'cddl,'..  ..  ..','.                                ....',,....',..'''';:::,
                                      :kdcod;....      :doo,...            .cdl,,,'.  ..  .'','.                              .'..'',.....;;,;,;;;;::'
                                     .oxd:oxc'..      .oddo'...             .lol,',,,'...  ..','.                             .'..'',,....;:;;,;:;,,;'
                                     :xxxloo:;..  .,';dxxkxdo'..             .coo:...,;;,'. ..','..                           ......',,',,;:::::cc;::;
                                    ;xxkkdol:;'..,xOOxxxdxkkkl'.               .'..  ..,;:;,. ..,,..                           ......',;;,,;,,:,,:clc:
                                  .ldxxkOkol:;'..;k00xxxddxdc,.....            ...     ..'::;,...;;,.                           ....'.',;,,;,;,:,,clc:
                               ':lodddddxxollc;'..,codl:,,,','...  ................        ':c:,.',:,.                           .'.'''''.,;;,';clc;;,
                             .ldddddddolcclcllo:.......... ..''..................';.        .':l:'',;,.                           .''''''.'':;;;:c;,,,
                          ..cxxddddddoc:;:cclool;......''....'''..................,:'..      ...lc'';:'                            .,;,'...';:;::ccc::
                        .;loxxdol:'',c:,;:cclodl:'.....','...',''........''''......,;,..     .. .lc',;;.                            .;,.   .',;;;,;clc
                       .xxdooolc,....:,,;;::::c;;,............,,'........'',,,'.....',;'..   ..  .cl,;:.                        ....,;'...','':;,..,:;
                     ...dxoccc:c:'..,:,;:;:;;,,;;,'''.........',,'.......',;;;,''....'','.     . ..ll;:,.........             .....':c;''.''.,:,,''','
                    .....,,''.......:;,::;;;;;::c:::,''...'',,,;c;.......',;:;;,,'.....''....   ....lcll;,,,,''''.'...;'.............';;,..''',',;,;;,
                    ....'''''......'c;;:;;;,;;:ccc:;''....''',,,cl,.....'';:c:;,'.......'....   ... :oxxlccccccc:;,,,coo:'......';codoc;,'',,'',::c:;:
                   .....',,,'......,c;:;::'.',;:c:;,'.......,,'';cc,.....';:::;;'...................,xxd,........',;:locclccccldxxooooodl:c::c::ccc::l
                 ......',,,,'......:l::::''',;ccc;''....'','.,:ldxxolc:,,,;:::::;,'................,cxol'.... .....':lol::clodxdooccoooolo::::cccc:;cl
                 .....'',,,,''....,lolll:.':olcc:;'.,::;;:cloxOOkkxxxxxdocccccc:;,''............ .,lcodc'''.........,looc:coddllllcccclolo:;;:cccll:cl
                 ....'',;,,,',;:cldxdolc;';:,,;:c::looolooodkOOOdcclccldkxddolc:;;,,,'............:c;od,'',.':;,;,,::;,,;colc:;clollc;:lllc::ccclddddd
                 ....',,,;,,;ll::coxdlc::c:;,;coodddlc:codxkOkdxl;;c:;,;:dxxxxl:;,,'.'''.........';::do,,:,;cccllllc:;,;cc:;'''':loooolccclclooodddddd
                 ....',,,,,;oc..':loocllloodoldxdolcclc:odk0Oxodl;,cc;;,,lkdoxd;,,'....','.......',;:xc;cccdxddc:;,',ccll;;''',;looooolllloldxdddddddo
                                                ..                                                                                    .;,:'.          
                                           .,:loc:;;'..                                                                               .,,;'.          
                                          ;kOdl:,',,,'....                                                                            .;:;,.          
                                         '00o:::;;,,.''.....                                                                           ;:,'.          
                                         .k0dc::;,''..,'.....                                                                          .,.'.          
                                          oKxocc;,,'...,......                                                                         .;.'.          
                                          cKkolc;;;.'..'.....'.                                                                         ;.''          
                                          :0kkxolc,............                                                                         ,','          
                                          :0kxdlcl,............                                                                         ''.           
                                          c0xddc:;,'.      ..                                                                           ''.           
                                          l0xlloo,.'.         .                                                                         ',.           
                                          xOc,;lkl,...                                                                                  .,............
                                         .0x,,;:dd;,'.                                                                                ..;c:;:::::;;;,,
                                         ;0l':::ldc;,'.                                                                             ...':l:;;;::,''',,
                                         cOc;lc;cddlc::c:,,;;;;;;'.                                                               .'..'';l:;ccc:::;;,'
                                         dOlcdxdxkOkOkkkOxlcxkdolodl,..                                                          ......';llcc:::::cclc
                                        .kOxkOxl;::,'..'cOOcol;''':dxl;,''..                                                   .......';:l;',,',;:cc:;
                                       .c0k:,c'..;:;;;'..ckc:'...';cdo;'',;;;'.                                                .....'',,':;''',;:cc::;
                                      .,d0o',c,.'c;...;;.:kc...',:ll;;,,,,'',cc;'.                                            ......,,'.'c,',,,,,,;:::
                                      'oOOo:::'...  ...,cdOo,;;:clc:::'...',,;:ccc:;..                                        .....',,..';''''''';:ccc
                                    .;k00kl:,.....   . .:Oo,:olloc;;looc,'..'.. ....';,'.                                    .....'',...',,'''''';:::;
                                 .;lldkkkdc:'....    . .lk;,:,.,,...',:looc;,.   ...  .'','.                                 .....',,...',,..''.';:;;;
                                :do.  'xkocl,....      .dlcc. ...      ..':odl,...  ..  ..','.                                ....',,....';..'''';:::,
                                 .    ,kxcox;....      ,doo;...            .cdo,,,'.  ..  .'','.                              .'...,,.....;;,;,;;;;:;'
                                      lkdcoxl'..      .lddo,...              cdl,''','...  ..'''.                             .'..'';'....;:;;,;:;,,;,
                                     ,xxxlooc;..  ...,okxkkoo'..             .cdo;...,;;,'.  .','..                           .......,,',,;:;::;cc:::;
                                    ,dxkkdol:;'. 'xkkxxdxxxkko'.               .',.  ..,;:;,. ..,,..                           ......',;,,,;,,:,';clc:
                                  .:dxxkOkol:;'..;k0Okxxddxxl;.....            ...      .'::;,...,;'.                           ....'..,;,,;,,,;,,clc:
                               .;codddddxxollc;'..;ldxoc;;;,,'...  ....  ..........       .':c:,.',;;.                           .'.'''''.,;:,';clc;;,
                             .cdxddddoolcllcllo:'............,'...................,..        .:l:''';,.                           .'.''''.'':;;;:c;,,,
                          ..:xxddddddol:;:cclool;......'.....''...................,:'..      ...lc'',;'.                           .,;,'...';:;::::c::
                        .'coxkdolc,,;c:,,:ccclol:'.....','...',''........''''......,:;..     .. .co'';:.                            .;,.   .',,;;,;cll
                       .oxdooolc,....:;,;;::ccc:;,............'''........'',,,'.....',;'..   ..  .:o;;:'                        ....':'...',',:;,..,:;
                     ..'xxdlcccc:,..,c,,;::;;',;;;'''.........',,'.......',;;;,''....'','.        .cl;:;.........             .....,:c;''.''.':,,''',,
                    ....';,'''......::,::;;;;;;:cc::;''...',,,,;:;.......',;;;;,,'.....''....   ....cccl;,''''........''. ...........';:,..''',',;;;,,
                    ....'''''.......c;,::;;,;;:ccc:;''.....''',;cl,.....'';::::,''......''...   ....,odxolccccccc;,'':oo:........':looc;,..',,'':::c::
                   .....',,,'......,c;:;::'.',;:c:;,'.......','';lc,'...',;:::;,'............  .....'dxx;........',;:llcclccc:coxkdoolodo:::c:::ccc::l
                 ......',,,,'......;c:::c,.',;:cc;''....'',..,:loxxolc;,,,;:::::;,'................':ddo;...........:loo::cloddddoc:ldoool::c:cc:c:::l
                 .....'',,,,''....'lllll:'':llccc;'.';;,;:cloxkOkkkxxxxdlcccccc:;,''..............,lccdl,...........,cooc:clodoolcccclllllc;;:cccllccl
                 ....'',;,,,,,,::coxdoll:';:;,,cc::cooolooodkO0kxccllcldkxddolc:;;;,''............:c;cxc''''';;,;,,::;;,;coll:;:loooc;;llll:::cclddddd
                 ....',,,,,,;ll::cokdlc::c:,,,:oodddoc:codxkOkdxo;;cc;,;:dkxkxl:;;,'''''.........';:,ld;,;;;clcclllc:;;;:l:;,,'';cooooolcclclooodddodd
                 ....',,,,,,lc..,:ldocllloodlcoxdolcllc:odkO0dodl;,:c:;,,cxddxd:;,'....','.......';;;oo::cloxdol;;,,,;:cl::;'',;coooooolccoloxdodddodo
                                                ...                                                                                   .;,;,.          
                                           .,clol:;;'...                                                                              .;;,,.          
                                          :OOdl:,'',,'.....                                                                            ,:,;.          
                                         .00o::c;,,,.,'.....                                                                           ':',.          
                                          x0dlc:;,,'..''......                                                                         .;.'.          
                                          cKxolc;,,'...,.......                                                                        .;.'.          
                                          ;Kxool;;;....'.....'.                                                                         ,.',          
                                          ;0kkxdlc,.............                                                                        ,','          
                                          ;0Oxdoll,...........                                                                          '''           
                                          :0kxdl:;''.      ..                                                                           .,'           
                                          l0xlclo;...         .                                                                         .,.           
                                          d0c,:cko,...                                                                                  .;'........'''
                                         .Ox,,::od:,'.                                                                                 .;l:;::::c:;;,,
                                         '0o';c:cdc;,'..                                                                            ..'';l:;;;c:,''','
                                         :0c;cc;codlc::::,,;;;;;;'.                                                               ....'.,l:;ccc::::;,'
                                         o0l:oxxkkOOOkkOOkl:dkdooddl,..                                                          ......';llcc::::::clc
                                        .kOdxkxl:::,,..'cxOlol;,'';oxl;,'..                                                    .......',;l;,,'',::c::;
                                       .c0Oc,c,..;c;;;,..:Ol:'...';cdo:,'';;;'.                                                .....'',''c:''',;:cc::;
                                       ,o0d',c,..c;...;;.;kl'..',:lc;;,';,,,;:c;'.                                            ......,,'.'c,''',,',;:::
                                      .lOOo:::'...  ...,coOd;,;:col:;:'...',,::cllc;..                                        .....','..';,'''''';:ccc
                                    .,k00kl:;.....   . .;Od;;llllc::cooc,,..... ....';;'.                                    .....'',...',,','''';:::;
                                 .,llxOkkdc:'....    .  ck:,c;.,,...',:lodc;,.   .... .'','.                                 .....',,...',,..''.';:;;;
                                ;dd.  .xkoco,....      .do:c...'.      ..':odl,...  ..  ..','.                               .....',,....';'''''';:::,
                                ..    'xxclx;....    . 'doo:...            .:do;,,'.  ..  .'','.                              .'...,,.....;;,;,;;;;:;'
                                      cxxcoxl,..       cddo,...              :dl,'',,'...  ..'''.                             .'..'';'....;:;;,;:;,,;,
                                     ,dxxlooc;'.  ....lkxxxol'..             .col;'..,;,,'.  ..,'..                           .......,,,,,;:;;::cc:::;
                                    'dxxkdol:;'. .dkkxddxxxkko'.              ..,;.  ..';:;,. ..;,..                           ......',;,,,;,,;,';clc:
                                  .;dxxkOkol:;'..;O0Okxxddxxl:'....            .        .'::,,...,;,.                           ....'..,;,,;,,,;,,ccc:
                               .,codddddkxollc;'..;lxxdc;;;,,'...  .................      .':c:,.',;;.                           .'.'''''.,;;,';clc;;,
                             .:dxdddddolllocllo:'.....'......'....................,..        .:c:'',;;.                           .''''''..':;,;:c:,',
                           .,dxddddddol:;:cclool;......'.....'''..................,:'..      ..'ll'.,;,.                           .,;,'...';:;:::cl::
                         ':lxkdool;;;l:',:ccclooc'.....','...',''.........'''......,:;..     .. .:l,',;.                            .;,.   .',,;;,;cll
                       .lxdoodlc;....:;,,;::ccc:;,............'''........'',,,'.....',;,.    ..   :d;,:,.                       .....;'....,',:;,'.,:;
                     ..'xkdlcccc:'..':,;;;::;,,;;;'''.........',,'.......',;;;,''....'','.       ..;l;:;.........             .....';c;''.'''':;','.,,
                    ....';;,''''....;;,;:;;;;;;:cc::;,'...',,,,;:;.......',;;;;,''.....''...      . :lcl;,'''.........'.  .. ........';:,..''',',;;;,,
                    ....''''........:;,::;;;;;:ccc:;,'.....''',;cl,.....'';::::,''......''..    ... 'ookollcccccc;,,';ooc.........;cooc:,'.',,'';::c:;
                   .....',,,'......'c;::;:,.',;:cc;,'.......','';lc,'...',;:::;,'....................dxx:........',;;cocclccc::ldxdoolodo:::c:::ccc::c
                 ......',,,,'......,c;::c,.',;c:c;,'....'','.,:loxxolc:;,,;:::::;,'.................:odo:...........:looc:cloddddoccldooolc;:ccc:cc::l
                 .....'',,,,,'....'clclc:'.:llccc;,.';;,;::cldkOkkkxxxdolcccccc:;,''..............'cc:do;...........'coolccloddolcccclooolc,;;:ccclc:l
                 ....'',;,,,'',;:clxdoll:';c;,;cc::codooooodkO0kxccllcldkxddolc:;;;,'.............:c;;xl''',',;,;,,::;;,;:lllc::lolll:;clll:::cllodddd
                 ....',,,,,,;llcccokdlc::c:,',:oodddoc::odxkOkddo;;cc;,;:dkxkxo:;;,,''''.........';:,cx:';;;:ccclllc:;,,:cc:;,'';coooollcclcloooddoodd
                 ....',,,,,,ol'.':oxolccloddc:oxdollll::odk00xodo;,:c:;,,cxddxd:;;,....',........';;;ld:;::ldxdo:;,,,;::lc;;,'',:coodoollloloxdddddodd
                                               ......                                                                                 .;;;;.          
                                           .:llol:;,,...                                                                               ,;,;.          
                                          :OOdc:,,,,,'.....                                                                            ':;;..         
                                         .O0dc:c:,,,'',......                                                                          .c',..         
                                          dKdlc:;,,'..''......                                                                         .;.'..         
                                          :Kxolc:,,'...,.......                                                                         ;.'..         
                                          ,Kkool:;;.'..''......                                                                         ,',,.         
                                          '0Okxdoc;.............                                                                        '',,          
                                          ,0kxdolc;............                                                                         ','           
                                          ;0kddl:;''.       ..                                                                          .,'           
                                          :0xccld:....        .                                                                         .,.           
                                          oOl,;:xd;...                                                                                  .;'.....''''''
                                         .kk,':;ld:;'.                                                                                ..,l:;:::::;;;,'
                                         .0o',c;cdl;;'..                                                                            ..'';o:;;:c;''''''
                                         ;0l;cl;:lxoc::::;',;;;;,'.                                                               ....'''cc:ccc:::::;,
                                         l0lcoxxxxOOOOOkOko:dOddoddl,..                                                          ......',llcc:::;:cclc
                                        .xOxxkxl:::;,'..cxOlll;,'';oko;,'..                                                    .......,;;c;,,',;::c::;
                                        :0Ol'c,..;c;;;''.:kl:,....;cdd:,',,;;'.                                                .....'','.:;'',,;:cc::;
                                       'o0d''c;..c;...;;.,kl'..',:ll;;,',,,',:c;'.                                            ......,''.'l;'',,'',;::c
                                      .ckOo:cc,...  ...,:lOd;,;:cll:;:'...',,;:cllc;..                                        .....','..';,'''''';:ccc
                                    .'x00kl:;.....     .;xx;;llolc:;cooc,'..'.......';;'..                                   .....',,...',;'''''';:::;
                                  'coxOkkdc:'.....   .  :kc,:;',,...';clddc;,.   .... .'','.                                 .....',;...',;.....';:;;;
                                ,dx'  .dkoco,....     ..odcc' .'.     ...'cddl,..   ..  ..','.                               .....',,. ..';''''',;:::,
                                ...   .xxlld:....      .olo:...            .:do;,,'.  .   .'','.                             .....',,.....;;,;,;;;;:;'
                                      :kxclxl,..       :ddd,...              ;dl,'',,'...  ..'''.                             .'..'';'....;:;;,;::;;;,
                                     .dxxlooc;'.  ....ckxxxol,..             .col;'.',;,,..  ..,'..                           ......','',,;:;;::cc:::;
                                    .oxkkdol:;'. .lxkxxddxxkko'.               ';;'  ..';;;,. ..;,..                           ......',;,,,;,,;,';clc:
                                  .,oxxkkkol:;,..,k00kxxddxxo:'....                     .'::,,...,;,'                           ....'..,;,,,,,,;,,ccc:
                               .,:lddddxkxdolc;'..;oxkdl:::;,'...  .................      .':c;,.'';;'                           .'.'''''.';:,';clc;,,
                             .;oddddddoolloclll:'....''......'....................,.         .;c:'',;;.                           ..'''''..':;,;:c:,';
                           .,oxddddddol:::cclodl:......''....'''..................':'.        .'cl,.';,.                           .,,,'...';:;:::cl::
                         .:lxkddol:;;c:,,:ccclooc'.....','...',''.........'''......,:;..      . .;o,',:.                            .,;.   .'',;;,;cll
                      ..cddoddlc;....:;,,;::cccc;,.......''...'''........'',,,'.....',;,.    ..   ;o:,;;.                        ....;,....'',::,'.,:;
                     ...xkdlllcc:,..'c,,;;;:;,,,;;'''.........',,'.......',;;;,''....'',,.       . ,o;;:.........             .....';c;'..','':;','.,,
                    ....,:;,'''''...;:,;:;;;;,;:cc::;'''..',,,,;:;.......',;;;;,,'.....''...        :lco:,'''........ .. ... .........;:,'.''',',;;;,,
                    ....''''........:;,::;;;;;:ccc:;,''....''',;cl;.....'';::::,,'......''..    .....lokolcccccc:;,,',oo:.........,cool:,''',,'.;::c:;
                   .....',,,'......'c;;:;:,.',;:cc;,'.......','';lc,'...',;:c:;,'....................oxxc........',;;cllccc:c::ldxxoolldo:::::::cc:::c
                 ......',,,,'......,c;::c,'',;c:c;,'....''''.':lodxolc:;,,;:c:::;,'.................;ldlc...........:looc:clooddddl:loooolc:ccccc::;:l
                 .....'',,,,''.....:lcccc'';oolcc;,..;;,;::cldkOOkkxxxdolcccccc:;,''..............'cc;xo:...........':ool:cloddoolcc:looolc;;;:ccclc:l
                 ....'',;,,,'',;::lddoolc';c:;;ccc:cloooooodkO0Oxccllcldkxddolc:;;,,'.............;c;,dl,,',',;,;;,;:;;,;:lllc::lllll:;cllo:;::cloddod
                 ....',,,,,,;clcccokdlc::c:,',:lodddoc:codxkOOxdo;;cc;,;:dxxkxoc;,,,'','.........';;,;dl,;:::lcclllc:;;,;cc:;,,',:looollccllcoooddoodd
                 ....',,,,,,ll'.'coxolc:cloo:;oxddllll::odxO0xool;,:c:;;,cxxdxdc;,,....',........',;;cdc;:lldddo:;,,,:::cc;;,'',::lodoolllooldddddoodd
                                               .,....                                                                                  ,;;;..         
                                           .:oool:;;,...                                                                               ,;,:.          
                                          c0kdc:,,,,,'.....                                                                            .:;;..         
                                         .O0dc:::,','.,......                                                                          .:,;..         
                                          oKxlc::,'''..,. ....                                                                          ;.'..         
                                          ;0kolc:,,''..'.......                                                                         ,''..         
                                          '0kooo:;;'....'.....'                                                                         ''',.         
                                          '0Okxdol;'............                                                                        ',,;          
                                          '0Oxdocc;............                                                                         .,'           
                                          ,0kxxo:;''.       ..                                                                          .,'           
                                          ;0xcccd:'.'.        .                                                                         .;'           
                                          l0o';:dd;'..                                                                                  .;,....'''''''
                                          xO,';;ld:;'.                                                                                ..'lc;;;:c:;;;,,
                                         .Od,,c;cdl;;'..                                                                            ...',lc;;:c;'.''''
                                         ,0l;cl;:lxoc:;:;,',,;,,,'.                                                               ....'''cc:ccc:ccc:;'
                                         c0o:oxxxxOOkOOOOko:dOddoddl,..                                                         ....'..',cc:::::;:cccc
                                         d0xxOkl::c;,'.':xOolo;,,';oko:,'..                                                    .......,;,::,,',,:cc::;
                                        ;OOl'c;..,c;;;''.;ko:,....,cdd:,'',;;'.                                                .....'','.::'',,;:cc::;
                                       'l0x,'c;..c:...;;.'xo,..'';ll::,',,,',;:;..                                            .....',''.'c;'',''',;:cc
                                      .:k0d:cc,...  ...':cOx;,;:cllc;;'...'',;:cllc,..                                        .....','..';;'''''';::c:
                                     .oK0Olc;'....   . .,xx;;llolc::cloc,'...'......';;'.                                    .....',,...',;'''''';::;;
                                  .coxOkkxc:,.....   .  ;Ol,:;'';...',:lddc;,.   .... .',,..                                 .....',,...'';.....';:;;;
                                'ox,  .dkoco;.....   . .ld:c, .'.     ...,codl,..   ..  ..','.                               .....',,....';''''',;:::,
                                .'.   .xxllx:....      .ooo:....          ..:dl;,'..  ..  .'','.                             .....',,.....;;,;;;:,,;;'
                                      :xxclxl,..       ;ddd;...              ;dl;'',''...  ...''.                             .'..'';'...';:;;,;::;;;,
                                     .oxxlloc;'.  ....:xxkxol,..             .:oo;'..,,,,..  ..,'..                           ......','',,;c;;::cc:c;;
                                    .lxkkdoo:;'. .lxxdxdxxxkkd,.               ';:,. ..';;;'. ..,,'.                           ......',;;,,;,';,.,clc:
                                   ,oxxkkkolc;,..'kO0kxxxxxxd:'....            ..  ..   .':;;,...,;,..                          ....'..,;,,,;,,;,,ccc:
                               .';lddddxkxdolc;'..;okkxoc:::,'...  ....  ...........      .'::;,..';;'.                          .'.''''''';:,';clc;,,
                             .,oddddddoollolcll:'....,,......'....................,.         .:l:''';;'                           ..''''...'::,;:c:,';
                           ..lxdddxxdolc::cllodl:......''....'''..................';'.        .'cl,.';;.                           .,,,'...';:;:::cc::
                         .;cxkdddl:::c:,;:ccclooc'......,'....,'.........''''......,:;..      . .;l,',:'                            .;;.   .'',;;,;cll
                       .:ddoddll:....:;,,;cccllc;,............','........'',,,'.....',,'.    ...  ,d;,;;.                          ..;,....'',::,'',;;
                     ...kkdollcc:,..':,,;;;;;,,;;;'''.........',''.......',;;;,''....'';,.         'o;;:.........              ....';l:'..','':;''..,;
                    ....,c:;,,'''...;:,;:;;;;;;:cc::;'''..',,,,,:;.......',;;;;,,'.....''...        ;lcl:,'.......... ...............';;,'.''',',,;;;,
                    ....'''''.......::,::;;;;::ccc::,''....''',;cl;.....'';::::,,'......''..    ... .loxdllcc:cc:;,,''ld:.........,:lol:,''',''.,::::;
                   .....',,,'......':;;:;:,.',;:cc;,'.......','';lc,'...',;:c:;,'....................oxxl'...'...',;;:llcccc:::coxxollcolc;:::;:ccc::c
                 ......',,,,''.....,c;:;c;.'',::c;,'....''''.';coddolc:;,,;::::;,,'.................;ldlc.....   ...;clocccllodxddlcloooolc:ccccc::::l
                 .....'',,,,''.....:lccc:'';oolcc;,..;;,;::cldkOOkkxxxxdocccc:::;,'................cc,doc'..........':odoccclodoolccccoooll;;;:cccc::l
                 ....'',,,,,''',;:lddoooc.,c:;;ccc:clodoooodkO0Oxcclllodxxxdolc:;;,,'.............;c;'oo;'',',;;;;,;:;;;;:llllc:lolllc:colo:;::cloddod
                 ....',,,,,,;cllccokdoc::::,',;looddoc::oddkOOxxo;;:c:;;:dxxxxoc;,,,''''..........;:,,do,,;;:lcclllc:;;,;:c::;,',clooolllclccooodddddd
                 ....',,,,,,ll,.'cokdl::cloo:;lxdooolcc:ldkO0dlol;,;cc:;,cxxoxxc;;;'...,,...'.....;;,;dl;:cldddo:;;,,:::cl:;;'',::looooolcollxxddddddd
                                              .';'...                                                                                  ';,:.          
                                           .cdddl:,;;...                                                                               ';,:..         
                                          c0koc:;,,,',......                                                                           .:;;..         
                                         .kKdc:;:,','.,. ....                                                                          .:;;..         
                                          lKxoc::,'''..,......                                                                          ;.,..         
                                          ,Kklll:,,'...''....'.                                                                         ,'''.         
                                          .OOddo:;:,....'.....'.                                                                        ',,;.         
                                          .OOkxdol:'............                                                                        .,,;.         
                                          .OOxdolc;'.......... .                                                                        .,'           
                                          '0kdxoc;''.       .                                                                           .,'           
                                          ;0k::cdc'...        .                                                                         .,'           
                                          c0l';:dx:'..                                                                                  .;,...'',',,''
                                          xO;.;;ldc;,.                                                                                ..'lc;;;;::;;;,'
                                         .Od,,:::oo;,,..                                                                            ..'',lc;;:c;'.''''
                                         '0o;:l;:cxlc:;;;;'',,,,,'.                                                               ....'.'c::ccc:cc::;,
                                         :0o:lxxxxOkkOOOOkocdOxdoddl,..                                                         .......',cc::::;;::ccc
                                         o0xxkko:;c:,,'':xOllo:,,';oko:,'..                                                    ......',;,::,,'',:cc:;;
                                        ,kOl':;..;c;;;,'.,kdc,....,:ddc,'',;;'.                                                .....'','.;:'',,;:cc:::
                                       .lOx,'::..c:...;;.'dd,..'';cc::;',,,,,;:;.                                             .....',,..'c;'','',,;:cc
                                      .:x0d::c,...  ...':cOx;';:cllc;;'.'.'',;:lloc,..                                        .....','..',;'''''';::::
                                     .l00Ooc;'....   . .'dx:;llolc:;cloc,'...'......';,..                                    .....',,...'';',,'.';::;,
                                  .:lxOOOxc:,.....   .  ,kl'::'';...';:odo:;'..  .... .',,..                                 .....',,...'';'....';:;;,
                                .lk; ..okoco;.....      cdcc;..'.     ...,codl,..   ..  ..','.                               .....',,....';''''',;:::'
                                .'.   .dxllxc....      .oool....          ..:do;,'..  ..  .'','.                             .....',,.....;;,;;;:,,;;'
                                      ,kxclxl,..       ,ddd;...              ,dl;'','....  ...''.                             .'..'';'...';:;;,;::;;;,
                                     .okxlloc;'.   ...,xkkxoc'..             .:do;'.',,,'..  ..,'..                           ......','',,;:;;::cc:c;;
                                    .lxkkdoo:;'. .cdxdxxdxxkkd;.               ':c;. ..';;;'.  .,,'..                          ......',;;,,;;';'.,clc:
                                   .lxxxkkolc;,...kO0Oxxdddkdc'....             ..  .   .':;;,...';,..                          .......,,,,,;,,;,;ccc:
                               ..,cddddxkkdolc;'..cdkkxocccc;'...  ....  ...........      .,::;,.'';;'.                         ....''''''';:,';clc;,,
                              'lddddddolloolccl:'....,;,.....'....................'..        .:c:''';;'                           ...',''..'::,;:c:,';
                           ..cxddxxxddoc::cccodo:......''....'''..................';'..       .'cl,.';;.                           .',,,...';:;:::cc::
                         .,cdkdddoc::c:,;:ccclooc'......,'....,'.........''''......,:;..      . .,l;'':,.                           .;;'.  .'',;;,;lll
                      ..;ddoddol:'...;;,,;cccllc;,.......''...','........'',,,'.....',,'.    ...  ,o:';:.                          ..,,....'''::,'',;:
                     ...kxdollcc:,..':,,;;;;;,;;;;'''.........',''.......',;;;,'.....'',,.     ..  .o:;:'........              ....';l:'..','':;,'..,;
                    ....;c:;,,,,,...;:,;:;;;;;;::c::;'''..',,,,,:;.......',;;;;,,'.....''...      . 'o:lc,'.......... ..  .. .........;;,'.''',',,;;;,
                    ....'''''.......;;,::;;::::ccc::,''....''',;cl;.....'';::::,,'......''..    ... .loxxlcccccc:;,,,.co:.........,:lol:;'.',''.'::c:;
                   .....',,,'......':;;:;:;.',;:cc;,'.......','';lc,'...',;:c:;,'....................cxxo,...''''',,,:llcc:::::codxdlccolc;;:;;::cc:::
                 ......',,,,''.....,c;:;c;.',,:cc;,'....''''.';codddl:;;,,;:c::;,,..................,cdol'..........;clocccllodxddlcloooolc:ccccc:::;c
                 .....'',,,,'......;l:ccc'';lolcc;,..;;,,;::cdkkOkkkxdddolccc:::;,'................:l,ooc,...........:odoccllddoolccccoooll:;;:ccccc:l
                 ....'',,,,,''',;:coooooc',c:;;ccc::ldooloddkO0Oxlclllodxxxdolc:;;,,'.............;c:'lo:'''',;;,;,;:;;;;:lcllc:loollc:collc;;:clodood
                 ....',,,,,,,colccokdolc:::,'';cloddlc:codxkOOxxo:;:c:;;:dkdxxdc;;,,'''...........;:,'od;,;::clclllc::;,;::c:;,',;looolllclccoooddddod
                 ....',,,,,,cl,.':okdl:::lol:;lxxdoooc:;ldk0Kdlll,,;c:;;,:kxdxxl;,,'...,,...'.....,,,,dl::cldddo:;;;,;:;cc::;,',;:ldoodolcooldddddoodx
                                              .;c,'...                                                                                 ',,c..         
                                           'ldddc;;;;'...                                                                              .;,:..         
                                          l0koc:;,,,,,......                                                                           .;;:..         
                                         .xKdl:::,','.,......                                                                           ;;;..         
                                          :Kkoc::,'''..,......                                                                          ,''..         
                                          .0Ooll:,,''...'....'.                                                                         ',''.         
                                          .OOxdoc;;,....'.....'.                                                                        .,,;.         
                                          .OOkxdol:'............                                                                        .;,;.         
                                          .OOxdocc:'.......... .                                                                        .;'.          
                                          .OOxxoc;''.       .                                                                            ,'.          
                                          ,0kc;:dl,...        .                                                                          ,'.          
                                          :0o';;okc'..                                                                                  .;;...'',,,,''
                                          dO;.;;cdc;,..                                                                               ..'ll;;,;::;;;,'
                                         .kx,,:::oo:;,..                                                                            ..'''lc;;:c;'..'''
                                         .Oo;:l;:cdll:;;;,'',,,,,'.                                                               ....''.:cccc:cccc::,
                                         ;0dclxxxxOkkOOOOkdcoOxdoddl,..                                                         .......''cl::;:;;::ccc
                                         l0xxkOo::c:;,'':x0olo:;,';lxd:,'...                                                   .......,;'::,'',;:cc:;;
                                        'kOo'::..;c;;;,..,dd:;....,:dxc,'',;,..                                                .....'','.::''',,;cc:::
                                       .:Ox,'::..::. .,;'.od;...',:lc;;,,,,,,;:,.                                             .....',,...c:'''''',;:cc
                                      .,d0d:::;...  ...'::kk;',;:llc;;'.'..',;:lloc,.                                         .....','..';:'''''';::::
                                     .c0KOoc,'....   . .'ok:;cloll::clo:,'...'......';,..                                    .....',,...'':'',''':::;,
                                  .;lxOOOxl:,.....   .  'xo,;:',;'..,;codd:,'..   ... .',,..                                 .....',,....';'....';:;;,
                                .ckc ..lkdco;.....      :xc:;..'.     ...;codl,..   ..  ..','.                               .....',,....';''''',;:::'
                                .,.    okllxc....       lool....          ..:do:,'..  ..  .'','.                             .....',,.....;;;;;;:,,;;'
                                      'kxlcxl;..       'ddo;...              ,ol;',''....  ...''.                             ....'';'...';:;;,;::;;;,
                                     .okxlloc;'.   ...'dkxxoc'..              :do:'..,,,'..  ..,''.                           ......','',,;:;;::cc:c;;
                                    .cxkkdooc;'. .:ododxxxxxkd;.              ..:cc. ..';;;'.  .,,'..                          ......',;,,,,;','.;clcc
                                   .cxxxkkdlc;,...xO0Oxxdddkxl,....            . .. .   .';:;,...';,'.                          .......,;,,,;,,:,,ccc:
                                .,:odddxkkdllc;'..cdOkxdlccc;'.........  ..........       .,::;,..',;'.                         ....''''''';:;',clc;,,
                              .cddddddooooollcl:'....;:,.....'....................'.        ..;c:''',;'                           ...','...'::,,:c:,';
                            .:ddddxxddoc::cccooo:......''....'''..................';..        .':l,.';;.                           .',,'...';:;:::cc::
                         .,cdkxddoccclc;;:ccclodc,......''....''..........'''......,:;..      ...,l:.,;,.                           .,;'.  .'',;;,;lll
                      ..,ododdolc'...;;,,;ccclll:,.......''...','........'',,,'.....',,'.     ..  'oc';:.                           .,,....''':c,'',;:
                     ...xkdollcc:,...:;,;;;;;,;;;;'''.........',,'.......',;;;,''....'',,.     .. ..l:;:'........              ....',c:'...,,':;,'..,;
                    ....:lc;;,,,,...,:,;:;;;,;;::c::;'''..',,,,,:;.......',;;;;,,'.....''...    ..  .l:lc,'.......... ..  .  .........,;;'.''',',,;;;,
                    ....'''''.......;:,::;;;:::cccc:,''....''',;cl;.....'';::::;,'......''..    ... .:oxxlccc::::;,',.:o:.........';lol:;''',''.';:c:;
                   .....',,,'.......:;;:::;.',;:cc;,'.......','';lc,'...',;:c:;,'....................:xdd;'..''''',;,;lllc:::::cldxolc:loc;;;;;;:cc:::
                 ......',,,,'......'c;:::;.',,:cc;,''....'''.';:ldddl:;;,,;:c::;;,................ .,:dll,.........';clolcccloddddollollolcccccc::::;c
                 .....'',,,,''.....,c:ccc'.,lllcc;,..,,,,;::cdxkOkkkxdddolccc:::;,'................:l,col;...........;ldocclloooolccccoooll:;::ccccl:c
                 ....'',,,,,'''';;coolllc',c:;;ccc::coooloodkO0Oxlclllodxxxdolc:;;,''.............,c:'cdc'''',;;,;,;:;;;;:lcllccllllcccllloc;;:cllodoo
                 ....',,,,,,,:llcclxdolc:::,'';cloddocc:odxkOOxxo:;:c:;::dkdxxdc;;,,'''...........;:,'cd:';;:clcllcc::;,,::c:;;,,;coooollcllcooooddood
                 ....',,,,,,co;.':okdlc:;cll;;lxdxdoolc;cdkOKxlll,,;c:;;,:kxdxxl;;,,'..,,...'.....,,,,od:;:loxxdc::;,;:;;c::;,',,;looodolcloodddoddodx
                                              .:l:,'..                                                                                 .;,c..         
                                           'okxoc;,;;'...                                                                              .;,:..         
                                         .l0koc::,',,''.....                                                                            ,;:..         
                                         .xKxl:;:,'''.''.....                                                                           ,;;..         
                                          ;Kkoc::,,,'..'.. ...                                                                          ','..         
                                          .OOolc:,,,....'....'.                                                                         .,,'.         
                                          .kOxdol::,....'.....'.                                                                        .,,;'         
                                          .k0kxdoo:'...........'                                                                        .,,;.         
                                          .kOxdocc:,.......... .                                                                         ,'.          
                                          .OOxdoc:,'..                                                                                   ,'.          
                                          '0kc;:dl,...         .                                                                         ''.         .
                                          ;0o';;lkc'...                                                                                  ;;'.'',,,,,''
                                          l0:.;;:ol;,..                                                                              ...'ll;;,;::;;,,'
                                          xk,':::lo:,,..                                                                           ...'''ll;;:c,..''''
                                         .Od;;l;;cdlc:;;;,'',,,,,'.                                                               ....'..:lcccccccc::,
                                         ,Od:lxxxxOOkkOOOOdcokxdoddl,.                                                          .......',cl::;:;;::ccc
                                         c0kxxOoc:l:;,',:xOdldc;,',lkd:,'..                                                    ......',;,::,'',,:cc:;;
                                        .k0o,::..,c:;;,'.'dd::....,:odl;'',;,.                                                ......',,..:c,',,,;c:;::
                                       .:Ok,'::..::. .,;'.lx;...',:cc:;',,,,,;:;.                                             .....',,..'c:,''''',;:cc
                                       ,d0x:::;....  ..'::xk:'';:llc;;'.'..',;:lll:,.                                         .....','..';c,''''';::::
                                     .:O0Oo:;'....   . .'ckc;cllll:;:ll:,....'...''',;,..                                    .....',,...'':'','.';::;,
                                  .;lxOOOxl:,.....      .xd';:,,,'.',;:odd:,''.   ..  .',,..                                 .....',,....';'....';;;;,
                                .:xc...lxdcl:.....      ;xc::..'.     ...;lool,.    ..  ..','.                               .....','....';''''',;::;'
                                .;,    lkolxc....       loll....          ..;do:,'..  ..  .'','.                             ......,,.....;;;;;;:,,;;'
                                      .xklcxo;..       .ooo;...              ,dl;,','....   .'''.                             ....'.;'...';c;;,;::;;;,
                                     .lxxlloc:'.     ..okxxo:'..              :do:'..,,,'..  ..,,'.                           ......',,',,;:;;:;:::c:;
                                     :xxkdooc;'. .;odlxxxxxkxd;.               'clc. ..,;;;'.  .','..                          ......',;;,,,;';'.,:lcc
                                   .:xxxkkolc:,...xO0Oxxxxxxxo;..                ...    .';:;,. .';,..                          .......,;,,,;,,:;,:cc:
                                .,:oddddkkdllc;'..cxOkxdllll:,...  ....  ...........      .,::;,..',;,.                         ....''''''';:;',clc:,,
                              .:ddddddooodollll:'....::,.....'.......................       .';c:''',;'.                          ...'''...'::,,:::,';
                            .;ddddxxddoc::cccodo:......''....'''..................';..        .':l,.';;.                           .',,'....;:;;::cc::
                         .';okxddollclc;;:ccclooc,......''....,'..........'''......,:;..       . ,l:.';;.                           .,;'.  .'',;;,:lll
                      ..'ldodxolc,...;;,,;ccccol:,.......''...','........'',,,'.....';,,.      .  .oc,,:.                           .,,....'.'::;'.,:;
                     ...xkdollcc:'...:;,;;;::;;;;;'''..........,,........',;;;,'.....'';,..    ..  .l:;:,........              .....,c:'..',,,:;,,'.';
                    ....:lc:;;,;,'..,:,,;::;;;;:c:::;,''..',,,,,;;.......',;;;;,,'......''..    ..  .o:cc;'.........   .  .  .........,;;'.''','',,,;;
                    ....'''''.......,:,;:;;;:::cccc:,''....''',;cl;.....'';::::;,'......''..    ..  .;ddxlcc:::::;'',';o:.........';cooc;,'',''.';:::;
                   .....'',,'.......:;;:;;;.';::cc;,,.......','';cc;'...',;::::,'....................;xxd:'..''',,,,,;lolc:;;;::loxdlc:coc;;;;;;:c::::
                 ......',,,,'......':;:::;'.',:cc:'''....'''.';:ldxdlc;;,,;::::;,,'.................,coll:..........,:lllcllloodxdolloooolc:ccccc:::;c
                 .....'',,,,''.....,c:c:c,.,lllcc;,..,,,,;;:coxkOkkkxdddolccc:::;,'............. ..;l,:dl:...........;ldolcllodoooccc:looll:;:::cccl:c
                 ....'',,,,,'''',;:lolllc',cc;;clc::coooloodkO0Oklclllodxxxdolcc;,,'..............,c:.;dl,'''',;,;,;:;;;;:c:cllccollcccloool;;;:clodoo
                 ....',,,,,,,:llcclxdolc:::,'';cloddolc:odxkOOxxd:;:c:;;cdkdxxdc;;,,'''...........;:;':dc';;:clcclll::;,';::::;,,;coooollcll:ooooddddd
                 ....',,,,,,:o;.':lkxo:::cll;,cxxxddolc;cdkOKxoll;';c:;;,:kxdxxl:;,,'..,,...'.....,,,,cdc,:lodxdc;:;,;:;;:::;,,';:cooddolcloodddoddood
                                             .'coc;'...                                                                                .;,c..         
                                           ,dkxoc;;;;,...                                                                              .,,c..         
                                          l0ko:::,',,,'.....                                                                            ,;:'.         
                                         .oKxl:;:,'''.''......                                                                          ':,..         
                                          ,0Ool::,,,...''. ...                                                                          .,'..         
                                          .O0ooc:,,,....,.......                                                                        .;'''         
                                           xOxddlc:,'...,.....'.                                                                         ;','         
                                           x0kxdooc,............                                                                         ,':.         
                                           x0xdocc:,... ......                                                                           ,'.          
                                          .kOxdol:,.'.                                                                                   ''.          
                                          .Okc;:dd,...         .                                                                         ',.       ...
                                          ,0o';;lxl,...                                                                                  ;:,''',;,,,''
                                          c0:.;;:ol;,..                                                                              ...'cl:;,;:;;,,,'
                                          dO;':;:ld;,,..                                                                           ...'''co:;:c,..''''
                                         .kx;;l;;:dlc:;,;,'.',''''.                                                              .....''.:oclcccccc::;
                                         '0d:lxxxxOkkkOOOkdcokxddddl,.                                                          ....'..,'co:;;;;;:::cc
                                         :0kxxOdc:lc;;,,:o0xldc;,',cxxc,'..                                                    ......',;';c,''',:cc:;;
                                        .x0d,;c..,c;;;,'..ox::..'.':odl;'',;,.                                                .....'',,'.;c,',,,;c:;::
                                       .:Ok;':c..;;. .,;'.lx;...',;cc:;'',,,,;:,.                                             .....',,...c:,''',,,;:cc
                                       'o0xc:::....  ..':;xkc.'::lol;,,.'..',,:lol:,.                                         .....,,...',:,''''';::::
                                      ;k00o:;'....   . .'ckl,colll:::cl:,....'....'',;,..                                    .....',,..''.;'','''::;;,
                                   'lxOOkkl:,.....      .od,,c,,;'.',;:odo:,'..   ..  .',,..                                 .....',,...'';'....';;;;,
                                .;dl..'ckxcl:.....      ;xl::...'     ..';cool,.    ..  ..','.                               .....','....';,''',,;::;'
                                .:,.   ckolxl.....      cdll'...          ..;do:,'..  ..  .'','.                             .....',,.....;:,;;;:;,;,'
                                      .dklcxo;....     .odo:...              'ol;,'''....   .'''.                             ....'.,'...';c;,,:c;,;;,
                                      ckxlloc:'.     ..lkxxo:'..              :do:..'','...  ..,,'.                           ......','',,,:;,:;c::c::
                                     ;xxkdooc;'.  'llldkxxxkxd;.               'col. ..,;;;'.  .','..                          ......',,;,,,;','.,:ccc
                                   .:dxxkkdlc;,...dOOkdxxxxkxo;....            ..... .  .';;;,. .';,'.                         ........,;,,,;,,:;,:cc:
                                .';oddddkkxllc;,..cxOkxdolll:,.........  ............     .,::;,..',;,.                         ....''''''';:;',clc;,,
                              .;odddddooodollcl:'...'cc,.....'.......................       .';::'.',;,.                          ...'''...':;;,;::,',
                            .,odddxxddoc::cccodo;......''....'''..................';..        .':l,.',:'                           .',,'....;:;;::ccc:
                         ..;okxddollllc;;:ccclodl,......''....''..........'''......,:;..       . ,l:'';;.                           .,;'.  .'',;;,;lll
                       .'coodxool;...;;,,;cccllo:,.......''...','........'',,,'.....';,'.      .  .ll',:'.                          .,,......'::;'.,::
                     ...xxdoollc:,...:;,;;;;:;;;;;'',..........,,'.......',;;;,'.....',;,..    .   .cc;;;.......               .....,c:'..',,,:;,''.';
                    ....:ol:;;;;;,..':,,;::;;;;:c:::;,''..''',,,;,.......',;;;;,,'......''..    ..  .l:cc;'.........   .      .......';:;'.''','',,;;;
                    ....'''''.......,:,;:;;::::cccc:,''....'''';co;.....'';::::;,'......''..    ...  ;oddolc::::;;',,.,l:..........,cloc:,.',''..;;::;
                   .....''','.......;:,:;;;.';::cc;,,.......','';lc;'...',;::::,'........'...........;xxdc'..,,,,,,;,,colc;;;:;:coxolc::oc;,;;;;:cc::;
                 ......',,,,'......'::;::;'',,:cc:'''....'''.';:ldxdlc:;,,;::::,,'................ .'cool:..........,:lolcllooodxxdlloololl:cccc::::;:
                 .....'',,,,''.....'::::c,.,lolcc;,'.,,',;;::odkOkkkxdddolccccc:;,,............. ..;l,;dlc'..........,cddcclloddollcc:looll:::::cccl:c
                 ....'',,,,,''.',;:lolllc''cc:;clc::codoloodkO00klclllodxxxdolcc;,,'..............,cc',dl;'''',,,;,;:;;;;:ccclllclllcccloool;;;:clodoo
                 ....',,,,,,,:lllclxxoll:::,'';cloddolccldxkOOxxd:;:c:;;cokxxxdc;;,,'''...........,:;',dc,;;:clcclll::;,';::::;,,;coooolllll:loooddddd
                 ....',,,,,,cd;.'clxxo:::cc:,'cxxxxdoc:,cdkOKxlcl;,;c:;;,:kxxxxl:;,,'..,'...'.....,;,';xc;:lodxdl;:;;;:;,::;;;,,;:clodddoccoloddoddood
                                             .,oxl:;'..                                                                                .,':'.         
                                           ,dkxl:,,;;,....                                                                              ,,:'.         
                                          lKxo:::;,',,'.....                                                                            '::'.         
                                          lKxl:;;;,''.''. ....                                                                          ':,..         
                                          .0Oolc:;,,'...'......                                                                         .;...         
                                          .x0dllc;;,....,.......                                                                        .;''.         
                                           d0xxdoc:,''..''.....'                                                                         ,',,         
                                           d0kxdloc,...........'.                                                                        '':'         
                                           d0xddc:;,...  .....                                                                           ''.          
                                          .xOxdooc'.'.       .                                                                           ',.          
                                          .Okc;:od;...         .                                                                         ';.      ....
                                          '0d',;cxl;...                                                                                  ;c,''',;;;,,'
                                          :0c',;:ol;,'.                                                                              ...'lo:;,::;;,,,'
                                          oO;,:::cd:,,...                                                                          ...'''co:;::;...'''
                                         .kx;;l:::doc:,,;,'.','''..                                                              .....'..:occccccccc:;
                                         .OxclxxxxOkkOkOOkdllkkdddxo,.                                                          ....'..',co:::;;;:::cc
                                         ;0kxxOdc:lc::,,:oOxldl;,',cxxc,'...                                                   ......',;';c;,'';:cc:;;
                                        .d0d,,c..,l;,:;'..lk::'...':odo;'',;,.                                                .....'',,..;l,,,,,;c:;::
                                       .;kO:.;c..;:. .':'.:k:...'';cl:;'',,,,;:,.                                             .....','..'cc;''''',;:cc
                                       .lOx::::...   ..':;dOc'';:lol;,,.'..',,:lol:,.                                         .....',...',c;''''';::::
                                      'x00dc;,....   . ..;kl,cllol:;;cl:,....''...',,;,..                                    .....',,...'.:,'''.'::;;,
                                   .cdOOOkl:,.....      .ox,,c,,;,.',;:odo:,...   ..  .,,,..                                 .....',,..'.';,....';;;;,
                                 ,do..'ckdcoc.....      ,xl:c..''.   ...';cool,.    ..  ..','.                               .....','....';,''',,;::;'
                                .:;.   :kocxl'....      :dll,...          ..;do:,'..  ..  .'.''.                             .....',,.....::,;;;:;,;,'
                                      .oklcxo;....     .ldoc...              'oo;,'''....   .'''.                             ....'','...';c,,,;c;,;;,
                                      :xxolol:'.   . ..cxxxo:'...             ;dl:..',,'...  ..,,..                           ......','',,,:;,:;::cc::
                                     ,xxkxooc;'.  'cllokxxxxxd;'               'lol'...,;;,'.  .','..                          ......',,,,,,;','.,:ccc
                                   .;dxxkkdoc;,...oOOOdxdddxkd:....             ....    .';;;,. .';,'.                         ........',,,,;,,:;;ccc:
                                ..,lddddkkxllc;,..lkOOxxooolc,.........  ............     .,:;;,..',;,.                         ....''''''';:;',clc;,,
                              .,odddddooodollcc:'...'cl;.....'......................        .';::,.'';,.                          ...'''...':;;,;::,',
                            .,odddxxxdoc::clcodo;......''....'''...................;..         ':l;.',:'                           .'','....;:;;::ccc:
                         ..,lkxdddoolll;;:ccclodl,......''....''..........'''......';;..       ..'l:'';;.                           .,;,.  .'',;;,:lll
                       ..:oodxdol:...,:,,;ccclloc,.......''...','........'',,,'.....';,'.      .  .lc',;,.                           ';.. ...'::;,';:;
                     ...xxdooolc:'...:;,;;;;::;;;;'',..........,,'.......',;;;,''....',,,..       ..:c,;:.......               .....'cc'..',,'::,''.';
                    ....cdoc:;;;;,..':,,;::;;;,::c::;,''..''',,,;,.......',;;;;,,'.....'''...   ..  .c::l:'.........   .       ......';:;'..'',,',,;;;
                    .....'''''......,:,;:;;::::cccc:,''....'''';:l;.....'';::::;,'......''...   .... 'doxdc:::;;;,'',''l:..........,:lol:,'.,,'..;:::;
                   .....'',,'.......;:,:;;;.,;;:cc:,,'......','',lc;'...',;::::,'........'...........'xddl,'.',,;,;;,,:olc;;;;;;coxdlc;:oc;,;;;;:cc:::
                 ......',,,,'.......::;;::'.',;cc:,''.....''.';:ldxdlc:;,,;::::,,'..................':lolc'.........,:cllllllloddxdllolloll;cccc::::::
                 .....'',,,,''.....':::::;.,colcc;,'.,,',,;;:ldkOOkkxxddocclc:::;,,................,l;,oll'..........,cddlclloddollcccclollc::::ccccc:
                 ....'',,,,,''.',;:cllllc',cc:;clc:::odollodkO00klclllodxxxdollc;,,'..............'cc'.oo:..',,;,,;;:;;;;:cccllllllllc:loool:;;;cloooo
                 ....',,,,,,,:locccddool:::,,,,:loddolccodxk0Oxxdc;:c:;;cokxxxdc;;,,'''...........,:;'.oo;,;cclcccll:::,';:::::;,;clooolllllcllooddddd
                 ....',,,,,,:lc,,:cxxoc::cc;,,:dxxddol:;cdx00xlcl;';::;;,:kxxxko:;,,''','.........,;,.,dl;ccodxdl;:;;;:;,::;;;;,,:clooooocclodddoddooo
                                             .:dxl:;,...                                                                                ,,:'.         
                                          .;xOxl:,,,;,'...                                                                              ';:'.         
                                          oKxo:::;,,,''......                                                                           .::,.         
                                          cKkoc;;;,''..,.. ...                                                                          .c,'.         
                                          .0Oolc:;,,'..',......                                                                         .;...         
                                           d0dolc;;;....''......                                                                         ,.'.         
                                           o0kxdoc:;....''.....,.                                                                        ,',,         
                                           oKOxdool,.............                                                                        ',;,         
                                           o0xddl:;,...   .....                                                                          ',.          
                                           d0xdooc,.'.       .                                                                           .;.          
                                          .kOl;;lx:'..         .                                                                         .:'      ....
                                          '0d,,;cxl;'..                                                                                 .,c;'',,;;,,,'
                                          ;0c.,:;lo:,'.                                                                              ...'coc;;::;,,,,'
                                          l0:':c;cdc,,..                                                                           .....'cdc;c:,'''...
                                          xk;;lc;:ooc:,,,;'..''''..                                                              ........:dllc:cccccc:
                                         .kxclxxxxkkkkkOOOxlokkdddxo;.                                                          ......',,:o::;;;;:::::
                                         '0kxkOdc:oc::;;:oOxcdl:;,,cxxc,'...                                                   ......',;';c:,'';ccc:;;
                                        .o0x,,c..,l:,;;'..lk::'...':odo;'',,,.                                                .....'','..;l;,,,,,:::::
                                        ,xOc.;c..,;. .':'.;k:...'';cl::,',;,,;:,.                                             .....',,..':c;''''',;:cc
                                       .c0kc:::...   ...:;o0c'',:col;,,.''.',,:lol:'.                                        .....'',...',c;''''':::::
                                      .d00dc;,....   .  .,xo;cllllc:;co:'....''..'',;;,..                                    .....',,.....:,','''::;;,
                                   .:dOOOkl:,.....      .cx,,c;,;,.',;:odd:,.'.   ..  .,,,..                                 .....',,..'.';,....,;;;;,
                                 'od'.':kxllc.....      'xo;c...'.   ...';cooc,..   ..  ..','.                               .....','....';,''',,;::;'
                                .c:.   ;kocdo'...       ;xll,...          ..;dd:,...  .   .'.''.                             .....',,.....::,;;;:;,;,'
                                      .lkocxo:...       lool...              'oo:,'''....   .'''.                             ....'','...';c;,,;c:,;;,
                                      ;xxocol:'..     .;xdxo;'...             ,do:..',,'...  ..,,'.                           ......','',,,:;,;;;:cc;:
                                     'dxkxloc;'.. .;ccokxxxxxd;.               .lol,...,;;,'.  .','..                          ......',,,,,,;','.,:c:c
                                   .,dxxkkdoc;,...lk0Odxxxxxkd:....            .....    .';:;,...';,'.                         ........',,,,;,,:;;:c::
                                 .,cddddkkxllc;'..lk0Oxxooool,.........  ..............   .,:;;,..',;'.                         ....''''''';::,,clc:,,
                              .'lddoddoodddolcc:'...,ll:'....'.......................       .';:;'.'';,.                          ...'''...':;;,;::,',
                             .lddddxxdolc:cllooo;......''....'''...................;...        ':c;'.,:'.                          .'','....;:;;::ccc:
                          .'ckxddddooll:;;ccclodl;......''....''..........'''......';,..       ..'lc'',;.                           .,;,.  .'',;;;:lll
                      ...;oodxdol:'..,:,,;:lccloc,.......''...','........'',,,'.....';,'.         .cl',;,.                           ';.. ...'::;,';:;
                     ...dxdooolc:'...:;';;;::::;;;'',.......'..,,'.......',;;;,'.....',,,...    .. .;l,;:'......               .....'cc'..',,';:,''.';
                    ....ldol:::::,..'c,';:;;;,,::c::;,''..','',;;,.......',;;;;,,'......,'...   ..  .cc:l:'.........           .......,:;,..'',,',,,;;
                    ....',,''.......,:,;:;;;:::cccc:;'''...'''';:l;.....'';::::;,'......''...   ...  .ooddl:::;;;,'','.c:..........,:lol:,'.,,'..;:::;
                   .....',,,'.......;:,:;;:.,:;:cc:;,'.....'',,',ll;'...',;::c:,''.......'......... .'xxxo;'.',;;,;;,,:olc;,;;;::lddlc::lc;,;;,,:cc:::
                 ......',,,,'.......::;;::''',;cc:,''.....''.',:ldxdlc:;,,;::::;,'...................:lolc'.........,:cllclooooddddlllllocc:cccc::;:::
                 .....'',,,,''.....':::::;.,coocc:,'.,,'',;;:ldkOOkkxxddocclc:::;,,................,c;'ool,..........,cdolclllddollcccclollc::::ccccc:
                 ....'',,,,,''..',;:lllcc''cc:::lcc;:ooollodkO00klclllodxxxdoolc;,,'...............cc,.lol'.',,,,,;,:;;:::cc:cllllllcc:loool:;;;clodoo
                 ....',,,;,,,;lolccddollc;:;,,,:llodolccodxk00kddc;:c:;:cokxxxdc;;,,'''...........,::'.lo:,:ccllccllc::,';:::::;,;:odoolllllcllooddddd
                 ....',,,;,,:lc,,;:xxol::cc;,':ddxxdol:;cdxO0kocl;';::;;;:kkxxko:;;,''.''...'.....,;,.'oo::codxdl::;;;:;,::;;;;,;::looodoccoooddodollo
                                            .'cxxlc:;'..                                                                                ',:,.         
                                          .:k0xl:,',,,.....                                                                             ';;,.         
                                          lKkl:;:;,,,''......                                                                           .:;,.         
                                          :KOoc;;,,'''.'.. ...                                                                          .c;,.         
                                          .k0docc;,,'...,......                                                                          ;.'.         
                                           oKxolc;,;'...''......                                                                         ,''.         
                                           l0kxddlc;'....'.....'.                                                                        '',,         
                                           lKOxdlol;.............                                                                        ',:;         
                                           l0kddlc:,'..   .....                                                                          ';'          
                                           o0kolol,...       .                                                                           .;'          
                                           xOl,:cxc'..         .                                                                         .;'      ....
                                          .0x,,;:do:'..                                                                                 .'l;',,,:;;,,'
                                          ,0l.,;;lo:;'.                                                                              ...'cdc;;::,,,,,'
                                          c0:':c;cdc;,...                                                                          ....'':oc;::,''''''
                                          dO;;lc;;odc:,,,;'........                                                              ........;dllc:cccccc:
                                          xkccdxdxkkxkkOOkxllxkdddxo;.                                                          ......',,:o:;;;;;:c::c
                                         .0OxkOdl:olc:;;:oOkcdo:;,,:xxc,'..                                                    ....'.',,.,l:,'';ccc:;;
                                        .lOx;,c..,l:,;;'..ckcc'...';lxd;,'',,.                                                .....'','..;l;',,,;::;;:
                                        'xOc';c'.,:. .':'.,kc'..'';:lc:,'',,,;:,.                                             .....','..';c;''''',::cc
                                       .c0kc:::....  ...:;l0l'.,;col:,,.''.'',;clc;'.                                        .....'',...',c;'''',;:::;
                                      .o00dc;,.....  .  .,dd;cllllc:;:l:'....'''.',,;;,..                                    .....',,..''.:,'''.,::;;,
                                   .;oOOOkoc;'....      .:x;,:;,;,'',,:odo:'.'.   ... .,,,..                                 .....';,..'.';,....,:;;;,
                                 .ld,.,cxxclc'....      .do;c'..'.   ...';looc,.    ..  ..','.                               .....','....';;',,,,;;:;'
                                .cc.   ,xdcdo'...       ,xll;...          ..;dd:,... ..   .'','.                             .....',,.....;:,;;;:;,;,'
                                       cxocxo:...       cdoc...              'lo:''''....   .'''.                             ....'','...';c;,,;c:;;;,
                                      ,xxocdl:'..    ..'xxdo;'...             'do:..',,'...  ..,,'.                           ......','',,,:;,;,;:cc::
                                     .dxkxooc;,.. .;c;lkkxxkxd;'              .'ldo,...,;;,'.  .',''.                          ......',,,,,,;,,'.,:c:c
                                    'oxxkkdoc;,...ck0Oxdxxdkkxc....            .....    .';;;,....,,'.                         ........',,,,;;,;;;:c::
                                 .'codxxkkxllc;'..ck0Oxxdoool;.........  ..............   .':;;,...,;,.                         ....''''''';::,,clc;,,
                              .'cddddddddddolcc:'...,llc,'...'......................        .';;;'..';,.                         ....'''...'::;,;::,,,
                            ..cdddddxdolc:clcloo;......''....'''...................,..         'cc;'.,;,.                          .,'''....;;;:::ccc:
                         ...:xxdddddool:;;cccldol;......',....''..........'''......';,..       ..'cc,',;'.                          .,;,.  .'.,:;,:lll
                      ...,lldxddl:'.';:,,;clccloc,............','........'',,,'.....';;'...       .cl,';;.                           .;'. ...';c;,';:;
                     ...okdooolc:'...;;';;;:::::;;'','......'..,,'.......',;;;,'.....'',,...    .. .;l,;:'......                ....':c,..',,';:,''..;
                    ....lxol:::::;..':,,;;;;;,,;::::;,''..''',,;;,.......',;;;;,,'.....','..    ..   :c:lc,.........          ........,:;,'.'',,',,,;;
                    ....',,,'.......,:,;:;;;:::cccc:;'''...'''';:l;.....'';::::;,'......''..    ..   .ooddl:::,,,''','.::..........':colc,'.','..,:::;
                   .....',,,'.......;:,:;;:',:;:cc:;,'...'..',,',ll;'...',;::c:,,'.......'........ ...oxdd:'',;;;;;;;,;olc;,,;;;:cddlc:;ll;,;,,,:cc:::
                 ......',,,,'.......::;:;:'''';cc:,''....'''.';:cdxdlc:;;,;::c:;,'................ ..:ldco,.........,:cllllolloodddlcolcllc::ccc:;;:::
                 .....'',,,,''.....':::::;.,coocc:,'.''.',;;:ldkOOkkxxddolclccc:;,,................,c:.lll:..........,codlclllodollcccclollc:c::ccccc:
                 ....'',,,,,''..',;:lcclc''cc::clc:;:ooollodkO00koclllodxxddollc;,,'...............cl,.:ol;..',,,,;,:;;:::cc:cllloolcc:coooo:;;;ccodol
                 ....',,,;,,,;lllccodoolc;:;,',:llodolccodxk00kdxc;:c:;:cdkxxxdc;;,,'''...........,::'.cdc,;:cllccllc:;;.,::::::,;:looollllocclloddddd
                 ....',,,;,,;ol;,::dxol::cc,'':ddxxdol:;cdx0Kklll;,;::;;;;xxxkko:;,,''','...'.....,;,'.lxc;cldxdl::;;;;;';:;;;;,,::looddocclloxdodollo
                                            .;okxo:::,..                                                                                .;;;.         
                                          .:kOdc:,'',,.....                                                                             .;;;.         
                                          lKkl:;:;,,,''......                                                                           .:;;..        
                                          ;KOdc;;,,,'..''. ...                                                                          .:;,..        
                                           x0xolc;,,'...,'.....                                                                          ;.'..        
                                           l0xoll:;;'...',....'.                                                                         ,',.         
                                           c0kxxdlc;'....,.....'.                                                                        ',,,         
                                           c0Oxdoll:'............                                                                        .;:;         
                                           c0kddlc:,'..   .....                                                                          .;'          
                                           l0kolll;.'.                                                                                   .;'          
                                           dOl,;cxc,...        .                                                                         .;'     .....
                                          .Ox,';:do:,..                                                                                 .'c:',,;:;,,,'
                                          '0o',;;lo:,'.                                                                              ..'':dl;;c:,,,,,'
                                          :0c';:;col,,...                                                                          ....'';oc:c:,''''''
                                          lO:;lc;:odc:,,,,.........                                                              ........;dlc::cccccc:
                                          xOccdxdxxkkkkOOOxllxkxddxd,.                                                          ......',,:oc,;;;;:c:;:
                                         .OOxxOxlclolc;;:oOkcdo:;,;:xxl;'..                                                    ....'.,,,.,l:,'';ccc:;;
                                         lOk;'c'.'l:,;;'..:Oc:,....;ldd;,'',,.                                                .....'','..;l;',,,;;:;::
                                        'dOl.,c'.,:. .':'.'kl'....,:lcc,'',,,;;,.                                             .....,,'..';l;''''',::c:
                                       .;Okc::c....  . .::cOo'.,;cll:',.''.',,;clc;'.                                        .....'',...',c;'''',::::;
                                      .lO0xc;,'....  .  .'od;cllllc:;cl:'....'''.',;;;,..                                    .....',,..''.;,'''.,::;;,
                                   .,lk0Okoc;'....      .;x:'::;:;',,;:odoc'.'.   ... .,,,..                                 .....';'..'.';,....,:;;;,
                                 .:x;.,cxxlll'....      .od;:,..'.   ...,:looc,.    ..  ..','.                               .....','....';;',,,,;;:;'
                                .co'   'xdcdd,....      'xlc;....         ..;dd:,'.. ...  .'.,,.                             .....',,.....;:;;;;:;,;,'
                                       :xo:ddc...       :dol...              'lo:''''....   .'''..                            .....';'...';c;,,;c:;;;,
                                      'dxdcdl:'..    . .dddo;'...             'do:..''''...  ..'''.                           ......','',,,:;,;,;:cc::
                                     .oxkxooc;,.. .,:;ckxxxkdd;'              .'ldl;...,,;,'.  .',''.                          ......',,,,,,:,,'.,:c:c
                                    .oxxkkdoc;,...:kOOxdddxkkxl'.              .....    .';;;,. ..,,'.                         ........',,,,;;';;;c:::
                                 ..:odxxkkxllc;'..cO0Oxxdoodo:.........  ..................':;;,...,;,.                         .'..''''''';::,,clc;,,
                               .:ododddddxdolcc;'...;ool;,..',.......................       .';;;,..';,.                         ....'''...':;;,;::,,,
                            ..cdddddxdolc:clllol;......''....'''...................,..        .':c;'',;,.                          '''''....;;;:::ccc:
                          ..;xxddddddol:;;cccldol;......',....''..........'''......',,..        .'cc,',;'.                          .,;,.  .'.,:;,:lll
                       ..'codkdooc,.';:,,;clcclol;.......''...','........'',,,'.....':;'...    .. .:o',;;.                           .;'. ...';c;,';:;
                     ...lxdooolc:'...;;';;;:::::;;,','......'..,,'.......',;;;,'.....'',,....   .  .,l,,:'....                  .....;c;...,,';:,,'..;
                    ....lkdlc::::;..':;,;;;:;;,;::::;,''..''',,;;,.......',;::;,,'......''...   ..  .;l:cc,.........           ......';:;''.'',,',,,;;
                    ....';,,''......':,;:;;;:::cccc:;'''...'''';:l;.....'';::::;,'......''..    ..   .loddl::;,,,''''..;;..........';cooc;'.','..,:::;
                   .....'',,'.......,:,;:;:',:;::c:;,'...'..',,',ll;'...',;:cc:;'........'............oxddc,,,;;;;;;,,;loc;',;;;:codoc:;ll;,,;,,;cc:::
                 ......',,,,''......;:;;;:,.'';cc:,''....'''.',:cdxdlc:;;,;::c:;,'................  .;cdco;.........,:cloclolllodddlccccllc:::ccc;;:::
                 .....'',,,,''......::;;:;''clocc:,'.''.',,;;cdkOOkkxxddolclccc:;,,................'c:.col:..........,:odoclllodollllclllllc:cc:ccccc:
                 ....'',,,,,''..',,:lcccc,'cc::clcc;;loollodxO00koclllodxxddoolc;,,'...............:l,.:dl;..',,,,;,::;:::cc:cllllllcc:coloo:;;;cllool
                 ....',,,;,,,;cllccodollc::;,,,:llodolcloddk00kdxc;:cc;:cdkxdxdc;;,,'.............,::'.:dl,;:cllcclccc;;',::;:::;;:looooollocclloddddd
                 ....',,,;,,;ol::;;dxol:clc;'';odxxdol:;cxxOKklll:,;::;:;;dkkkko:;,,''''....'.....,;,'.:dl;;ldxxl:;:;;;;';c:;;;;,;:looodocclloddddoooo
                                            .cxkxl:::;...                                                                               .;,;..        
                                          .lOOd:;,'',,'....                                                                             .;,;..        
                                          lKkl:;:;'','''.....                                                                            ,;;..        
                                          '0Odl:;;,''..''.. ..                                                                           ;;;'.        
                                           dKxolc;,,'...''......                                                                         ,.,'.        
                                           :Kkddl:;;'....,.....'.                                                                        ',,'.        
                                           ;Kkkxool;''...,.....'.                                                                        .,;,         
                                           ;0Oxdoll:'............                                                                        .;;:         
                                           :0Oxxoc;''.     ....                                                                          .;'          
                                           :0klclo;'...                                                                                  .;'          
                                           o0o,;;xo;...        .                                                                          ,'    ......
                                          .kk;';;od:,..                                                                                 ..c:,,;::;;,,'
                                          .0d'':;coc,,.                                                                              ...,;oc,:c:,'''''
                                          ;0c';:;:ol;,'.                                                                           ....'';ol;c:,,,'''.
                                          c0:,cl;;ldc:,'','........                                                              .......';do:::ccccclc
                                          dOccdxddxkxkkkkOxolxOxdddd;.                                                          ......',,;oc,;;;;:c:;;
                                         .kOxxkxlclolc::cokkcddc;;,:dkl,'..                                                    ......,,'.'l:''';clc:;;
                                         :0k;'c'.'l:,;;''.;Ol:,....;cdx:,'',,.                                                .....'','..,l:',,,;;::::
                                        .oOo',c,.,;...':'.'kl,....,:ccc;'',,,;;,.                                             .....,,'..',l;''''',:ccc
                                        ;kOl::c'...  . .:;:Od'.',:llc',.''..',;clc;..                                        .....',,..'',c;'''',::;;;
                                       ;k0xc;,'....  .  .,lx::llllc:;:c:'....''''';;;;'..                                    .....',,..'..;,''..,:;;,,
                                    'cxOOOoc;'....      .'x:'::;;;',,;:odoc'...   .. ..',,.                                  .....';'....',;....,:;:;'
                                  ;d:.;cxxlll,....      .cx;:,..,.  ....,:looc,.    ..  ..','.                               .....';'....,,;',,,;:::,'
                                 cd;   .dxcdd,....      .dol:....         ..;ddc'...  ..  .''',.                             ......,'....';c;,;;:;,;,'
                                       ;xdcddc...       ;dol'..              .lo:,''...     ...'..                            .....';'...';c;',:c:;:;'
                                      .dxdcdl:,..    ...oddo;...              .do:'.'','...  ..'''.                           ......,,'',,,::,;,;:cc::
                                     .lxkxooc:,.. ..,,;dkkxkxd;'.              'ldl,...',;,'.  ..,''.                          ......',,,,,,;,,'.':c:c
                                    .cxxkkdoc;,...,xOOxddxxxkxo'.               .',,.   .';;;,. ..',..                         ........',,,,:;';;;cc::
                                  .;odxxkkxolc;'..cO0Oxxxdodd:.........  ...........      .,:;;,...';,.                         .......'''';::;,clc;,,
                               .;lddoddddxxollc;,..':ddo:,''''......................        .':;;,..';;.                         ....'''...':::,;:;,,,
                             .;dddxdddolccllclll;......'''...'''...................'..         ':c;'.';,.                          '''''....;;;;::ccc:
                         ...,oxddddddol:;:ccclool;......'''...''..........'''.......;'..        .'cl,.,;,.                          .,;,.  .'.,:;,:lll
                       ..':ldkddol;',;c,,;:lcclol;............','........'',,,'.....':;'...     . .;l,',:'                           .;'.  ...;c:,';:;
                     ...cxdooooc:'...;:,,;,:cccc:;'','......'..'''.......',;;;,'.....',',....   .   'l,,:;....                  .....;c;...',';:,,'..;
                    ....okdlccccc:...:;';;;;;,;;::::;,''...'',,;;,.......',;::;,,'......''...   ..   ,l;cl;........            .......,:;,'.'',,'',,,;
                    ....':;,'''.....':,,;:;;;::cccc:,'''...,''';:l;.....'';::::;,'......''...   ..   .codxl:;;,''''''..';...........;clol;'.','..';::;
                   .....',,,''......,:,;:;;,,:;::c:;,'...'..',,',ll;'....';:cc:;,'.......''..     ....cxxxl,,,;:;;;,,,,loc;'',;;::lxoc:;cl;,,;,,;:c:;:
                 ......',,,,''......;:;;;:,.'';ccc,''....''''',;cdxdlc:;,,;::c:,,'..............   ..;coll:.........,;:colloollldddlccc:ccc:;:ccc:;;;:
                 .....'',,,,''......;:;::;''colcc:;,.''.',,;,coxOOkkxxddocclcc:;;;,.................::.;olc..........':odollllodollcclclllll:cccccccc:
                 ....'',,,,,''...',:cc:cc,':c::clcc;;loollodxO00koclllodxxxddoc::;,'...............:l,.,dlc'.',,,,;,;:;:::cc:cllloolccccloloc:,;:llool
                 ....',,,;,,',cllcclollll:::;,,:clodollloddkOOkdxl;:cc;:coxxxxdl:;,,'.............'::'.'do:,;:llccccc::;.';:;::::;:loooooloolllloodddd
                 ....',,,;,,;ooc:;;odool:::,'';odxxdoc;,cxxO0klllc';::;:;;dOkkko:;,,'','....'.....';;'.,do;;lodxo:::;;:;.,:c;;;,;;:looooolcllldxdooooo
                                            'oxkdc;;:;....                                                                              .,,;..        
                                          .lkkdc:,'',;'....                                                                              ,,;..        
                                          cKOo:;;;,'',.'.....                                                                            ;;;'.        
                                          .O0dl:;;,''..''.. ..                                                                           ,:;'.        
                                           lKkolc;,,,...',......                                                                         ',,'.        
                                           ;KOdooc;;,....,.......                                                                        ',,'.        
                                           '0Okxool:'....,.......                                                                        .;;;.        
                                           '0Oxxollc'............                                                                        .,::         
                                           ,0Oxxdc;''..    ....                                                                           ,,.         
                                           ;0klccd:'...                                                                                   ,'.         
                                           l0o,;;dd;...        .                                                                          ,,    ......
                                           xk;';;ldc,..                                                                                 ..cc,,;::;;,,'
                                          .0d'':;:ol,,..                                                                            ....,;oc,:c;''''''
                                          '0l',c;:lo;,'..                                                                          ....'';ol;c:;,,,'''
                                          :0c,:l;;ldc:,'','........                                                              .......';dl::::cccllc
                                          lOlcdkdddkxxxkkOxolxOkdddd;.                                                          ......',,,lc;;;;;:c:;;
                                         .x0kkkxocodll::cokklodl:;,:dkl,'..                                                    ......,;'.'l:''';ccc:;:
                                         ,Ok;'c,.'lc,;;,..;ko:;....;cdxc,'',,.                                                .....'',...'l:',,,,;::::
                                        .oOd',c,.';....:,..xo,....';clc;'',,,;;,.                                             .....,,'..',c:''''',:ccc
                                       .,kOl:cc'...  ...:::kx,..,:llc,,''''.',;ccc;.                                         .....',,..'',c:'''',::;;;
                                       ,k0kc;,'....     .,cx::llllc:;:c:'....',,'';;:;'..                                    .....','..'..;;''..,:;,;,
                                    .:dO0Ooc:,....      ..dc':c;:;',,;:odoc'...   .. ..,,'.                                  .....,,'....',;...',:;;;'
                                  ,dc';cxklll,....      .cx;:;..,.  ....,:looc,.    ..  .'','.                               .....';'....,,;,,,,;:;:,'
                                 cdc   .oxlod;....      .doc:....        ...;odc'..   ..  ...',.                             ......,'....';c;,,;:,,;,'
                                       ,xd:ddc'..       ,xoo,..              .lo:,''..      ..''..                            .....';'...';c;',:c:;:;,
                                      .oxdcdl:,..    . .lddo,...              .oo:''''''...   .'''.                           ......,,'',,,::,;',;c:::
                                      ckkxooc:,..  .',;dkxxkxd;'.              'ldl,...',;,..  ..,''.                          ......',,,,,,;'''.,:::c
                                    .:xxkkdol:,...,dkkxxddxxkxo,.              ..',;.   .';;;,. ..',..                         ........',,,,::,;;;c:::
                                  .,ldxxkkxolc;'..cO0Oxxxdodxc'........  ..................,:;;,...';,..                        .......'''';::;':lc;,,
                               .,loooodddxxollc;'..,cxxoc,,',,'..  .................        .'::;'..';;'                         ....'''...':::,,:;,',
                            ..,odddddddlccllclll;'....'''....'''...................'.         .':c;'.';,.                         ..''''....;;:;;:clcc
                         ...'oxxdddddoo:;:clclodl;......','...'''.........'''.......;'...       .'cl;.,;,.                          .,;,.  .'.,:;,:lll
                       ...:ldkxdol:,,;c,,;:lcclol;............','........'',,,'.....'::'..     .. .,o,',;'.                          .;'. ....;c:,';:;
                     ...:ddooool:,...;:,,;;:cccc:;,','......'..'''.......',;;;,'.....',',....   ..  'l;,;:...                    ....,l;...',';:;,'..;
                    ....dkdolcccc;...:;';;;;;,;;:::c:'''...'',,;;,.......',;::;,,'......''...   ..   'l;:l;........            .......,:;,'.'',,',,,,;
                    ....'::;,''''...':,,;:;;:::ccccc;'''...,''';:l;.....'';::::;,'......''...   ...  .:ooxo:;;,'''''....,...........,:lol;,.,,'..';;::
                   .....',,,''......,:,;:::;,:;::c:;,'...'.'',,',ll;'....';:cc:;,'.......''...........ckxdo;,,;:::;,,,,coc;'',;;;:ldol:;cl;,;;,,;:c:::
                 ......',,,,''......;:,:;:,.'';lcc,'''...''''',;coddlc:;,,;:cc:;''................. .;coocc.........,;:lolloollodddo:cc:cc::,::cc::;;:
                 .....'',,,,''......;:;:;:',colcc:;'.''..',;,coxOOkkxxddolclccc:;,,.................::.,oll'.........';ldollllodolclllllllll:cccccccc:
                 ....'',,,,,''....,;cc::c,':c::cllc;;coollodxO00kdclllodxxxddoc::;,'...............:l,..olc'.',;,,;,;:;:cccc::llloolccccloloc:;;:llool
                 ....',,,;,,',:lccclollll:::,,,:clodoolloddkOOkdxl;:cc::coxxxxdl:;,,'.............'::'..ooc,;:loccclc::;'.;::::::;:looollooolllloodddd
                 ....',,,;,,;ldoc;;odoolc::,,',ldxxdoc;;cxxOKklllc,;:::::;dOkkkd:;,,'','...........;;'..odc;coxxoc::;;:;'':c;;;;;;:looodolcolldxdooddo
                                            ,dkxo:;,;;....                                                                              .,';..        
                                          .oOko:;,'',,'.....                                                                             ,,;..        
                                          cKOo:;;;,'',''. ...                                                                            ,::'.        
                                          .k0xoc:;''''..'.. ...                                                                          ,::,.        
                                           cKkdlc:,,,...',......                                                                         ',,'.        
                                           '0Oxdoc:;,....'.....'.                                                                        .,,,.        
                                           .0Okxdol:''...''......                                                                        .;;;.        
                                           '0Oxxdll:,............                                                                         ,;c.        
                                           '0Oxxdl:,'.     ....                                                                           ,,.         
                                           ,0Olccdc'...                                                                                   ',.         
                                           c0o,;;dd:...        .                                                                          ';.  .......
                                           dO:';;ldc;..                                                                                ...cc,;;c::;,,'
                                          .Ox'.;;:oo,,..                                                                            ....,;ol;:c;'.''''
                                          .0o',c::ld;,'..                                                                          .....';ll:c:;;;,,''
                                          ;0c,:l;;cxl:,'''.........                                                              .......';do::::cccllc
                                          cOlcokdddkxxxkkkxoldkkdddd;.                                                          ......',,,lc;;;;;c:;;;
                                          d0kxkkolloolc:cokOllxl:;;:okl,'..                                                    ......,;'.'l:''';clc:;;
                                         'Ok:.:;.'lc,,:'..,ko::....,cdxc;''',.                                                .....'',...'l:',,,,;;:::
                                        .lOd''c;.';. ..;,..do;....';clc;'',;,;;,.                                             .....,,'..',c:''''';::cc
                                        ,xOl:cc'...   ..::;kx,..,:llc;,'','.',;ccc;.                                         .....',,..'',::'''',::;;;
                                       'x0kl;,'....     .,:kc:lllll:;:c:'....',,',;::;'.                                     .....,,'..'.',;''..,:;,;,
                                    .;dO0Odc:,.....     ..dl';c;:;,,,;:odlc,...   .....','.                                  .....,,'..'.',;...';:;;;'
                                  'oc,:ldklll;....      .;x:;;..,.  ....,:looc,.    ..  .',,'.                               .....','....',:,,,,;:::,.
                                 :xc    oxcdd:....      .oocl....        ...;ddc'..   ..  .''',.                             ......,'....';c;,,;:,;;,'
                                       'xd:ddl'...      'xoo,..              .oo:,''..      ..''..                            .....',....';c;',:c:;;;,
                                      .lxdcdoc,..     . cddo;'..              .oo:'.''''...   ..''.                           ......,,'',,,::,,,,;c:::
                                      :xkxool:,..  ..,,lkxxxdo;'.              'ldl,..',,,'..  ..,''.                          ......',,,,',;,''.':::c
                                    .:xxkkdol;,'...okOxxxddxkkd;.              ..,;;.  ..';;;,. ..',..                         ........',,,,::,;;;cc;;
                                  .'ldxxkkxolc;,..ck00kxxdodxl'........  ..................,:;,,...';'..                        .......'''',:c;':lc;,,
                               .,coooodddkxollc;,..,lxxdc;,,,,....  ................        .'::;'..',;'                         ....'''...':::,,:;,,,
                             .'ldddddddllcllccll;.....','....'''...................'...       .':::'.';;.                         ..''''....;;:;;:clcc
                         ...'lxxddddddoc:;clclodl;......','...''..........'''.......;'...       .'cl,.';,.                          .,;;.  .'.,;;;:lll
                      ....;cdkxdol:,;:c;';clcclol;.......'....','........'',,,'.....':;...     .. .;l;',;,.                          .;,.  ...,c:,,;:;
                     ...;ddoodolc,...,:,,;;:cccc:;,','...'..'..'''.......',;;;,'.....',',....   ..  .l;,::...                    ....'c:...',,::;,'..;
                    ....dkdollllc:...:;,;;;;;;;;:c:c:,''...'',,;;,.......',;::;,,'....'',,...   .... .o;:l:'.......            .......;:;,'.'',,',,,,;
                    ....,c:;,'''''...:;,;:;;:::ccclc;'''...,''';:l;.....'';::::;,'.......'..    ...   ;dodd:;,,'''''....,...........,:lol:,.,,'..';:::
                   .....'',,'.......,:,;:::;;;;::c:;,'...'.'',,',ll;'....';:cc:;,'........'.....  ....:kddd:,,;:::;;,,':oc;''',;;;cddl:;:o:,;;,,;:cc;:
                 ......',,,,''......,:,:;:,.',;lcc,''.....'''',;coddoc::;,;:cc:;,'..............  ...,clocc.........,;:lollolllooddl::c:cc::,:::c:;;;:
                 .....'',,,,''......;:;;;:'':lllcc;,'''..',,,coxOOkkkxdoolclccc:;,,............... .;:.'lll,.........';ldollollddolcclllllll:clcccccc:
                 ....'',,,,,''....';cc::c,':c::cll:;;coollooxO00kdclllodxxdddoc::;,'...............;c;..lol,..';,,;;;:;:cc:cc:llloolccccloloc:;;:lllll
                 ....',,,;,,',:lccclollll;::;;,:clodoolloddxO0kddl;:cc::coxxxddl:,,,'.............';:,..lol;;:lolclcc:::'.;::::::::looolloodoclloodddd
                 ....',,,;,,;ldoc,,oxlooccc,,,,cdxxdoc:;cdxO0Oolcc,;::;::;dOkxxd:,,,''''...........;;'..lol:coxxoc:c;;:;'':c;,;;;;clooodolcooldxdooddd
                                            :kOdl:,,;;....                                                                               ,':..        
                                          .dOko:;,,',,'.....                                                                             ',:..        
                                          :K0d:;;;,'',.'. ...                                                                            '::'.        
                                          .xKxoc:;''''..,......                                                                          .:;,'        
                                           ;KOdlc:,,,....'......                                                                         .,,''        
                                           .0Oxddl::,....''....'.                                                                        .,,,'        
                                           .O0kxdooc,'...''......                                                                         ,;:.        
                                           .O0xxdlc:;............                                                                         ,;c.        
                                           .OOxxdl:''..     ... .                                                                         ';.         
                                           '0Ol::dl,...                                                                                   ';.         
                                           :0d,;;oxc'..         .                                                                         ';.  .......
                                           oOc';;cdl;..                                                                                ...cl;;:c:;;;,'
                                          .kx,':;:lo,,..                                                                             ..',;ol;:c,'.'''.
                                          .Oo',c;;ld;,'..                                                                          ....'',ll:c:;;;;,,'
                                          ,0l':o;:cxl:,'','........                                                              .......';do:::::ccccc
                                          :Olcokdddkdxxxkkxoldkkdddd:.                                                          ......,,,,lc,;,;:c:;;;
                                          d0kxkkolodoocclokOolxlc:;:oko,...                                                    ....'',,'..cc''',cl::;:
                                         'kOc':;.'lc,,;,..,kd::'...'cdxl;''',.                                                .....',,...'lc',,,,;::::
                                        .l0d'':;..;. ..;,..od;....';cll;'',,;;;,.                                             .....,,'..',cc'''',;::cc
                                        'd0occc'...  ...;c;kx,..,:lll;,'','''';:c:;.                                         .....','...',:c'''',::;;,
                                       .d0Ol;,'....     .':kl:lllll:;;::'...''',,,;::;'.                                     .....,,'..'..,;''..,:;,;,
                                    .;oO0Odc:,.....     ..lo',c:::,,,,;odl:,....  .....';'.                                  .....,,'..'.'';'..';:;;;'
                                  .ll,:ldklcl;....      .,x:;:..'.  ....;:loo:,.    ..  ..','.                               .....';.....',:,,,,;::;,'
                                 ;xl.   lxcox:....      .ldcc....        ...;odc,..   ..  ..'',.                             ......;'....';c;,,;:;;;,'
                                  .    .dxcoxl'...      .xoo;..              .loc'''..      ..''..                            .....',....';::',:cc:;;,
                                      .cxdcdoc,..     . :xdd;'..              .loc'.''''...  ...''.                           ......,,'',,,::,,',;c:::
                                      ;xkkool:,..  ..',ckxxxdo;'.              'ldl,..',,,'..  ..,''.                          ......',',,',;,''.,:::c
                                     ;dxkkdol:;'...okkxdddxxkkd;.               .'::.  ..';;;,.  .','.                         ........',,,,::,;;;cc;;
                                  .'cdxxkkxolc;,..:k00kxxdddxl,'.......  ...........   .. .,:;,,...';,..                        .......'''',;:;':lc;,,
                               .'coooddddxxolc:;,..;lkkxl:;;;,.'....................        .,::;'..',;'.                        .....''...';;:,,:;;,,
                             ..ldddddddolcllccll;.....','....'''.......................       .'::;'.';;..                        ..''''....;;:;;;clcc
                         ....cdxddxxddoc::clccodl;......','...''..........'''.......;'...       .'cc;.',,.                          .,,;.  .'.,;;;:lll
                      ....,:okxdooc;;:c;';clccloo:'......'....'''........'',,,'.....':;...      .  ,l:.';,.                          .,,.  ...,c:,,;::
                     ...,odoodolc,...':,,;;:ccclc;,','...'.....'''.......',;;;,'.....';,'....   ..  .l;';:'.                     ....'c:'..',,;:;,'..,
                    ....okdolllcc:'..;;,;;;;;;;;:c:c:,''...'',,;;,.......',;::;,,'....'',,...   ...  .l;;cc'.......            .......,:;,'''',,',,',;
                    ....;lc:,,,'''...c,,;:;;;::ccclc;'''..',''';:l:.....'';::::;,'.......'...   ..   .,doddc,,,'........'...........':clo:''','..';:::
                   .....''',''......':,;:;:;;:;::c:;,'...'.'',,',cl;'....';:cc:;,'........'.....  ....;xxdd:;,;:::;;,,':ol;..',;;;coolc;coc,,;,,,::c::
                 ......',,,,''......,:;;;;;.'',ccc,'''......'',,:oxdoc::;;;:cc:;,'..............  ...,ccocl'........';:collolllooddo:::::c::,;::c:;;;:
                 .....'',,,,''......;:;;;:'':oolcc,,'''..'',,:oxOOkkkxdoolcllcc:;,,............... .;c'.lcl;.........';loollollooolcclllllll::llccccc:
                 ....'',,,,,''....';:c::c;';c::cll:;,:oollloxO00Odclllodxxdddoc::;,'...............,l:..col:..';,,;;;:;:ccccc:clloolccccloloc:;;;lllll
                 ....',,,;,,',:ccccllclll;::;;,:clodoolloddxO0kddl;:cc::cokxxddl:;,,...............;:,..cdl;;:lolclcc:::'.,;::;;:::cooollooooccloodddd
                 ....',,,;,,,cdoc;,ldlooccc,,,,cdxxdol:,cdxk00ollc,;c:;;;;oOkxxd:,,,''''..........';;,..cdl:coxxoc;::;:;'';::;,;::::oooddlcloldxdodddd
                                           .ckOdc;'',;'...                                                                               ,,:..        
                                          .dOko:;;,',,,......                                                                            ';:'.        
                                          :KOdc;,;,'',''......                                                                           .::,.        
                                           o0kol:;',,'..''. ...                                                                          .c:,'        
                                           ,0Odlc:,,,....'......                                                                         .;','        
                                           .O0xddl::,....''....'.                                                                         ;,;'        
                                           .k0Oxdooc,'...''.....'                                                                         ,,:'        
                                           .O0kxdlcc;.............                                                                        ,;l.        
                                           .OOxddo:,'..     ....                                                                          ';.         
                                           .OOl::ol,...                                                                                   ';.         
                                           ;0d,;;lxl'..         .                                                                         ':. .......'
                                           lOc';;:dl;'.                                                                                ...co;;:c:;;;,'
                                           xk,.;;;lo;,'.                                                                            ...',;oo;cc,..'''.
                                          .Od,,c;;cd:,'..                                                                          ....'',lo:c:;::;;,'
                                          '0o';o:;:dl:,'''.........                                                              ........;dd:::::ccccc
                                          ;0o:okdddkxxxxkkxdldkkdddd:.                                                          ......,;''ll,;,;;c:;;;
                                          l0kxkkdlodoolcloxOolxoc:;:oko,...                                                    .....',,'..cc'',;cc:;;:
                                         .kOc.::..lc,';,..'dx:c,...':oxl;''''..                                               .....',,...'cc,,,,,,;:::
                                         :0x,'::..;. ..;;..lx;.....,:ll:,'',,;;'.                                             .....,,'..',cc'''',;::c:
                                        .d0dc:c,...  ...;:,xk;..,;lol;,.','''',:cc,.                                         .....','..'.,:c'''',::;;,
                                       .o0Ol:,,....     .',ko:cllll:;;c:'...''',,;:::;'.                                     .....,,'..'..,:''..,:;,;,
                                    .,lkOOxc:,.....     ..ld,,c:::,',,;ldl:,....  .....,;'.                                  ....',,'..'.'';'''';:;:;'
                                  .cl;:ldkolo:....      .'d:;:..''  ...';clol:,.    ..  ..','.                               .....';.....,,:,,,,;:::,.
                                 ,do.   cklod:....      .cdcc....        ...;odc'..   ..  ..'',.                             ......;'....';c;',;:;;;,'
                                  .    .oxcodl,...      .odo;...             .loc,''..      ..''..                           ......',....';::',:cc::;,
                                       :xxcooc,..     . ;ddd;....             .col,.''''...  ...''.                           ......,,'',,,::,,',;::::
                                      ,xxkdol:,..  ...':xxxxdo;,.              .ldl,...,,,'..  ..,''.                         .......',',,',;,''.':::c
                                     ,dxxkdol:;'...lxkxxxdxxkkd:.               .,::'  ..';;;,.  .','..                        ........',,,,::,;::cc;;
                                  ..cdxxxkxolc;,..;k00kxxdddxo,'.......  ............  .. .,;;,,...',,'.                        .......'''',;::,:lc;,,
                                .:looodddxxolc:;'..:okkxo::;;,.'.. .................        .'::;,..',;,.                        .....''...';;:,,:;,,,
                            ...cdddddddolloocclc;'...',,,'...'''.......................       .';:;''';;'.                        ..''''....;;;:;;clcc
                         ....:dxddxxddoc::clccodl;......','...''..........'''.......,'...       .':l;.';;..                         .,,;.  .'.':;,:lll
                      ....':okxdooc:::c;';clccldo:'......'....'''........'',,,'.....';;'..      ...'c:.';,.                          .,,.  ...,c:;,;:;
                     ...'ldoddolc;...,:,,;;:ccllc;,,,'...'.....''........',;;;,'.....',,'....   .. ..l:';c,.                     ....'::'..',,;:;,,..,
                    ....okddllllc:...;:,;;;;:;;;:ccc:,''...'',,;;'.......',;::;,,'.....',,..    ..   .l:;cc'.......            .......,:;,'''',,',,',;
                    ....;ol:;,,,,'...:;';;;;;::ccclc;'''..',''',:l:.....'';::::;,'.......''..   ..   .'dlddc,,''........'...........':cloc,'',''..,;::
                   .....',,,'.......':,;;;:;;:;:cc:;,'...'''',,',cl;'....';:cc:;,'........'...........,xdxdc;,;:::;;,,,;ll;..',,;;:odlc;:oc,,;,,,;:c::
                 ......',,,,''......,:,;;;;'',,ccc;'''.....'.',,:oxdoc:;;;;:cc:;,'................. .'lcoll,........';:colloollooodo:::::c::,;::c:;;;:
                 .....'',,,,''......;:;;;:'':lolcc;,'''..'',,:oxOOkkkxdoolcllcc;;,'............... .,c'.clc:..........;coolloloooolcclllllcl::clccc:c:
                 ....'',,,,,''....',:c:::;';c::cll::,:olllloxO00Odclllodxxdddoc::;,'...............,l:..:dl:..',,,,;;:;:clccc:cllllllcccloloc::;;lllll
                 ....',,,;,,',;cccccclccl:::;;;;clooodllodxxO0kdxl::cc::coxxxddl:;,'...............;:,..;dl:;;lolcclc:::'.,;::;;:::cooollooooccllodddd
                 ....',,,;,,'cddc;;lollolcc;,,;:odxxoc;;cdxk00dlcc;;cc;;;;oOkxxdc,,,''''..........';;,..;xo:llxxoc:::;::'.,::;,;:::coooddolloodddodddd
                                           .lOOo:;'',;'....                                                                              ',:'.        
                                          .x0ko:;;,'',,.....                                                                             .;:'.        
                                          ,00dc;,;,'''.''. ...                                                                           .::,.        
                                           lKkoc:;,,,'..',. ....                                                                         .c:,'        
                                           .K0dll:,;,'...''......                                                                         ,','        
                                           .k0kddoc:,....''......                                                                         ,';'        
                                           .x0Oxdlol;'....,.....'.                                                                        ,,c,        
                                           .k0kxdlc:;.............                                                                        ';l.        
                                           .kOkddoc;''..    .....                                                                         ';'         
                                           .OOl::oo;...                                                                                   .:.         
                                           ,0x;;;cko,..         .                                                                         ':' .....'''
                                           c0l',;:oo;'..                                                                               ...co:;:c:;,,,'
                                           dO;.;;;ld;,'.                                                                            ...',;od;:c,...'''
                                          .kx,,c;;:d:,,..                                                                          ....'',ldcc:;:::;,'
                                          .Oo,;l:;;dl:,'''.........                                                              .......':dd:::::ccccc
                                          ,Oo:okxddxdxxxxxxdlokkdddd:.                                                          .....',,,'cl,;,;:c:;;;
                                          c0OxkkolodoooclokOolxoc:;:oko,...                                                    ......,,'..cl'',,clc;;:
                                         .xOl.;:..ll,,;,..'dx:c,...':oxl;''''..                                               .....',,...'cl,,,,,,;:c:
                                         ;Ox,':c..,. ..;;..cx;.....,:loc,'',,;;'.                                             .....,,...',cc'''',;::::
                                        .o0dccc,...  ...;c,dk:..,;cll;''',''',;:l:,.                                         .....','..'',:c,''',::;;,
                                       .l0Oo:,,....   . .,,xo:cllll:;:::'...''',,;:::;'.                                     .....','..,.'':''..,:;;;,
                                    .'cx0Oxc:,.....     ..:d,,c::c;,,,;ldl:,....  .....,;'.                                  ....',;...'.'';'''';:;:;'
                                   co::oxkococ....      .'dc,:'.''  ...';clol:,.    ..  ..','.                               .....';. ...,':,,,,;:::'.
                                 'dd.   :kllxc....      .;xcc....        ...;odc'..   ..  ..'',.                             .....',.....',c:',;:;;;,'
                                 ...   .oxcodl,...      .odo:...             .ldc,''..  .   ..''..                           ......',....';::',:cc::;,
                                       ;xxcooc,..       ,ddd;....             .cdc,.''''...  ...''..                          ......,,'',,;::,''';::::
                                      'dxkool:,..   ...;xxkxdl,,.              .ldl,..'',,'..  ..''..                         .......','',,,;;''.,:::c
                                     'dxxkdol:;'...:dkxxddxkkkdc.              ..,cc,  ..';;;,.  .','..                        ........',,,,::,;::c:;;
                                   .:dxxxkkolc;,..,x00kxxxddxo;'.......  ............  .. .,;;,,...',,'.                        .......'''',;::,:lc;,,
                                .;codddddkxdll:;'..:oOkxoc:::,.'.. .................        .,:;,,..',;'.                        .....''...';;:,,:;,,,
                             ..:oddddddolloolclc;'...';;,'...'''......................        .';:;'.',;'.                        ..''''....;;;:;;cllc
                         ....;dddddxddol::clclodl;.......,'...''..........'''.......,'..        .':l;'',;'.                         .,,;'  .'.':;,:lll
                      ....':lkxdool::cl:,,:lccloo:'......'....''.........'',,,'......;;'..      ...'cc.';,.                          .,;.  ...,c:;,;::
                     ...'cdooddol;...':;,;;:cclol:,,,'...'.....''........',;;;,'.....';,,....   ..  .l:',:,..                     ....::'...,,;:;,,..'
                    ....okddolllc;...;:,,;;;:;;;:ccc:,,'...'',,;;'.......',;::;,,'.....',,..    ..   .c:;cc'.......            .......,:;,'''',,',,',:
                    ....;olc;,,,,,...:;';;;:;::ccccc;'''..',''',:l:.....'';::::;,'.......''..   ..    .dlddc,,'.....................';cooc,'',,'..;;:c
                   .....',,,'.......':,,:;;:;:;:ccc:,'...'''',,',cl;,....';:cc:;,'........'...........,xxddl;;;::::;,,',ll;...',;;:lool::lc;,;,',;cc;;
                 ......',,,,'.......,:,;:;;'',,ccc;,''.....'.',,:oxdoc:;;;;:cc:;,'...................'clocc;........,,;cooloolloodddc::;;c::;;;::::;;:
                 .....'',,,,'.......,:;;;:'';loocc,,'''..',,':oxOOkkkxdoolcllcc;;,'.................,:'.:occ..........;codlllllooolc:cllcccl::clccc::c
                 ....'',,,,,''.....,:c::::';c::cll::':lollcoxO00Oxclllodxxdddoc:;;,'...............'cc..;dcc..',;,,;;:;:clccc:coollllcccloloc::;;colll
                 ....',,,;,,',;cccccccccl::c;;;;clooooollddxO0kxdl::cc::coxxxddl:;,'...............;:;..'do:;;colcccc:::,.,;;::;::ccoooolooooccllodddd
                 ....',,,;,,,:odc;;lollolcl;',,:odxkoc:;cdxk00dccc;;cc;;;;oOkxxdc;;,''''...........;;,..'ddc:ldxdl::c::;,.';::;,:c::ooodoolldooddodddd
                                           .d0kl:,',,;,....                                                                              ',:'.        
                                          .xOxl:;;,,,,,.....                                                                             .;;,.        
                                          'O0xc;,;,'''.''.....                                                                           .::;..       
                                           :Kkdl::,,,'..',. ....                                                                          ::,'        
                                           .0Kxllc;;,....''......                                                                         ;','        
                                           .xKkxdoc:,.....,......                                                                         ,';,        
                                            d0Oxdlol;'....'.....'.                                                                        ',c;        
                                           .x0kxdlc:;'............                                                                        ',l'        
                                           .xOkddoc,'..     .....                                                                         .;,         
                                           .OOl;:ld:'..                                                                                   .:'         
                                           '0x;,;:xo;..         .                                                                         ':'.....''''
                                           :0l',;:oo:,..                                                                              ....cd:;:c;;,,,'
                                           oO;.;;;co;,'.                                                                            ...',:ldcc:'...''.
                                           xx,,c;;:dc,,..                                                                          .....',ldcc:::::;;,
                                          .Od,;o:;;do:;'''.. ......                                                              .......':dd:;::::cc:c
                                          'Odclkxddxdddxxxxdlokkxddd:.                                                          .....',,''cl,,,;:c:;;;
                                          :0OkxkolodddolloxOolxdc:;:oxo;...                                                    .....',,'..:l,',,cc:;;:
                                         .x0l',c..ll,';;..'oxcc,...':lxo;''''.                                                ....'','...'cc,,,'';;:c:
                                         ;Ox,';c..,....;;..:x:'....,:lol''',,;;'.                                             .....,,..'',cc'''',:::::
                                        .o0dccc;.... . .,c;oO:..';cll:,'',''',;:c:,.                                         .....','..'.,:c,''',::;,,
                                        c00o:,,....   . .,'xd;cllll:::::'....'',;;:::;'.                                     ....',,...'.'':''..;:;,;,
                                     .cx0Oxl:,'....     ..;x,':ccc;,,,;ldc:;..'.   ....,;'.                                  ....',;.....'.;'''';:;:;.
                                   ;o:cdxkdco:....      ..ol,:'.,'  ...';cldl:,.    ..  ..','.                               .....';. ...,':;,,,;::;,'
                                 .ox.   ;klldl....      .,dcc'...        ...;odc'..   ..  ..',,.                             .....',.....',c:,,;:;;;,'
                                 ...   .lxcoxl,...      .ldl:...             .ldc,''..   .  ..''..                           ......',....';::,,:c:::;,
                                       ,xxcooc,..       'ddo;....             .:dc,.''''...   ..''..                          ......,,'',,,:;,''',::::
                                      'dxkdol:,..  ....,dxkxdl,,.              .ldl,...',,'..  ..'''.                         .......'''',,,;;''',:::c
                                     .oxxkxol:;'...;dxdxxdxxkkdc.              ..,cl;. ..',;;,.  .','..                        ........',,,,;:,;::c:;;
                                   .;oxxxkkolc;,..,kO0kxxxddxd;'.......  ...........   .. .';;,,....,,'.                        .......'''',;::,:lc;,,
                                .,cldddddkxdll:,'.'cdOkxdcc::;'......................      ..,:;,,..',;'.                        .....''...';::,,:;,,,
                              .:oddodddolloolccc;'...';;,'...'''......................        .';:;'..,;'.                        ..''''....;;::;;cllc
                         ....,oddddxddol::clclodl;.......,'...''..........'''.......,'..        .,:l;'',;'.                         .,,,'. .'.':;,:lll
                      .....;lkxddolcccc:,,:lcclooc'......''....''........'',,,'......;;..       .. 'c:.',;'                          .,;.  ...,::;,;:;
                     ....coodddol;....:;,;;ccclol:,,,'...'...'.''........',;;;,'.....',,,...    .. ..cc',:;.                      ....;:'...,,;:;,'..'
                    ....oOdoollcc;...;:,,;;;::;;:ccc:,,''..'',,;;'.......',;::;,,'.....',,..    .... .cc;:c,.......             ......;:;,'''',,',,,,;
                    ....:xoc;;;;;,...:;';;;:;;:ccclc;'''...,''',:c:.....',;::::;,'.......''..   ....  .ooodc,,'........ .............;cooc,'',,'..;;:c
                   .....',,,'........:,,:;::;:;:ccc:,'...'.'',,',cl;,....';:cc:;,'........'...........'dxddl:;;::::;,,,,cl;...',,;;loolc:lc;,,,,,;cc:;
                 ......',,,,'.......':,;;;;'',,ccc;,''.......',,:oxdoc::;;;:ccc;''........'........ .'ccocc:.......',,;cloloolloodddc::;;:::;;;::::;;;
                 .....'',,,,'.......,:,;;:,';lolcc;,''...',,':odkOkkkxdollcllcc:;,'............... .,c,.;occ.........';codolllloodl::cllcccl:;cllc:::c
                 ....'',,,,,''.....,;c;:::';c::cll::';lolcclxk00Oxllllodxxdddoc:;;,'...............'cc'.'olc'..,,,,;;:;;cllccc:lollllccclollc;::;cllll
                 ....',,,;,,'',::cccccccl;;c:;;;cllooooloddxO0Oxdo::cc::loxxxddo:;,'...............,:,...ooc;;colcccc:::;.';::::::ccloollooooclllodddd
                 ....',,,;,,,:odl:,lollol:c;,,,:odxxdl:;cdxk00xccc,;cc:;;;lOkxxxc,,''..............;;'...odl:ldxdl::c:::,.';::;,;::clooddolldloodooddd
                                           .x0kl;,,,,,,....                                                                              .;;,.        
                                          .kOxl:;;,,,,,'.....                                                                            .;,,.        
                                          .O0xl:,;,'''..'. ...                                                                            ;:;..       
                                           ;0Odlc:'','..',......                                                                          ;;;'.       
                                           .kKxolc;;;'...''......                                                                         ,';'.       
                                            dKOxxocc,.....,.......                                                                        ,,;,        
                                            oKOxdoll:'....'.....'.                                                                        ',c;        
                                            d0kxxoc:;'............                                                                        .;l,        
                                            d0kodol,'..     .....                                                                         .;,         
                                           .kOl;:cd:'..                                                                                   .:'         
                                           .0x;;;:xd;...        .                                                                         ':,...''''''
                                           ;0o',;;od:,..                                                                               ..'cd:;:c;;,,,'
                                           l0:.;:;:o:,,.                                                                            ...',:ldcc:'....'.
                                           dk;'::;:dc,'..                                                                         ......';lxll::cc::;,
                                          .Od,,lc;;do:,'''..  .....                                                              .......,:dd:;::::c:::
                                          .Odclkxdoxxddxxxxdlokkxddd:.                                                          .....';,''cl,,,;:::;;;
                                          ;00kxkdlodxdolooxOdcxdl:;:lxd;...                                                    .....',,...:l,',;cc::;:
                                          dOl',c..ll,';;..'ok:c,'..';lxo;''''..                                               ....'','...':l,,,'';;:c:
                                         ,kk;';c..,....,;..;x;'....':col,'',,;;'.                                             ....',,..''':l,''',:;:c:
                                        .l0dccc;...  ...;c;lO:..';cll:,'','''',:c:,.                                         .....','..'.':c,''';:;;;'
                                        :O0o:,,....   . .''dd::llclc::::'....'',;;:c:;..                                     ....',,...'''':'..';:;;;,
                                     .:dOOkc:,'....     ..,x,,:cc:;;,,;loc;,....   ....,;'.                                  ....'';.....'';,'',::;:,.
                                   ,occdxOdcoc....      ..oo,:,.''. ....:clol:,.    ...  .','.                               .....';.....,';;,,,;::;,'
                                 .ox,   ;xllxl'...      .'dcc,...        ...;ooc'..   ..  ..',,.                             .....';.....';::',;:;;;,'
                                 .'.    cxclxo,...      .cdoc...             .cdc,''..   .  ..'''.                           .'....',....';::,,:c::;;,
                                       'xxcooc;..     . .ddo;....             .:oc,.'''....   ..''..                          ......,''',,;:;,'.',:::c
                                      .oxkool:,..  ....'okkxdc,,.              .lol,...',,'..  ..'''.                         .......'''',,,;;,'',:;:c
                                     .lxxkxol:;'...,oxdxxdxxkkxc.              ..,lo:....',,,,.  .','..                        ........',,,,;:;,::c:;;
                                   .,oxxxkkolc;,..'xOOkxxxddxx:,.......  .............   ..';;,,....,,'.                        .......'''',;::,:lc;,,
                                .':loodddkxdll:,'.'cdOkxdlc:c:'......................  ..  ..;;,,,..',;'.                        .....''...';::;,;;,,,
                             ..;lddodddooloolccc;'...'::;,...'''......................       ..';:;'..,;,.                        ....''....;;;:;;cllc
                         ....'lxddxxxdolc::llcodl;.......,'...''..........'''.......,'.         .':l;'',;,.                         .,,,'. .'.'::,:lll
                      .....,cxxddoolccl:,,:lcclooc'.......'....''........'',,,'......;;..       ....cc'',:,                          .,;.  ...,c:;,;:;
                     ....:oloxdol:...':;,,;ccclol:,',,.........',........',;;;,'......;;'....   ... .cc',;;.                      ....;:'...,;;:;,'..'
                    ....lOxolllcc;...;:,,;;;:::;:ccc:,,''..'',,;;,.......',;::;,,'....''',..    ...  .:c,:l,.......             ......,c:,'.',,,'',',;
                    ....:xol:::;;;'..:;';;;:;;:clclc;'''...,''',:c;.....',;::::;,'.......',..   ....  .loodl,''........ .............,:lol;,',,'..,;:c
                   .....',,,''.......:;,;;;:;;::ccc:,'...'.'',,',cl;,....';:cc:;,'........'.....  .....oxddo:;;::::;,,,'cl;...',,,;coolc:ll;',,,';:c:;
                 ......',,,,'.......':;;:;;'',,ccc;,''.......'',:oxdolc:;;;:ccc;''..............  . ..ccllcc.......',,;:loololllooddc;:;;:::;;;:c::;;:
                 .....'',,,,'.......,:;;;;,':lolcc,,''...'''':odkOkkkxdollcllcc:;,'............... .'c,.;ocl'........',:oooloolloolc:cllccccc;:clc:;:c
                 ....'',,,,,''.....';:::::';cc:cll::,;llccclxk00Oxllllodxxdddoc:;;,'...............'cc'..olc,..,;,,;;::;cllcccclollllccllllll:::;colll
                 ....',,,;,,'',;:cccccccc;;c:;;:cllooooloddxO0Oxdo::cc::coxkxddo:;,'...............,:,...lol;;cllcccc:::;'';;:::::ccoooooloooclllodddd
                 ....',,,;,,,:odlc;clllll:c;,,,;loxxdl:;cdxk00xl:c,;::;;;;lkkxxxc,,''..............;;,...cdl:ldxdl::::c:,..,::;,;;:clooddoololoddooddd
                                           'x0kc,,',,,,....                                                                              .;;,..       
                                          'kOdl:;;,,',,'.....                                                                             ,,;..       
                                          .xKkl:,;,,''..'......                                                                           ,;:'.       
                                           ,00dlc:,,,'...,.  ...                                                                          ;;:,.       
                                           .kKkolc;;;'....'....'.                                                                         ,,,,.       
                                            oKOxxdlc,'....,.......                                                                        ',;,.       
                                            lKOxdoll:'....'.......                                                                        .;:;.       
                                            o0kxxolc;'............                                                                        .;c;        
                                            o0koool;''.      ... .                                                                        .;,.        
                                           .x0o;:cxc'..                                                                                   .;,         
                                           .Ok:,;:dd:...        .                                                                         .:,..''''','
                                           ,0d'';;ld:,..                                                                               ..':dc:::;,,,,'
                                           c0c.,:;:dc',.                                                                            ...';:ldcc:'......
                                           oO;'::;;ol,,...                                                                        ......',lxlc::ccc:;,
                                           kx,,lc;;lo:;''...   ...                                                              .......',:ox:;;:::::::
                                          .Oxclkxxoxxdddxxddcokkxdoo:.                                                          .....',,'':l,,,;cc::;;
                                          ,OOkxkdloxxddlodxOxcdxlc;:lxd;...                                                    .....';,...:l,,,,:c:;::
                                          oOo',c..lo'';;...lkcc;'..':ldo;''''..                                               ....',,'...':l,,,'';:cc:
                                         'kk;';c..,. ..,;..;k:,....';col,'''';;'.                                             ....',,..''':l,''';:;::;
                                        .c0xccc;...  ...,c,lOc..';:llc,'''''',,:c:,.                                         .....,,'..'.';l,''';:;;;,
                                        ;O0d:,,....   . .''dx::ccclc:;;c'....'',;;:cc;..                                     .....,,...'''':'..';:;;;,
                                     .;oO0kcc,'....     ..,x;':ccc;;,,;lol;;....   ....,;'.                                  ....',;...'.'.;,'',::;;,.
                                   'lccdxkdcoc....      ..co,:,.''. ....:lldl:,.    ...  .','.                               .....';.....,':;,,,;::;'.
                                 .lk;   ,kocxl'...      .'dcc,...        ..';ooc'..   ..  ..',,.                             .....';.....';::',;:,;;,'
                                  '.    cxlldl;...      .:doc...             .cdc,''..   .  ...''.                           ......',....';::,,::::;;,
                                       .dxllo:;..     . .ddd;....             .;ol,.'''....   ...'..                          ......,'''',;:;,'..,:;:c
                                      .lxkdoo:,..   ....lxxkdc,,.              .ldl,...',,'..  ..'''.                         .......'''',,,;;,'',:;:c
                                     .lxxkxol:;'.. ,lxdxxdxxxkxc.              ..,loc. ..',,,,.  .','..                        ........',,,,;:;,::c:;;
                                   .,lxxxkkolc;,..'xO0Oxxxddxxc,.....................    ..';;,,....','.                        .......'''',;::,:lc;,,
                                ..:loodddkkdol:,'.'lxOkxdoccc:'...  .............. ....    ..;:,,,...,;'.                        .....''...';;:;,;;,,;
                              .,lddoodddoloolccc;'...,::;,...'''......................        .';;;'.',;,.                        ....''....;;;:;;cllc
                         ....'lxdodxxxdlc::lcclol;.......''...''..........'''.......'..         .':c:'.,:,.                         .,,,'. .'.':;,:lll
                      .....,:xkddooolll:,,:lcclooc'.......'....'''.......'',,,'......;;..       .. .:c'',:,.                         .,;.  ...,c:;,;:;
                     ....;looxddlc'...:;,;;ccclooc,,,,.......'.','.......',;;;,'.....';;'...    ..  .:c',,:.                      ....,:,...,,;:;;,'..
                    ....lkdooollc;...,c,,;,;:::;:ccc:,'''..'',,;;,.......',;::;,,'....''',..    ...  .;l,;c;.......             ......,::,'.',,,'',',;
                    ....:kdl::::::'..:;';;::;;:clclc;'''...,''',:c;.....',;::::;,'.......',..   ....  .loodl,''........  ............':lol;,',,'..,;;c
                   .....',,,''.......:;,;;;;;;::ccc:,'.....'',,''cl:,'...';:cc:;,'........'.....  .....okdddc;;::::;,,,':l;...',,,;cool::ll;,,,,,;:c:;
                 ......',,,,'.......':;;:;:,',,clc;,''.....'''',:oxxolc:;;::ccc;,'..............  .  .cllocc.......'',;:loolllllloddl;;;;:::;,;::::;;;
                 .....'',,,,'.......,:,;;;,';lolcc;,'''...''':odkOkkkxdolllllcc;,,'.................':,.'ocl,........',:ooolollooool::llccccc;:clc::;c
                 ....'',,,,,''.....';:::;:';cc:cll::,,cocccldk00Oxllllodxxdddol::;,'................:c'..col;..',,,;;::;cllcccclolllcclllllll;:c::llll
                 ....',,,;,,'',;::cc:cccc;;c:;;:cllooooooddxO0Okdo::cc::coxkxddo:;,'...............,:;...:dl:;:llccccc::;'',;:::::cclooooooodlcloooddd
                 ....',,,;,,':odl:;clllll:l:,,,;lodxdl:;cdxk00xl:c,;::;;;:lkkxxxc,,'...............;;,...;do:coxxl::::c;;'.;::;',;:clooooooloolodooddd
                                           'k0kc,,,,,,;.....                                                                              ;':..       
                                          'k0xl:,;,'',,'.....                                                                             ,':..       
                                          .xKko:,;,,''..'.. ...                                                                           ,;c..       
                                           .00dlc:'','...'.. ...                                                                          ,;:,.       
                                            dKkool:;;'....'......                                                                         ,,;,.       
                                            lKOxxdol;.....''....'.                                                                        .;;,.       
                                            lKOxdoll:'....'.......                                                                        .,;:.       
                                            l0Oxxoc:;'............                                                                        .,c;        
                                            lKkooll;'..      ...                                                                          .;,.        
                                            d0o,::xl,...                                                                                  .;,        .
                                           .Ok:,;;dx:...                                                                                  .:;..',,,,''
                                           '0d,,;;ldc,..                                                                              ...,:dc,c;;,,,,'
                                           :0c',:;:oc,,.                                                                            ....;:cdcc:'......
                                           lO:':c;;ol,'...                                                                        ......';lkl:::ccc::,
                                           xk;,lc;;lo:;'....   ....                                                             .......',:ox:;::::::::
                                          .kxllkxdoxxddddddocldkddddc.                                                          .....',,'.;o;,,;cc:;;;
                                          '0OkxkdloxxxdoodxOxcdklc::lxd;..                                                     .....';'...;o;,,,:c;;::
                                          l0o',c..co'.;;...lOcc;'..';ldd:,'''..                                               ....',,'...':l;,,'',:cc:
                                         .xO:';c'.'. ..';'.'k:,....';:oo,'''';;'.                                             ....',,..''';l;''';:;;:;
                                         :0xccc;....  . ,c,c0l..';:clc,,'',''',:::,.                                         .....,,'..'.';c,''';:;;;,
                                        'k0d:,,....     .'.lxc:cccll:;:c'....'',;:cc:;..                                     .....,,...'.'';'..';:;;,,
                                     .,lO0klc;'....     ..'d;';lcc:;;,;lol;,....   ....,;'.                                  ....',;...'''.;,.',:::;,.
                                   .llldxkdcol'...      ..:d,;;.''. ....:lodl;'.    ... ..'''.                               ....'';....',.::',,;::;''
                                  :x:   'kdcxo'...      ..ol:;...        ..':ooc'..   ..  ..'''.                             ......;.....';::',;:,;:,.
                                  ''    :kocdl;...      .;dlc...            ..cdl,'...  ..  ...''.                           ......',....';;c,,;:::;;,
                                       .oxlloc;..     . .odd:....              ;ol,.'''....   ...'..                          ......'''',,;;;,'..,;;:c
                                      .cxkdoo:;'..  ....ckxxoc''.              .cdl,...'','..  ..''..                         .......'''',,,;;,'',:;:c
                                     .cxxkxol:;'....cdoxxxxxxkxl.              ..,loc. ..',,,'.  .','..                        ........',,,,;:;,::c:;;
                                    'lxxxkkolc;,...dk0Oxxxddxxc;......................   ..,;;,,....','.                        ........''',;::,:lc;,,
                                 .;coddddkkdol:,'..lkOkxdolclc'...  ..............  ...  ....,:,,,...,;'.                        .....''...';;:;,;;,,,
                             ..'cddoodddolodlccc;'...,cc:,...'''......................        .';:;'..,;,.                        ....''....;;;:;,cllc
                         .....cddddxxxdoc::lccldl;.......''...''..........'''.......'..          ':c:'.,;,.                         .,,,'. ...'::,;cll
                      .....';xxddooooll:,;:lcclool'.......'....'''.......'',,,'......,,..        ...:c'',:,.                         .,;.  ...'::;;;;;
                     ....,lldxdooc,...:;,;;ccclooc,',,.......'.','.......',;;;,'.....';:'....    .. .;l'',:.                        ..,:,...',;:;;,'..
                    ....ckdooolcc;...,c,,;;;::::cccc:,,''..'',,;;,.......',;::;,,'....',,,...    ...  ;l,;c;.......             ......,::,'..,,,'',',;
                    ....ckdocc::c:,..;;,,;::;;;clclc;'''...,''',:c;.....',;::::;,'......'',..   ....  .coool;''.......      .........':col;,',,'..,;;c
                   .....';;;,'.......:;,;;:;;;::ccc:,'.....'',,',:o;,'...';:cc:;,,'.......''....  .....lkxddc:;;:::;,,,';c;....',,;:lolc;ll:,,,'';:c:;
                 ......',,,,''......':,;:::,,,,:lc;,'''....'''',:lxdolc:;;::ccc:,''........'....  ....:llocc'......'',;:coollllllodxl;;;;:::;,;::::;;;
                 .....'',,,,''......,:,;;;,.;loocc;,,''...''';ldkOkkxxdolllllcc;,,'...............  .:;..lcl;........',:looloololodl;:cc::ccc,;ccc:;;c
                 ....'',,,,,''......,:::;:',c::cllc:',clcccldkOKOxllllodxddddol::;,'................:c'..:ol:..',,,;;::;collccccoollcclllllll:;c::llll
                 ....',,,;,,''';;:cc:c:cc;,c:;;:cclooooooddkO0Okdd::cc::ldxxxddo:;,'...............':;'..,dlc;:cllcccc::;'',;;:::::cloooooooolcloodddd
                 ....',,,;,,';ldl:;clccll:c:,,,;lodxdl::coxk00xo:c;;::;;;:lxxxxdl;,'...............,;,'..'doccoxxl:;::c:;'.,:::',;;coddddooooolodooddd
                                           ,O0kc,,,,,,;'....                                                                              ,,:..       
                                          .O0xl:,;,''','.....                                                                             ,,:..       
                                          .oKOoc;;,,''..''. ...                                                                           ,:c'.       
                                           .O0xlc:,,,,...''. ...                                                                          ,c:,.       
                                            oKOdol:;;'....'......                                                                         .;;,.       
                                            cKOkxdol;.....''......                                                                        .;;;.       
                                            :KOxdollc,....''......                                                                        .,;:.       
                                            :KOxxdl:;,............                                                                         ,:;.       
                                            c0klllo:'...     ....                                                                          ,;.        
                                            o0o,::do,...                                                                                   ,,      ...
                                           .kO:,:;oxc...                                                                                  .:;..',,,,''
                                           .0x,,:;cdl,..                                                                              ...,:oc;c;,,,,,'
                                           ,0l',:;;ll,,.                                                                            ...';:cdc::'......
                                           cOc':c;;lo,'...                                                                        ......';lkl:::cccc:;
                                           ok;,ll;;co:;''...    ...                                                             .......',:od:::::c:;::
                                          .xkllkkdoddodddddollxkddooc.                                                         ......';,'.;o;',;c::;;;
                                          .O0OxkdloxxxdoddxOkldklc:cldo;..                                                     .....','...;o;',,:c;;::
                                          c0o''c..co'.,;'..:Olc:'..';cdd:,'''.                                                ....',,'...':o;,,'';:cc:
                                         .xO:';c'.''. .':..'xc,....';cll;'''';;'.                                             ....',,..''';l;''';:;;:;
                                         ;Okccc:....    ,l;cOo'..,;clc;,'','',,:c;'.                                         .....,,'..''',c;''';:;;;,
                                        .x0dc;,....     .'.ckc:cccll:;;:'....',,;:cc:;..                                     .....,,...'''.;,..';:;;;'
                                     .'cO0klc;'....     ...dc';ccc:;,,;loc,,'....  ...',;'.                                  ....',;...'''.;;'',:::;,.
                                   .llcdkkdcoo'...      ..;d,:;.''. ....:lodl;'.    ... ..''..                               .....';. ...'.;:',,;::;''
                                  ,xc   'kocxo'...      ..ol:;...        ..':ooc'.    ..  ..'''.                             ......;.....,;::'';:,;:,.
                                  ,,.   ;klcdo;...      .,dll...             .cdl;'...  ..  ...''.                           ......','...,;;c,,::::;;;
                                       .oxlloc;..       .cdoc....              ;ol,''''....   ..''..                          ......'''',,,;;;'..,;;:c
                                      .cxkdoo:;'.   ....:kxxoc''.               cdl,...,,'...  ...'...                        .......'''',,,;;''',:;::
                                     .:dxkxol:;'.. .:oodkxxxxkxl.               .,loc. ..',,,'.  ..,'..                        ........'',,,;:;,:cc:;;
                                   ..cxxxkkolc;,...ok0Oxxxxdxxl:................. ....   ..,;;,,. ..','.                        ........'.',;::,:lc;,,
                                 .,coodxdkkdol:,,..ok0kxxolclc'... ...................  .. ..,:,,,...';,.                        .....''...';;:;,;;;,,
                              ..codoodddolodollc;'...;cl:;'..'''......................        .';;;'..';,.                        ....''....;;;c:,cllc
                         .....:ddoddxxdoc:cllclol;......'''...''..........'''.......'..          ':c;'.,;;.                         .,,,'. ...'::,;cll
                      .....';dxddddoool:,;:ccclool,.......''...'''.......'',,,'......,,..        ...:c'',:,.                         .,;.  ...'::;;;;;
                     ....'cldxdool,..':;,;;ccclooc;',,'......'.'''.......',;;;,'......;;'....    .. .;c'',:'.                       ..,:,....';c;;,'..
                    ....:kxdooolc;...'c,,;;;::::ccccc,''...'',,;;,.......',;::;,,'.....,,,...    ...  ,l,;c:.......             ......,::,'''',;'',,',
                    ....lOxocccccc,..,:,,;::;;;clccl:''''..,''',:c;.....',;::::;,'......'',....   ..   :dloo;'........      ... .....';col:,',,'..,;;c
                   .....';:;,'.......;;,;:::;:::ccc:;''....'',,',:o;,'...';:cc:;,,'.......''....  ... .cxxddl;;;;::;,,'.,c;....',;;;looc;cl:,,;'',:c:;
                 ......',,,,''......':;;;;:;,,,clc;,''.....''',,;lxdolc::;::ccc;,'.........'....  .. .:llocc,....''',,;;cooollllloodo;;;,:::;,;:::::;;
                 .....'',,,,''......':;;;;,';coolc;,'''...''';ldkOkkkxdollllllc:,''..................:;..clc:.........':looooolooool:;cc::ccc,;:cc:;;c
                 ....'',,,,,''......,:;;;:',cc:cllc:',clccclokOKOxllllodxdddddl::;,'.............. .:c,..,occ..',,,;;::;:lllcc:coollcclllllcl:;:::llll
                 ....',,,;,,''',;:c::c::c:;cc:::cclooooooddxO0Okdd::cc::ldxxdddo:;,'...............':;'...olc;:cllcccc::;'',;;:::;:clooooloodlcllooddd
                 ....',,,;,,';ldlc::c:::c:c:,,,;cldxdlc:coxk00xo:c;;::;;::lxxxxdl;,'...............,;,'...oolcodxo;:::c:;'.':::;',;coddddooloolddooddd
                                           ;O0kc,,,,,,;'....                                                                              '':..       
                                          .O0xl:,;,,'','......                                                                            ,,c..       
                                           lKOoc;;,,''..''. ...                                                                           ,:l'.       
                                           .kKklc:;',,...''. ....                                                                         ':c,.       
                                            lXOddoc;:'....'......                                                                         .;;,.       
                                            ;K0kxdoo:'....''......                                                                        .;;;.       
                                            ;0Oxxdllc,'...''.....'                                                                         ,;:.       
                                            ;0Oxxdl:;,............                                                                         ,::.       
                                            :KOllcdc''..     ....                                                                          ,,.        
                                            oKd,;;dd;...                                                                                   ,,.    ....
                                           .xOc':;lxc,..                                                                                  .::..,,,,,''
                                           .Ok;':;col,..                                                                              ..',:dl;:,'',,,'
                                           '0o',:;;ll,,.                                                                            ....;;cdc:;'''....
                                           :0c,;c;;co,,...                                                                        ......';lkl;:ccclcc;
                                           lO:'cl;;co:;,'...     ..                                                             .......',:ld:;:::::;;:
                                           dkolkkdoddodddddocldkddooc'                                                         ......';,'.;o;',:cc::;:
                                          .k0OxkdodkkxxdodxOkcdkoc:cldd:..                                                     .....,,'...;o;',,::;;::
                                          :0d,'c'.co'.,;'..:Occ:,.'';cdd:,'''.                                                ....',,.....;o;'''';:cc:
                                         .dOc';c'... ...;'..kl,....',:lo:,''',;'.                                             ....',,..''';c;''';:;:;,
                                         ,Oklcc:....  ..,l;:Oo'..,;cll;,'',''',;:;'.                                         .....,,...'..,c;''';:;;,,
                                        .dKxc;'....     .'.:kl::ccll:;;:'....'',;:ccc;..                                     .....,,...''.';,'.'::,;;'
                                      ':k0klc;'....     ...oc';clc:;,,;loc;'.....  ...',;'.                                  ....',;...'''.;;'',:;;;'.
                                   .:oldkkxcoo,...      ..;d,;:'',. ....:lodl;'.    ... ..''..                               ....',;....''';:',,;::;'.
                                  'xl.  'xdcdo,...      ..ll::....      ...':ooc..    ..  ...''.                             .....';.....,;::,';:;;:,.
                                  ,,.   ,xocxo;...       'dll'..            ..:dl;'...  ..  ...''.                           .'....','...,;;c;,;:::;;;
                                       .lxoloc;..        :doc....              ,ol;''''....   ..''..                          ......'''',,,;;;'..,;;:c
                                       :xkdoo:;'.. .. ..;xxxo:'..               :dl,..''''...   .''...                        .......'''',,,;;,'',::::
                                      ;dxkxol:;'.. .;lookxxxxkxl.             ...,loc....',,,'.  ..,'..                        ........'',,,;:;,:cc:;;
                                    .cdxxkkdlc:,...ck0Oxxxxxxko:....................'.    .';;,,. ..',..                        ........'.',;::,;lc;,,
                                 .':lddxxkkdll:,,..ok0kxxdolll,... ...................   . ..,:,,,...,;,.                        .....''...';;:;,;;;,;
                             ...:odooddoooddolcc;'...;ll:;,..''.......................        .';;;'..';,.                        ....''....;;;c:,cllc
                         .....;oddddxxdol::llclol;.......''...''..........'''..........  .      ..;c;'.',;.                         .,,,'. ...'::,:cll
                      ......,oxxdoddoooc;;:ccclodl,.......''...'''.......'',,,'......,,...       ...:c'.,;,.                         .,;'  ...'::;;;;;
                     ....'cloxddol;..'::,,;ccclooc;,,,'......'.'''.......',;;;,'......;;,....    .. .,l''':'.                        .':,....';c;;,'..
                    ....:xxoodolc;...'c;,;;;:::cccccc,''...''',;;,.......',;:::,,'.....',,...    ..   ,l;,::'....               ......,::,'''',;'',,',
                    ....lOxocccccc;..,:,,;::;;;clccl:''''..,''',:c;.....',;::::;,'......'',....    ... ;dllo;'........      ... .....';coo:,',,'..,;;c
                   .....'::;,'.......;;,;;::;::;ccc:;''...''',,',:l:,....';:cc:;,,'.......''....  ... .:xxddl::;;;;,'''.'c;....'',,;lool:co:,,;'',:c:;
                 ......',,,,''.......;;,;;:;,,,:lc:,'''....''',';lxdolc:;;::ccc;,'.........'....  .  .:lcocc;....''',,;;cooollclloodd:;;,;:::,;:::::;;
                 .....'',,,,''......';;;;;,',clolc:,'''...''';lokOkkxxdollllllc:,''..................::..:lc:.........':looooolllodl;;cl::::c,;:c::;;:
                 ....'',,,,,''......,:;;;:,,c::cllc:,'clc::cokOKOxolooodxdddddl::;,'................;c,...lcc'..,,,;;::;:lllcc:codocccclllccl:;:::llll
                 ....',,,;,,''',;;c:::::c:;cc:::cclloooooodxO0Okddc:cc::ldxxxddoc;,'...............':;'...lll;;colcccc:::,',;;:::;:clolooooodocllooddd
                 ....',,,;,,';ldlc::c:::c:c:,,,;cldxdlc:coxk00xo:l;;cc;;;:lxxdddl;,'...............,;;'...loocldko;;::::;'.';::;,;;:lodddoolodlodooddd
                                           :OOxc,;;,,,;,....                                                                              ,,c'.       
                                          .k0xl:,,;,'','......                                                                            ';c,.       
                                           ;00dl:;,'''..''. ....                                                                          .:l;.       
                                            dKOolc;,,,....'.  ...                                                                         .cc;.       
                                            ;K0xdolc:'.....'......                                                                        .;,;.       
                                            ,K0kxdooc'.....,......                                                                         ,;:'       
                                            '00xxdclc;'....'.....'.                                                                        ,;c.       
                                            ,0Oxxdo:;,.............                                                                        ':c.       
                                            ;KOcc:ol,.'.      ...                                                                          ',.        
                                            cKd,;;okc...                                                                                   ',.    ....
                                            d0l';;cxl,..         .                                                                        .::'',;;;,,'
                                           .kO;';;:ol;'.                                                                              ..',:dl;:,''''''
                                           .0d,,c;;cl,,.                                                                            ...';::dl;:'''''..
                                           ,0l,;c;;:o,'...                                                                        ......';cko;::clllc:
                                           cOc'co:;:oc;,'...                                                                    .......';:cdc,:::::;;;
                                           oOllkOxddxodoododlcoxddol:'                                                         ......';,..;o:'':cc::;:
                                          .x0OxkxookkxxddxxOklokdc::ldd:'.                                                     ...'',,'...;o:'',::;;::
                                          ,Ox,'c,.:o,.';'..:Oo:c,'..,cdd:,''..                                                ....',,...'';o:'''';:cc:
                                         .o0l',c,... ...:'..do,....',:lo:,''',,'.                                            .....',,..''';l:''';:;;;,
                                         'kOlccc....    'l;;kd'..,;:ll:,,','''';:;'.                                         .....,,...'..':;''';:;;,,
                                        .o0kc;,....     .'.;kl::ccll::;:'....'',;:cl:,..                                     ....',,...'..',,..,::,;,'
                                      .;d0Olc:'....     ...lo',cll:;,;;loc;''.........',;'.                                  .....,;....'..,;'';:;;;'.
                                    ;lldkkxcoo,....     ..'d;,:,',. ...':lodl;'.    ... ..''..                               .....,;....',';:',;;::;''
                                  .od. .'ddcdd;...      ..co:c....      ...,:ooc'.    ..   .'''.                             .....';.....,;:c,'::;;;,'
                                  ;;.   .xocxo:...       .oll,..            ..:dl;'...  ..  ...''.                           ......',....,;;c;,;;;:;:;
                                        cxoloc;'..       ;doc....              ,ll;'.''....   ..''..                          ......'''',,,;,;'..,;;:c
                                       ,dkdoo:;'..  . ..'dxxo:'..               :dl,..''''...   .''...                        .......'''',,,,;,'',::;:
                                      ,dxkxoo:;'.. .,:clxxxxxxxc'               .,ld:. ..',,,'.  ..''..                        ........'',,';:;,:clc;,
                                    .;dxxkxdlc:,...cxOOxdxxxxkoc'................ .',.    .';;,,. ..';..                        ..........',;::,;lc;,,
                                 ..;lodddxkdol:,,..ok0Oxxdooll,... ..................   .....,;,,,...';,.                        .....''...';;::,;;;;;
                             ...,lddodddooxdolc:;'..':ooc:,'.'''......................       ..,;;;'..';,'.                       .'..''....;:;::,clll
                         .....,oddddxxdol::llclol;......'''...''..........'''..........  .      .';:;'.';;'                         .,,,'. .'.';:,;clo
                      ......'cxxdddddooc;;:ccclodl,.......''...''........'',,,'......,,... .     ...:c,.';;.                         .,;'  ...'::;;;;;
                     .....:cokxdoo:'.,c:,,;ccclodl;,,,'......'''''.......',;;;,'......;:,....    .. .'l,.';,.                         ';;....';:;;,'..
                    ....;ddoodolc;...':;,;;;ccccccccc;''...'',,;;,.......',;:::,,'.....,,'.....  ..   'l;,:c'....                .....'::,...',;'',,.,
                    ....lOxolllccc;..,:,,;;:::;clccc:,'''..,''',;c:.....',;::::;,'......'',....    ..  ,dllo:'........      ... ......,:ooc,',,'..':;c
                   .....,cc:,,'......;;,;;;::::;ccc:;''....'',,',:l:,'..',;:cc:;,,'.......''....  ... .;dxdxoc:;;;;,''''.:;....'',,;coolcclc;,;'',;cc:
                 ......',,,,'........;;,;;:;,,;:lc:,'''.....''',;lxdolc:;;::cc:;,'.........'....    ..:ocolc:....'',,,,;:oolclcclooddc;;,;:::',;:::;;;
                 .....'',,,,'.......':;,;;;',clolc:;,''...''',cdkOkkxxdollllllc:,''...............  .;:..,lcc.........';looooolllldo:;cc::c:c;;:c::;;:
                 ....'',;,,,''......,:;,;:',c::cllc:,':lc::cokO0Okolooodxdddddl:;;,'................,l,...ccc,...,,;;::;;llllc:clool::cllll:c:;;::ccll
                 ....',,,;,,''',,;:::c::::;cc:::cclllooooddxO0Okddc:cc::ldxxxddoc;,'................::'...:ol:;clolccc:::,',;;::::;clolooooodocloloood
                 ....',,,;,,',:ollcccc::c:c:,,,;cloxdoccloxk00xo:cc;cc;;::oxxdddl;,''..............';;'...;dolodxo:;:::;;,..,;::;,,:coodddolodldoooddd
                                           cOOx:,;;,,';,.....                                                                             ',c,.       
                                          .k0kl:,,;'''''......                                                                            .;:;.       
                                           ,0Odc:;,'''..''.  ...                                                                          .;c:.       
                                            oKOocc;,,,....'. ....                                                                         .::;.       
                                            ,K0xddlc:'.....'......                                                                         ,,;.       
                                            '00kxdooc'.....,.......                                                                        ,;:'       
                                            .O0xddlcc;'....'.....'.                                                                        ';c.       
                                            '0Okddoc;,.............                                                                        ':l.       
                                            'KOcc:oo,.'.      ...                                                                          ';'        
                                            :Kd,;;lkc'..                                                                                   ';.   .....
                                            oKo';;cdl,..         .                                                                        .:c'';;;;,,'
                                           .xO:.;,:lo;,.                                                                              ..',:dl;:,'''''.
                                           .Ox,,c;;:l,''.                                                                           ...';::do;;,,,''..
                                           '0o,;l;;:o;'...                                                                        ......';cko;;:clllc:
                                           ;0c'co:;:oc;,'...                                                                    .......';ccdc,::::;,,;
                                           lOooxOxddxoooooodlcoxdoolc'                                                         ......,;'..,oc'';cc:;;:
                                           xOOxxxlokkxxdddxOklokxlccldd:'.                                                     ...'',,....;l:'',;:;;::
                                          'Ox;.:;.;o,.';'..;ko:l;''.,cdxc,'''.                                                ....',,...'';l:'''';:cc:
                                          oOo',l;.... ..:,..oo;'....,:lo:,''',,'.                                            .....,,'..''';l:''';:;;;,
                                         .kOlccc....  . 'c;,kx'..';:ll:,,',','';:;'.                                         .....,,......'::'',;:;,,,
                                        .l0kc;,....     ...,ko::cccc:;;:,.....',;:cl:,..                                     ....',,....'.',;..,;:;;,'
                                      .,d00oc:,....     ...co',cllc;;;;coc,''..'......',;'.                                  .....,;....'..,:'';:;;;'.
                                    ,llxkkkclo,....     ...d:,:,',. ...':lddl,'..   ... ..''..                               .....';....',';c,,,;::,''
                                  .ld.  'ddcdd;....      .cd;c....      ...,:loc'.    ..   .'''.                             .....';.....,;;:,';:;;;,'
                                  ;:.   .xd:do:...       .ool,..            ..:oo:'...  ..  ...''.                           ......''....,;;c;,;;;;;:;
                                        :xococ;'..       'dol'...              ,ll;'.''.. .   ...'..                          ......'''',,,;,;'..,;;;c
                                       'dkxooc;'..  . ...oxdo:'..               ;dl,...'''...   ..''..                        .......'''',,,,;,'',:;;:
                                      'oxkxoo:;'..  ':ccxkxxxxxc'               .'ld:....',,''.  ..''..                        ........'',,';:;,:clc;,
                                    .,oxxkxdlc:,...;xOOxdxxxxkdl'..................','   ..',;,,. ..','..                       ..........',;;:;;lc;,,
                                  .,codddxkxol:,,..ok0Oxxdoloo;... ...................  .....,:,,,...';,..                       .....''...';;::,;;;;;
                              ..,cododddooxdolc:;'..'codl:,'.'''......................       ..,;;;,..',,'.                       ....''....;;;:c,:lll
                         .....,odddddxdol::llclol;......'''...''..........'''..........         .';:;'.';;'                        ..,,,'. ...';:,;cll
                      ......'cxxddddddoc;;:clccddl;.......''...''........'',,,'......,,..  .     ...:c,.';;.                         .,;'. ...':::;;;,
                     .....;clkxdoo:,',::,,;clccodc;,,,'......'''''.......',;;;,'......,:,....    .. .'l,.,;,.                         .;,....';:;;;'..
                    ....,oxdodolc;...'c;,;;;:cclllccc;''...'',,;;,.......',;:::,,'.....,,'.....       'l;,;c'....                .....';:;'.'';;'',,.,
                    ....lOxolllcll;..':,,;;:::;clccc:,'''..,''',;::.....',;::::;,'......'',....   .... 'olloc'........      ... ......,:ldc,',,'..':;c
                   .....,cc:;,''''...;;,;;;:;;:;ccc:;''....'',,'':o:,'..',;:cc:;,,'.......''....  .....,dkdxdc:;;;;,''''.;;.....',,;coolcclc;,,'',;cc:
                 ......'',,,''.......;;,;;:;,;;:lc:,,''.....'''';lxdolc:;;::cc:;,'.........'....  ....;ocllcc'...,,,,,,;:oolclcclloddc,,,;:::,,;:::::,
                 .....'',,,,'........;;;;;;',clolc:;,''...''.,cdkOkkxxdollllllc:,''...............  .,:'..lcc'........':looooollllooc,:c:;::c;,:c::;;;
                 ....'',;,,,''......';;;,:,'c::cllc:,';lc::cokO0Okolooodddddddl::;,'.............. .,l,...:lc;..',,,;::;;loolc:cloolc:clllc:c:,;;;:cll
                 ....',,,;,,''.',;::;::;::,:c:::cclllooooddxO0Okxdc:cl::loxxxddoc;,'................;:'...,olc;:loccccc::,',;;;::c::loloodoodolloooood
                 ....',,,;,,',;lllcccc::::cc;,,;ccoddolcloxkO0ko:cc;cc:;;:ldxdddl;,'...............';;'...,ddolddo:;:c:;;,..,;::;,,,coodddolodooddoood
                                          .oOOx:,;;,'',;.....                                                                             .,c;.       
                                          .k0kl:,,,''''''.....                                                                            .,::.       
                                           'O0xcc;,'',...''.....                                                                           ;cc.       
                                            cKOolc:,,,....'.. ...                                                                          ;:c.       
                                            '0Kkddlc:,.....'......                                                                         ,,:.       
                                            .O0kxxloc,.....,.....'.                                                                        ',:'       
                                            .O0kxdlcc;'....'.......                                                                        ';c.       
                                            .O0xdddc;''............                                                                        ';o.       
                                            '0Oc:;ld;''.      ...                                                                          ';,        
                                            ;Kx,;,ckl'..                                                                                   ';.   .....
                                            lKo';;:do;..         .                                                                        .:c,,;:;;,,'
                                            d0:.;,;co;,.                                                                             ...,;:do;:,'..''.
                                           .kk;'c;;;l,''.                                                                          ....';;;dd;;,,,,...
                                           .0d,,l;;;l;'...                                                                        ......':cko;;:cllllc
                                           ;0l':o:;;o::,....                                                                    .......';:cdl,;:::;,,;
                                           cOookOxddxooooooocclddoolc,.                                                        ......,,'..,lc'';cc:;;:
                                           d0OxxxlokkxxddxxOklokxlc:cod:..                                                     ...'',,....;l:'',;;;;::
                                          .Ox,.:;.;o,..;,..;kd:l;''.,:dxc,'...                                                ....',,..'.';lc''',;:cc:
                                          l0o,,c;.... ..:,..ld;'....,;coc,''',,'.                                            .....','..''';c:''';:;;,,
                                         .x0lccc....  . .c;,xx,..',:ll:,,'''''',:,'.                                         .....,,......';:'.';:;,,,
                                         cOkc,,'...   .  .''xd::cccc::;;,.....',;:clc,.                                      ....',,....'.'';..,;:;;,'
                                      .,o0Ooc:,....     ...:d,,cclc;;;;coc,....'.....'',;..                                  ....',;....'..,:'';:;;,''
                                    'llxkkklld;....     ...d:,:;',.....';ldxl,''.   ... ..''..                               .....';. ..',';c,,;;::;''
                                  .cx' .'dd:dd:....     ..:d;:'...      ...,:loc'.    ..   .'''.                             ......;.....,;;:;';:;;;,'
                                  ;c'   .xd:do:....     ..loc;..            ..:ol:'...  ..  ...''.                           ......,'....,;;c:,;;;:;;;
                                        ;xococ:'..       .ool'...              'lo:..''.. .   ......                          ......''.'',,,,;'..,;;;:
                                       .dkxooc;'..  .....lddo;...               'oo;...'''...   ..''..                        .......'''',,,,,,',,:;;:
                                      .oxkxol:;'..  .::cxkxxxxdl'               .,ld:....',,''.  ..''..                        ........'',,';:;,:ccc;,
                                     ,oxxkxdlc:,...,dOOxdxxxxkdl,................ .,;,   ..';;,,. ...,...                       .........'',;;:;;lc;,,
                                  .,cdddxxkxol:,,..oO0Oxxxoloo;'.. ....................  ....,;,,,...';,..                       .....''...';;::,;;;;;
                               .':ooooooodxdolc:;'..,cddlc;,''''......................       ..,;;,'..',;'.                       ....''....,;;:c,clll
                         .....'ldddddxdol:cllclll;.......'''..'''.........'''..........         .';:;'.',;'.                       ..',,'. ....;:,;cll
                      .......:dxddddddol:;:ccccodl,.......''...''........'',,,''.....,'...        ..;c,.',;'                         .,;'. ....:;;;;;;
                      ....,:lxxdooc,,,::,,;ccccodl;,,;'......'''''.......',;;;,'......,;,....      ..'c;.';;.                         .;,....',:;;;'..
                    ....'odoodolc;....:;,;;;:cclllccc;'....'',,;;,.......';;:::,,'.....,;'.....       .l;,;:,....                .....';c;'.'';;,,,,.,
                    ....lOdollllcc,..':,,;;;:::clccc:,'''..,''',;:;'....',;::::;,'......'',....    .. ..olloc'.......       ... ......';ldc;',,'..';;:
                   .....,llc;,,','...;:,,;;:;;:;ccc:;''....'',,'':o:,'..',;:cc:;,,'.......''....  ... .,dkdddc:;;,,,'''..';.....',,,:oooc:ol;','.';cc;
                  .....',,,,'........;;,;;::;;;:lc:;,''.....'',',lxdolc:;;::cc::,''........'....  ....;ollocc,...,,,,,,;;lolclccllldxl;,,,;::,,;:c::;,
                  ....'',,,,'........;;;;;;',clolc:;,''...''',loxOkkxxdollllllc:,''................ .,:'..ccc,........':coooodlllcodc;:c:;::c:;:c::;;;
                 ....'',;,,,''......';;;,;,':::cllc:,.;c:::cox000koloooddddddolc;,,'................,l;...;lc:..',,,;::;;loolc:clool:;:lllc:cc,;;;:ccl
                 ....',,,;,,''.',,;:;::;::,:c::::llllloooodxO0Okxxc:ccc:lodxxddoc;,'................;:'...'ocl;:lolcccc::;',;;;;:c::loloodooddlcoooooo
                 ....',,,;,''';lllll:::::::c;,,,;coddol:coxkO0ko:cc;cc:,,:ldxdddl:,'...............';;'...'doocldd:;:::;;,..';cc;;,;clodddolodoooooood
                                          .o0kdc;,;,'',,.....                                                                             .;:c.       
                                          .xKOo:;,,''''.''. ...                                                                            ,;l.       
                                           .kKxlc;,'',...''.  ..                                                                           ,:l'       
                                            :K0dllc;,,....'.. ....                                                                         ;:c'       
                                            .OKkxdol:,.....'......                                                                         ,,:'       
                                            .k0kxxool,'....,'....'.                                                                        ',:'       
                                            .k0kxxolc;,....,'......                                                                        .,c'       
                                            .k0xoddl;''............                                                                        .;d.       
                                            .00c:;lx:...      ...                                                                          .;,        
                                            ,Kx,;;:ko'..                                                                                   .;'   .....
                                            cKo',;:oo;..         .                                                                       ..:l;';:;,,''
                                            o0c.;;::o;,..                                                                            ...,;:oo;:'..'''.
                                           .xO;'c;;;l,''.                                                                          ....';;;dd;;;;;,''.
                                           .Ox,,l;,;o;''...                                                                       ......':lxo;;:clllcc
                                           ,Oo';o:;;lc:,''..                                                                    ......',;::dl,;:::;,,,
                                           :Odox0xdddloooooolclddoolc,.                                                        ......,,'..'ll'';cc:;;:
                                           oOOxdxlokkxkxxxxkOllkxlcccoo:..                                                    ....'',,....;lc'',,;;::c
                                          .kk;.::.;l,..;,..,xx:l;''',:oxc,''..                                                ....',,..'.';cc''',;:cc:
                                          c0d,,c;.... ..;,..cd;,....';col,''.,;'.                                            .....,,....'',cc'''::;,,,
                                         .d0lccc'...  . .c:,dx;..',:ll:,,'''''',:,'.                                         .....,,....'..;:'.'::,,,,
                                         :OOc;,'...   .  ...xd:::cclc:;;,.....',;:ll:,.                                      ....',,...''.'';..,:;;;,'
                                       'c00dcc,....     ...;d,'cllc;;;;coc,..........',,,..                                  .....,,....'..,:'';:::,''
                                    .codkOklld;....     ...oc':;',.....';ldxo,...   ... ..''..                               .....,;. ..',';c,';;::,''
                                   :x, .'dxcdd:....     ..;o:c'...      ...,:loc'.    ..   ..''.                             ......;.....,;;:;'::;;;,'
                                  ,l,   .dd:doc....      .lol;..            ..:oo:'...  ..  ...''.                           ......,'....,;;c:,;,;:;:;
                                        ,xdcol:'.        .ool'...              'lo:'.'... .   ......                          ......''.'',,,,;'..,;;;:
                                       .oxxooc;'..  .....cxdo;...               'ol;...'''...   ..'...                        .......'''',,,,,,',;:;;;
                                      .lxkkdlc;,..  .;;:dkxxxddc'              . ,lo:....',,''.  ..''..                        ........'',,';;;;:ccc;,
                                     'ldxkkdlc:,'..'oOOxdxxxxkxo;..................,;;.  ..';;,,.  ..,'..                       .........'',;;:;;lc;,,
                                  ..:odxxxkxol:,,..lO0Okxxdooo:'.. ..................    ....,;,,,...';,..                       .....''...';;::,;;;;;
                               ..;oooodddoxxolc:;'..;lddlc;,',''.......................     ...,;,,'..',;,.                       ....''....,;;:c,:lll
                         ......cddddddxdlccllclll;......'','..'''.........'''..........         .'::;'.',;'.                       ..',,'. ....;:,;clo
                      .......;dxddddddol:;:clccddl,.......''...''........'',,,''.....''..         ..;c,.',;'                         .,;,. ....:;;;;;,
                      ....,:lxxddoc;;;c:,,;ccccodl:,,;,......'''''.......',;;;,'......,;,....     ....c;.';;.                         .,;....',:;;;,..
                    ....'ldooddol:....:;,;;;clclolccc;''...'',,;;,.......';;:::,,'.....,;,.....   ..  .l:',:;....                .....';c:'..';;,,,;''
                    ....lOdoolllcc;..':,,;;;::;clccl:,'''..,''',;:;'....',;::::;,'......'',.....   ..  .ollol'.......        .. ......';loc;,,,'..':;:
                   .....;olc:;,,,,...;;,,;;:;;:;:cc:;''....'',,',:l:,'..',;:cc:;,,'.......''....  .....,okdddc:;;,,,'''..',.....'',,;loolcol;,;''';cc;
                  .....',,,,'........;;,;;::;;;:lc:;,''.....',,,;lddolc:;;::ccc:,,'........'....  ....,ollocc,...,,,,,,;;lolcc:cllodxo;,,,;;:,,;::::;;
                  ....'',,,,'........;;;;;;,,clolc:;,''...''.'clxOkkxxdollllllc:,''................ .,:'..:cc,........';coooodllccodl;;c:;::c:,:cc:;,;
                 ....'',;,,,''......';;;,;,':::cllc:,.;c::::ox000koloooddddddolc;,,'................'l;...,lc:...,,,;:::;clolccclodl:;:lllc:cc,;;;:ccl
                 ....',,,;,,''..',;;;::;::,:c::::llllloooodxO00kxxc:clc:ldxxxddoc;,'................;:,....llc;;lolccc:::;,,;;;::c::llloooooodlcoooooo
                 ....',,,;,,'';lllll:::::::c:;,,;coddol:coxkO0koccc;cl:,,:ldxdddo:,'................,;'....odoclddc;::::;,..';:c:;,':lodddooooolddoood
                                          .d0koc;,,,'',,'. ..                                                                              ,;l.       
                                          .dKOo:,,,,'''.''. ...                                                                            ,,l'       
                                           .xKklc;,'','...'.....                                                                           ,:o,       
                                            ,00xllc;;,'....'. ...                                                                          ;;c'       
                                            .kKOxdol:,.....,......                                                                         ',c'       
                                            .xKkxxool;''...''......                                                                        .,:'       
                                            .d0kxxolc;'....''......                                                                        .;c'       
                                            .x0xoddo:,'............                                                                        .;d.       
                                            .O0c;:cxc'..      ...                                                                          .;;.       
                                            '0k,,;:xo,..                                                                                   .;,  ......
                                            :Kd,,;:oo:...        .                                                                       ..:o;,::;,,''
                                            l0c.;;;:o;,..                                                                            ...,::od::'......
                                            dO:'::;;l;''.                                                                          .....;;;dx:;;;;,''.
                                           .kx;,c:,;l:''...                                                                       ......,:lxd,;:clllcc
                                           'Od,;d:;;lc:,''..                                                                    ......',;::ol,;:::;,,,
                                           ;Odox0xdddooolooolclodoolc;.                                                        ......;;'..'ll'';cl::::
                                           lOOxdxookkdxxxxxOOolxxlc:cod:'.                                                    ....'',,....,lc''',;;::c
                                          .xk:.;:.,l,..;,..,xk:l:''.,:lxl,,'..                                                ....',,..'.';cc''',::c::
                                          :0d,,c:.......;;..:x;,....';col,''.,,'.                                            .....,;'..''',:c''';:;;,,
                                         .d0occc'...    .c:'ok;..',;clc,,''',,,,;;..                                         .....,,....'..;:'.'::,,,,
                                         ;OOl;,'....    ..'.dxc:::clc:;;;.....',,:cl:,.                                      ....',,...''.'';..,:;;;,'
                                       .c00dcc,....     ...,x;':lll;;;;coc,....''....',;;..                                  .....,,....''.':'';:::,.'
                                    .:oxkOklld:....     ...lc':;',.....';lddl,.'.   ... ..',..                               .....,,....',';c;';;::,''
                                   ,x;..'oxcox:....     ..,d::,...      ..';cloc'.    ..   ..''.                             .....',.....,;;:;';:;;;,'
                                  'l,   .odcddc....      .coc:..            ..:oo:'..   ..  ...''.                           ......,'....,;;cc,,,;;;:;
                                        ,xdcol:'..       .lol,...              'lo:'.'... .   ......                          ......''.'',,,,;'..,,;::
                                       .lxxooc;'..  .....:xdo;...               .oo;...'''...   ..''..                        .......'''',,,,,,',;::;;
                                      .cxkkdlc;,.. ..,,;okxxxddc'                'lo:....',,''.  ...'..                        ........'',,',;:,:lcc;,
                                     .lxxkkdlc:,'...okOxxxxxxkxd;................ .;::.  ..',;,,.  ..,'..                       .........'',;;:;;lc;,,
                                  ..:oddxxkxol:,,..cO0Okxxdoodc'.. ..................      ..,;,,,....,,'.                      ......''...';;;:,;;;;;
                               ..;looodddoxxolc:;'..;lxxol:,','.'......................   .  ..,;,,'..',;'.                       ....''....,;;:c,:lll
                         ......:dddoodxdoccolclll;'.....''''..'''.........'''..........        ..';:;'.',;,.                       ..''''. ....;:,;clo
                      .......,dxddddddol:;:clccddl,.......''...''........'',,,''.....''..         .';c;.',;,.                        .,;,. ....:;;;;;,
                      ....':lxxdool:;;c:,,;ccccodl:,,;,...'..'''''.......',;;;,'......,;,....     .. .c;.',;.                         .,;.....,:;;;,..
                    .....coddddol:....:;,;;;clcoolccc;''...'',,;;,......'';;:::,,'.....,;,.....   ..  .c:',:;....                 ....';c:'..';;,,,,''
                    ....lOxollllc:,..':,,;;;::;clcclc,'''..'''',;:;'....',;::::;,'......'',.....  ...  .lllll,.......        ..  ......,col;',,'..';;:
                   .....;doc:;,,,,'..;;,,;;:;;:;:ccc;,'....'',,',:l:,'..',;:cc:;,,'.......''...   .....'lkdddl:;;,,''.....,......',,;loolcll:,,,'',:c:
                  .....',,,,'........;;,;;::;;;:ll:;,,'.....',,,,cddolc:;;:cccc:,,'........''..   ....,llco:c;...,,;;,;;;colcc:clllodd:,,,;;:;,;:::::;
                  ....'',,,,'........;;;;;;,,clooc:;,''....'.'clxOkkxxdollllllc:,''................ .':,..:cc;.........;coooodlllclxl;;::;::cc;:cc:;,,
                 ....'',;,,,''.......;;;,;;':::cllc:,';cc:;:oxO00kdloooddddddolc;,,'............... 'c:...'lcc...',,;;::,clolcc:clooc;;cllc::c,,,,;:cl
                 ....',,,;,,''..',;;;::;::;::::c:lllllodoooxk0Okxdl:cl::lddxxddol;,'................;:,....cll:;lolccc:::;,,;;;;:c::clloooooodlcoooooo
                 ....',,,;,,.',ccllc:::;:ccc:;;,;coddolcloxkO0kdccl;cc:;;:ldxdddo:,'................,;,....codllddc;::::;,'..,:::;'':lddddooooolddoood
                                          .d0koc;',,'',,'. ...                                                                             ,,o'.      
                                          .o0Od:;,,,'''..'. ...                                                                            ,,o,.      
                                            oKOlc:,'','...'.  ...                                                                          ,;o,.      
                                            '0Kxoll:;,'....'.  ...                                                                         ;:l,       
                                            .xKOxxolc,.....'......                                                                         .,:,       
                                             o0kdxoll;''...''....'.                                                                        .,:,       
                                             o0Oxxolc:,....''.....'                                                                        .,c'       
                                             d0xlood:,'...  .......                                                                        .;o'       
                                            .k0l;::xl...      ...                                                                          .;:.       
                                            .0O;,;;dx;..                                                                                   .;,. ......
                                            ;Kx,,;;ld;'..                                                                                ..:o:,c:;,,''
                                            lKl.,;;:o:,..                                                                            ...,::odc;'......
                                            d0:'::;,l;''.                                                                          ....';;;ox:;;;::;'.
                                           .kk;'c;,,l:,'...                                                                       ......,ccdd;;;cclccc
                                           .Ox,,oc;;lc:,'...                                                                    ......',;::lo,;:::;,,,
                                           ,Odox0kxdxooollool:coooolc;.                                                        ......;;...'cl'';cl::::
                                           c0OxdxookkxkkxxxkOocxkll:lodc..                                                    ....'',,....,cl'',,;::::
                                          .xOc.;:.,l,..,,..,xkcl:,'.';lxl,''..                                                ....',,...'',:l''';:::::
                                          ;0d;,cc.......;;..:x;,....';:oo,''.,,'.                                            .....,;'...'',:c'',;:,,,,
                                         .oKdccc'....   .::,lk:...,;clc;,''',,,,;;..                                         .....,,....'..,:..,::;,,,
                                         ,OOo:,'....    ....ox:;::clc:;,;.....'',:cl:,.                                      ....',,....'.'':..;:;;;''
                                       .;O0xll;.....    ...'d;':llc:;;;:oc,....''....',;,..                                  ....';,....''.':,'::::,.'
                                    .;oxOOklld:....     ...lo':;,,.....';lddl,...   ... ..',..                               .....,,....',';c;';;:;,'.
                                   'x:..'oxcoxc....      .'d::;...      ..',cooc'.    ..   ..''.                             .....',.....,,;:;,::;:;,'
                                  'o;   .od:ddc'..       .:oc:..            ..:oo:'...  ..  ...''.                           ......,'....,;,:c,,,;;,:;
                                        'xdcdl:'..       .lol,...              'lo:'.'... .   ......                          ......''.'',,,';,..,,,::
                                       .lxxooc:'..  .. ..,ddo;...               .lo;...'''...   ..''..                        .......''.',,,,,,',;:;;;
                                      .:xkkdlc:,..  .',;lkxxxddc'             ...'lo:....',,''.  ...'..                        ........'',,';:;;:lcc;,
                                     .cdxkkdoc:,'...ckkxxxxxxkxd:..................,cc.  ..',;,,.  ..,'..                       .........'',;::;;lc;';
                                  ..;lddxxkxol:,,'.cOO0kxxdoodl'.. ....................    ..,;,,,....,,..                      .......'...';;;:;,;;;;
                               ..,looodddoxxoll:;,..;okxdl:;,,,........................   .  ..,;,,'..',,'.                       .....'....,;;:c,:lll
                         ......:oddoodxdoccoollll;'....'''''..'''.........'''..........        ..';;;,.',;,.                       ..',''......;:,;cll
                      .......'oxdoddxdooc;:ccccodl;.......''...''........'',,,''.....''..         .';c;..,;,.                        .;;,. .. .;;;;;;,
                      ....';cdkdoolc::cc,,;ccccooo:,,;,......'''''.......',;;;,'......,;'....     .. .c:'',;'                         .',.....,:;;;,..
                    .....:ooodddlc'...:;,;;;clcloolcc;''...'',,;;,......'';;:::,,'.....,;,.....   ..  .cc.,::....                 .....,c:'..',;,,,,''
                    ....ckxdoollc:,...c;,;;;:c:clcclc,'''..'''',;:;'....',;::::;,'......''''....  .... .locll;.......        ..  ......,col:'','..';;:
                   .....;ddl:;;;;;,..,:,,;;::;::cccc;,'....'',',,:l:,'..',;:cc:;,,'.......''...   ... .'lkxddl:;,,'''.....'......,,,,looocll:,,,'',:c:
                  .....',,,,''.......;;,;;::;;;:ll:;,''.....'',,,cddoll:::::ccc:,,'........''..   ....'lococc:...,;;;,,;;colc::clllodd:;,,;;::,;::::;;
                  ....'',,,,'........;;,;;;,,:looc:;,''....'.'clxOOkxxdolllllll:;''................ ..:,..;lc:.........;clodddolccldo;;::,;:cl;::cc;,,
                 ....'',;,,,''.......;;;;;,':c::llcc;',cc:;:lxO00kdloooddddddooc;,,'.................c:....ccc'..',,;;::,clolcc:cldoc;;cllc::l,,,,,;cl
                 ....',,,;,,''...',;;::;::;:c::::llllcodoooxk00kxdl:clc:ldddxddoc;,'................,:,....:ll:;cllccc:::;;,;;;;:cc:clloooooodlcoooodo
                 ....',,,;,,''':cllcc::::ccc:;,,;cldxolcloxkO0Odccl;cc:,;codxddddc,'................,;,....:doocddl:::c:;,'..,;cc;,';lodddooooolddoooo
                                          .d0xo:;',,'.,,'.....                                                                             ,,o,.      
                                          .l0Odc;,,,'''..'.. ..                                                                            ,,o,.      
                                            lKOlc:,'','...'. ....                                                                          ';d;.      
                                            .kKkool:;;.....'.  ...                                                                         ';l:.      
                                             oK0xxdoc,.....''......                                                                        .,:,       
                                             l0kdxoll:,....''....'.                                                                        .,:,       
                                             c0Oxxdlc:,.....'.....'                                                                        .,c,       
                                             l0xclldc,'...  .......                                                                        .,o,       
                                            .x0l;::xo'...     ..  .                                                                        .;:.       
                                            .OO;,;;ox:..                                                                                   .;;. ......
                                            'Kk'';;co:'..        .                                                                      ...:oc;c:;,,''
                                            :Ko',;;;l:,'.                                                                            ...;::oxc;'......
                                            l0c.::;,l:',..                                                                         ....';;;ox:;;:::;,.
                                            xk:'c:,,lc,....                                                                       ......;ccdx;;:ccc:cc
                                           .kx;;oc;;lc:,'...                                                                    ......',;:;lo,;:::;,,;
                                           'kxdx0kdodooolllol:clooolc;.                                                        .....';,...'cl',;cc:;;c
                                           :OOxdxookkxxxxxkOOocdkolccodc..                                                    .....,,'....;cl''',;:cc:
                                           dOc.;c.'l,..,;..,dkcc:,''';lxl,''..                                                ....','...'',:l''';:::::
                                          ,Ox;'cc.... ..,;..,x:;....';:oo;'..,,'.                                            .....,;....''':c'',;:;;,,
                                         .lKdccc'...    .;:,lO:...';clc;;'',,,,,;;..                                         ....',,....'..,:..,::;,,,
                                         'k0o:,,....     .'.lkc;;:clc:;,;.....'',:cl:,.                                      ....',,....'.'':.';:;;;''
                                       .;k0xcl;.....    ....d:';lll:;;;:lc,.....'....,;;,..                                  ....';,....'..'c,'::::,.'
                                    .;odkOkocdc....     ...co';:,,.....';lddl,...   ... ..,,..                               .....,,....,'';c:',;;;,'.
                                   .dc..,oxcoxc....     ...o::;...      ..';cooc'     ..   .'''.                             .....',.....,;;::,;;;:;,'
                                  .oc.   lx:ddc'..       .;dcc..            ..:oo:'..   ..  ...''.                           ......,'....,;;:c,,',;,:;
                                        .ddcdl:'..       .ldo,...              .lo:''.... ..  ......                          ......''.'',,,';,..,,,::
                                       .ckxooc:'..  ......odo;...               .ll:..''''...   ...'..                        .......'''',,,;,,',;::;;
                                      .;dkkdlc:,..  .',,lkxxxddc'               .'lo:....'','..  ...'..                        ........'',,';:;;:lcc;,
                                     .:dxkkdoc:,'...ckkxxxxxxkkx:..................;cc.  ..',,,,.  ..,'..                       .........'',;::;;lc;';
                                  ..;lddxxkxol:,,'.:k00kxxxoodo,.. ...................  .  ..,;,,,....,,..                      .......'...';;;:;,;;;;
                               ..,coooodddxkoll:;'..:okkdoc;,;,''.................... .    ....,;,,'...,;'.                       .....'....,;;:c;:lll
                         ......;oddoodddoccoollll;'....'''''..'''.........'''..........        ..';;,,.',;,.                       ..''''......,:;;cll
                      .......'lxdoddxdooc;:clccodl;'......''...''........'',,,''.....''..         .';c;..,;,.                        .,;,. .. .;;;;;;,
                     ......,:dxddooc::cc,,;cllcldo:,,;,...'..''''........',;;;,'......,;'....     .. .c:'.';'.                        .',.....,:;;;,..
                    .....:ooodddoc,...::,;;;clclollcc;''...'',,;;,'.....'';;:::,,'.....';,.....   ..  .:c',::....                 .....,c:'..',;,,,,'.
                    ....:kxdooolc:,...:;,;;;:c:clccl:,'''..'''',;:;'....',;::::;,'......''''....  .... .cdcco;.......        .   ......,coo:'','..';;:
                   .....;xdlc:;;;;,..':,,;;:;:;;:ccc;,'....'',',,:l:,'..',;:cc:;,,'.......''...   .... .ckxddo:;,,'''.....'......',,,codoclo:,,,'',:c:
                  .....'',,,'........,;,;;:c;;;:ll:;,''.....'',,,cddollc::::ccc:,,'........''...  ....'locolc:'..,;;;,;;,:oo:::cllloodc;,,;;;:,;:::::;
                  ....'',,,,'........;;,;;;,,:lool:;,''....'.'coxOOkxxdolllllll:;,'...............  ..:,..'l::........';clooodolcccdo:;::;;:cl;;:cc:;,
                 ....'',;,,,''.......;;;;;,':c:cllc:;.,:::;:lxO00kdlooodddddoooc;,,'............... .c:....ccc,..',,,;::;cloolc:clooc;;ccl:;:l,',,,;:l
                 ....',,,;,,'.....,;;::;::;:c::c:llllcodoodxk00kxdo:clc:ldddxddol;,'................,:,....:llc;cllccc:::;,,;;;;:cc:clllodooodlclloodo
                 ....',,,;,,'.';cllcc::;:::l:;,,;cldxoolloxkO0Odlcl:cc:,;codxddddc,'................,;,....;doocodl:::c:;,,..,::c;,';cdddddoodooddoooo
                                          .xKOo:;,,,'.,,'.....                                                                             ',d;.      
                                          .cO0x:;,,,'''..'.. ...                                                                           ';o;.      
                                            :KOoc:;'','...'.. ...                                                                          .;d:.      
                                            .kKkdolc:;.....'.. ...                                                                         .:l:.      
                                             lK0kxool;......'......                                                                        .,;;.      
                                             c0Odxollc,'....,......                                                                        .,;;       
                                             :0Oxxdoc:,'....'.....'                                                                        .,:;       
                                             c0kclldc,'... ........                                                                        .;l;       
                                             o0l,:;do,...      ..                                                                          .;:.       
                                            .kO:';,ox:...                                                                                  .:;.......'
                                            .0k,';;cdc'..        .                                                                      ...:oc;c;;,,''
                                            ;Kd',;,;l:,'.                                                                            ..';:;lxl,'......
                                            c0c.::;;c:',..                                                                         ....';;:okc;::c:;,.
                                            dO:'c:,,cc,....                                                                      .......;ccod;;:cccccc
                                           .kk;,oc;;lc:,'...                                                                    ......',;;;lo,:cc:;,,;
                                           .kxdx0kxddooolllll:cloolcc;.                                                        .....';'...'cl',;cc:;;:
                                           ;OOxdxllkkdxkxxxOOdcdkolclldc'.                                                    .....';'....,cl''',;:ccc
                                           oOl.,c.':,..,;..,dkclc,''';lxo;''..                                                ....,,,...'',cl'',;:::;;
                                          'Ox:':c.... ..,;..,x::.....,:oo;'..',..                                            .....,;....''':l'',;:;,,,
                                          cKdccc,....   .;:,cOc...,,cll:;'''',',;;..                                         ....','....'..,c..,::;,,,
                                         .x0o:,'....     .'.cOl;;:clc:;,,..'...',:cl:'.                                      ....','..'.'.',:'';;;;;''
                                       .'kKkcc:.....     ...d:';lll:;;;:lc,.....'...',;;,..                                  ....';,....,.',:,':::;'.'
                                     ,ldkOkocdc....     ...:d';:,,'....';lddl,...   ... ..,'..                               .....,,....,'';::';;;;,''
                                   .dl..,oxloxc....     ...oc;:....     ..';coo:'.    ...  .'''.                             .....',.....,;;::,;;;:;;'
                                  .ol.   cdcddl'..       .;occ..           ...:oo:'..   ..  ...''.                           ......,'....,,;;c,,',;,:;
                                        .ddcoo:'..       .cdl;...              .loc'''... ..  ......                          ......''.'',,,.;,..,,,::
                                        :kxodc:,..  ......odd;...               .ll:...''....   ...''.                        .......''.'',,,,,,,;::;;
                                       ,dkkdlc:,..  ..',cxkxxddc'             .  .lo:....''''..  ..'''.                        .........'',';;;;:lcc;,
                                     .:dxkkdlc:,'...;kkxxxxxxkkdc..................;ll'  ..',,,,.  ..''..                       ..........',;::;;l:;';
                                   .,ldxxxkxol:,,'.,kO0kxxxoodd;.. ................... ..  ..,;,,'....,,..                      .......'...';;;:;,;;;;
                               ..'clooodddxkoll:;,..cdOkdol:;;,'.....................      ....,;,,'...,,,.                       .....'....,;;:c;:lll
                         ......,loddodddolcoollll;....',,'''..'''.........'''..........        ..';;,,..';;.                       ..''''......,:;;cll
                      .......'cdddddxdddc;:cll:odl;'.......'...''........'',,,''......'..         .';:;..';,.                        .;;,. .. .;;;;;;,
                     ......,;dkddoolcccc;,;ccccldo:,,;,.....'''''........',;;;,'......,;,....     .. .::'.';'.                        .',.....,:;;;;'.
                    .....;llodddol,...;:,;;;clcloolcc;''...'',,;;,'......';;:::,,'.....';,.....   ... .:c',;:'...                  ....,:c'..',;,,,;'.
                    ....:kxdooolc:'...:;,;;,:c:clcclc,'''..'''',,::'....',;::::;,'......'''....   ...  .cocco;.......            ......':oo:,',,..';::
                   .....:xdoc::;;;;..,:,,;;:;;;;:ccc;,'....'',,,,:l:,'..',;:cc:;,,'.......',...   .... .cdxddo::;'''.............'',;:odocloc;,,'',:c:
                  .....',,;,'........,:,;;:c;;::ll:;,''.....'''',cddollc:::cccc:;,'........''...  ....'lololcc'.',;;;,,,;:ooc::clllloxl;,,;;;:',:::::;
                  ....'',,,,''.......;;,;;;,,:llol:;,''....'.'cldOOkxxdolllllll:;''.........'...... ..:,..'c:c'........;:looodoccccddc;::;;::l;;:cc:;,
                 ....'',,,,,''.......;;,;;;':c::llc:;.,:::;;ldO00kxlooodddddddoc;,,'............... .c:'...:cc,..'',,;::;:loolccccooc;,:cc:;;c;''',,:c
                 ....',,,;,,'.....',;;;;;:;;c::c:lllccooooddk00kxdo:clc:ldddxddol;,'................,:,....,olc:colccc::::,;;;;;;clcclllodooodl:cloooo
                 ....',,,;,''..;:llcc::;:::c:;;,;clddollloxkO0Odlcl:cc:;:codxddddc,'................,:,....,doolodl:::c:;'''.';:c:,',coooddooooloddddo
                                          .x0Ol:;',,'.,,''.....                                                                            ',o:.      
                                           ;O0xc:,,''''..''. ...                                                                           .,l:.      
                                            ,K0oc:;,','...... ...                                                                          .;oc.      
                                             dXOdooc:;'....'......                                                                         .;c:.      
                                             :KOkkdol:......,......                                                                        .,;:.      
                                             ;0kdxdllc,'....,......                                                                         ,;;       
                                             ;0kxxdoc;;'....'.....'.                                                                        ,::       
                                             ;0kclcol''...    .....                                                                        .;c:       
                                             l0l,;;dx;...      .. .                                                                        .;:.       
                                             x0:';,cxc...                                                                                  .:;....''''
                                            .OO,';;coc,..        .                                                                      ...:dl::;;,,''
                                            ,Kd.,;,,lc,'.                                                                            ..';:;lxo,'......
                                            c0c.;:,,cc',..                                                                         ....';;:okl::cc::;'
                                            o0c'cc,,cc,....                                                                      .......;ccox:;:ccc::c
                                           .xk:,ol;;lc:,'...                                                                    .....''';;,ld;;cc:;,,;
                                           .kxdx0Oxddooolllll::loolcc;.                                                        .....';'....co,';cc:;::
                                           ,OOxoxolxkxxkxxxkkdcdOdlccldc'.                                                    ....'';'....,cl,,',,:ccc
                                           lOl',c..:;..';..,oOccc,,'',cxd;''..                                                ....,,'...'',:l'',;:::;;
                                          .Ox:,:c.... ..,;..'kc;'...',:oo:'..',..                                            ....',;....''';l,',;:;,,,
                                          :Kxccc;....   .;c':Oc'..',:cl:;'',,,',;;..                                         ....','....'..,c'.,::,,,,
                                         .x0d:,'....     .'.:kl;;::lc:;,,..'..'',;cl:'.                                      ....','..'.'.'':,';;,;,''
                                        'xKkcl:.....     ...oc',lol:;;;:lc,.....'...',;;,..                                  ....';,....,..'c;':::;'.'
                                     'ldkOkocol.....    ...;d,;:;,'....,;lddl,...   ... ..,'..                               .....,,....,',;c:';;;;,'.
                                   .oo..;okloxl....     ...lc;:....     ..';coo:'.    ...  .'''.                             .....',.....,;;::,;;;:;;'
                                  .oo.   cxcodl'..       .;occ..           ...:oo:'..   ..  ...''.                           ......,'....,,;;:,,',;,:;
                                        .ddcoo:'..       .:dl;...              .loc''.... ..  ...''.                          ......''.'',,,.,;..,,,::
                                        ;xxodl:,..    ....ldd;..'               .co:....'....   ...''.                        .......''.'',,,,,,,;::;;
                                       'dxkdlc:,..   .',:dkxxdoc'                .lo:....'''...   .'''.                        .........'',';;;;:llc;,
                                     .;dxxkdlc:,'...,dkxxxxxxkkxl..................;ll,  ..',,,,.  ..''..                       ..........',;;::;c:;';
                                   .'cddxxkxol:,,'.,xO0kxkxoddd;'. ....................    ..,,,,'. ..,,..                      .......'...';,;c;,;;;;
                                ..:looodddxkoll:;,.'cdOkxdl:;;,''.....................     ....,;,''...,,,.                       .....'....,;;;c;:lll
                         ......'ldddodddolcoolllc;'...',,'''..'''.........'''..........        ..,;;,'..';;.                       ..''''......,:;;cll
                      ........:ddddddxddl::cll:odl;'.......'...''........'',,,''......'..         ..;:;..';;.                        .;;,. ....;;:;;;,
                      .....';oxdodollccl;,;ccccldoc;;;,.....''''''.......',;;;,'......';'....      ...::'.,;,.                        .',.....':;;;,'.
                    .....,cooxddol;...;:,;;;cllloolc:;''...'',,;;,'......';;:::,,'.....';,.....    .. .;c'';:'...                  ....,;c'..',;,,,;,.
                    ....;xxdooolc:'...:;,;;,:ccclcclc,'''..'''',,c:'....',;::::;,'......,''....   ..... :dlcl:.......            ......':oo:,',,..';;;
                   .....;kddl:::::;..':;,;;:;;:;:ccc;,'....'',',,;l:,'..',;:cc:;,,'......'',....  .... .:dxdddc:,'''..............',,:odolloc;,,'',:c:
                  .....',;;;,'.......,:,;;:c;;::ll:;,''.....'''',:ddollc:::ccc::;,'........''..       .ldlllcc,.',;;;,,;;;loc:::cllloxl;,,;;;:,,:::::;
                  ....'',,,,''.......,;,;;;,,:llol:;,''....'.':odOOkxxdolclollc:;''.........'...... ..:;...c::,.......',:looodoccccddl;;;;;::l:;:cc:;,
                 ....'',,,,,''.......,;,,,;';c;:lll:;.':::;;ldO00Oxoooodddddddoc;,''............... .:c'...;lc;...',,;:c;;loolccccloc;;:lc;;;c;'''',:c
                 ....',,,;,,'.....',;;;;;:;;c::c:llcccododdxk00kxdo:clc:ldddxddol:,'................':;....'lll::llcccc:;:,;;;;;;clc:cllooooloo:cclooo
                 ....',,,;,''..,;cllc::;;::c:;;;;clodxlcloxkO0Odlcl;cc:;:codxdddoc;'................':,....'oodlldl:::c:,'''.';;::;''cdodddooooloddooo
                                          .xKOl:;'','.','.. ...                                                                            ',cc.      
                                           ,kKxc:;,''''..''. ...                                                                           .,cc.      
                                            'O0xcc:,','....'.  ..                                                                          .;ll.      
                                             lK0xool:;'....'......                                                                         .;;:.      
                                             ,00kxdoo:......'......                                                                         ,,;.      
                                             '0Oxxdllc;'....,......                                                                         ';:.      
                                             'OOddddl;;'....'.......                                                                        ';c       
                                             ,0k:l:oo,'...    ......                                                                        ,:c       
                                             c0o,;,ox:...       .                                                                          .;;.       
                                             d0c';,cdl'..                                                                                  .:;...'''''
                                            .OO;';;:ol,..                                                                               ..';do::,,,,''
                                            'Kx.,:,,cc''.                                                                            ..';:;lkd,'......
                                            ;Ko';c,,cc''..                                                                         ....',;:okl;ccccc;,
                                            c0c':c,,cl,'...                                                                      ......';ccoxc;:ccc:::
                                            dO:,lo:;cc:;'...                                                                    .....',,,;,ld;;:c:;,,;
                                           .xxdx0Oxdxooocclll::lollc:;.                                                        .....';'...':o,';cc;;:c
                                           'OOxoxolkkxxkkxkOkdcdkdlccldl'.                                                    ....',;'....,:o,,,,;:ccc
                                           cOo',c..;,..';..,lOccc,,'',cxd;,'..                                                ....,,'..''',:l,',::;:;;
                                          .kk:,:l.... ..':...kl;'....,;oo:'..',..                                            ....',,....''';l'',;;,,,'
                                          ;0x:cc;.... . .;c,:kl'..',;cc:;''',,',;;..                                         ....','....'..,c'.,::;;,,
                                         .o0d:,'....     ...;Oo;;::llc:,,..'...',;cc:'.                                      ....';'..'.'.',:,':;;;,''
                                        .d0Oll:.....   .....ll',col:;;;;lc,.....''..',;;,.                                   ....';'....,.',::':::;'.'
                                     .cdxOkdcol.....    ...,d,;c,,'....,;lddl,...    .. ..,'..                               .....,' ...,',;::';::;,'.
                                    lo'.;okllko....     ...ll;:'...     ..';coo:'.    ...  .'''.                             .....',.....,;;;:,;;;;;;'
                                  .od.   :xcodl,..       .,ocl'..          ...:oo:'..   ..  ...''.                           ......,'....,,,;c;'',,,:;
                                        .oxloo:,..        ;dl:...              .coc'..... ..  ...''.                          ......''.'',,'.,;..,,,::
                                        ,xxool:,..     ...cdd;...               .:oc....'....   ...''.                        .......''.'',,,,,,,:c:;;
                                       'oxkdoc:,.. . ..';oxxxdo:,                .lo:....''''..   .'''..                       .........'',';;;;;llc;;
                                      ,oxxkdlc:,'...,okxxxxxxkkdl................ .;oo;. ..',,,,.  ..''..                       ..........',;;::;c:;';
                                   ..:dxxxkkol:,,'.,xO0kxxxdddd:'. ............... .....   ..,,,,'. ..,,..                      .......'...';,;::,;;;;
                                ..;lloodddxkoll;,,..cx0kxdl::;;''......................     ...,;,''...,,,.                       .....'....,;;:c;:lll
                         ......'coddooddolloollcc;'...';;,''..'''.........'''...........       ..,;;,'..';;.                       ..''''......,:;;:cl
                      ........:dddddddddl::cll:odl;'.......'...''........'',,,''......'..         ..;:;'.',;.                        .;;;. ....;;:;;;,
                     ......',lkddddolcll;,;ccccldoc;,;,.....''','........',;;;,'......','....      ...:c'.';,.                        .',.....':;;;;'.
                    .....'cloxxdol;...;:,,;;cccloolc:;''...'',,,;;'......';;:::,,'.....';;.....    .. .,l,';:,...                  ....';c,..',;,,,;,.
                    ....;xxoooolc:'...::,,;,:ccclcclc,'''..'''',,::'....',;::::;,'......,,'....   .... .;dcclc'......            .......;ooc,',,..',:;
                   ....';kxdlc::::;..':;,;;:;;:;:ccc:,'....'',',,;c:,'..',;:cc:;,,'......'',....  .... .;dxdddc;;'''..............',,:lodlldl:,,''';c:
                  .....',;:;,'.......,:,,;:c;;::ll:;,''.....'''',:ddoolc:::ccc::;,'........''..      ..cdllocc;.',;:;;,,,;coc;;:clllodo:,,,;;:,,;::::;
                  ....'',,,,'........,;,,;;;,:llolc;,''....''':odOkkxxdolclollc:;''.........'...... ..;:...cc:;........,:looddoccccodl;;;,,:cl:;:cc:;,
                 ....'',;,,,''.......,;,,,;';c;:lll:;.':::;;cdO00Oxoooodddddddoc;,,'.................;c'...,lc:...',,;:c;;coolcccclol;,:lc:;,c:',,',;c
                 ....',,,;,,'......,;;;;;:;;c::ccclcccoooddxk00kxdd:clccldddxddol:;'................':;'....lcl::lolccc:;:,;:;;;;:lc:ccloooolol:cclooo
                 ....',,,;,''..,;clc:;;;:c:c:;;;:clodxllloxkO0Odlll;cc:;:codxdddoc;'................';,.....oodoodo:::c:,'''.,;;:c:'.coodddooooloddooo
                                          .xKOo;;',,'.',... ...                                                                            .,cc.      
                                           'kKkc;,,''''..''. ...                                                                           .,:c.      
                                            .kKxlc:;','....'.  ...                                                                         .,:l.      
                                             :K0kddlc:'.....'.....                                                                          ;,c.      
                                             '00kxdolc'.....,......                                                                         ,,:.      
                                             .OOxxdllc;'....,.......                                                                        ,,:.      
                                             .OOddddl;,'....'.......                                                                        ',c.      
                                             '0k:ccoo,...     ......                                                                        ,:c       
                                             ;0o';,lx:...       .                                                                           ;;'      .
                                             l0c';,:dl'..                                                                                  .::...','''
                                            .x0;.;,:ll,..                                                                               ..':dd:;,,,,''
                                            .0k'':,,cc''.                                                                            ..'::;cxd;''''...
                                            ,0o';c,,:c,'..                                                                         ....';;:okl;:cccc:,
                                            c0l':c,,:l,'...                                                                      ......':ccldl;:ccc:::
                                            oOc,lo:;cc:;'....                                                                   .....',',,,cd:;cc:;;,;
                                           .xkdxOOkdxooocccll::cllcc:;.                                                        .....,;'...':o,';cc:;:c
                                           .kOxodolxkdxkkkkkOdcokxlllldl'.                                                    ....',;'...';co,''';cc::
                                           :0d''c'.;,..';..'lOl:l;''',cxd:,'..                                                ....,;...'',,:l,',::;;;;
                                          .xkc,;l'... ..':...xl;,....,;lo:'..',..                                            ....';,....''';l'.,;;;,,'
                                          ;0kccc;.... . .,c,;ko'..',;cl::,''',',;;..                                         ....','....'..,c'.;:;;,,,
                                         .o0xc,'....     ...,Oo;;;:llc:,,..'...',;cc;'.                                      ....,;'..'.'.',:,':;,;,''
                                        .o0Olc:'....   .....ll',colc;;;;lc,......'..,;;;,.                                   ....';'....'.',::':::;'.'
                                     .:okOkdcol'....    ...,d,,c;,,....,,lddl,...    .. ..,'..                               .....,' ...,',;::',::;,''
                                    :d,.;okllko'...     ...lo;:'...    ...';col:'.    ...  .'''.                             .....',.....,;;;:,;;;;;;'
                                  .ld'   ;xlldl,..       .'olc,..          ...:oo:'..   ..  ...''.                           ......,'....,,,;c;.',,,:;
                                        .lxlooc,..       .;ol:...              .coc'..... ..  ...''.                          ......''.'',,'.,;.',,,::
                                        'xxodl:,..     .. cdd:....              .;oc....'.....  ...'..                        .......''..',,;',,,:c:;,
                                       .lxkdol:,..  ...',lxxxdl:'.               .lo:....''''..   .'''..                       .........'',';;;;;ll:,;
                                      'ldkkdlc:;'...'oxxxxdxxkkxl..............  ..;ol;. ..',,,,.  ..''..                      ...........',;;::;c:;';
                                    .:oxxxkxol:,,'..dO0kxxxdddxc'. .....................   ..,,,,'. ..,,'.                      .......''..';,;::';;;;
                               ...;lloodddxkoll:,,'.cxOkxdoc:;:''....................      ....,;,''...',,..                      .....'....,;;:l;:lll
                         .......coodooddolldollcc;'...,;;,''..'''.........'''...........       ..,;,,'..';;'.                      ...'''......,:;,:ll
                      ........;ddoddddxdl::cll:ldl;'.......''..''........'',,,''.........         ..;:;'.',;.                        .;;;. ....;;;;;;,
                     ......',lxxdoddolll;,;cccclddc;,;,.....''','........',;;;,'......','....      ...;c'.';,.                        .',.....':;;;;'.
                    .....':loxxdoo:...;:,,;;cllloolc:;''...''',;;;'......';;:::,,'.....';;.....    ... ,l,',:,..                   ....';c,...,;'',;,.
                    ....,xxdooollc....::,,;,:ccllcllc,'''..''''',::'....',;::::;,'......,,'....   ...  .;oc:lc'......            .......;loc;',,''',:;
                   .....:kxdlccccc:..':;,;;::;:::ccc:,'.....',,,,;c:,'..',;:cc:;,,'......'',...    ... .;oxdddl;,''...............'',;lddllol:,,''';cc
                  .....',:c:,'.......,;,,;:c:;::ll:;,',.....','',:dxoolc:::ccc::;,'........''...     ..cdlcocc:'',;:;;;,,;clc;;:cllloddc,,,:,:,,;::::;
                  ....'',,,,'........,;,,;;;';llolc;,',....''':odOkkxxdolclollc:;''.........'......  .;:...:c::........,:looddoccc:lxl;;;,,::c:;:cc:;,
                 ....'',;,,,''.......,;,,,;';c;:lll:;.':::;;cdOO0Oxoooodddddddol;,''............... .;c'...'c::'..',,;;::;coolcccccol:;;cl:;,::',,',;c
                 ....',,,;,,'......',;:;;:;;c::ccclcccldodddk00Oxxd:clccldddxddol:;'................':;'....cclc:lolccc:;:;;::;;,:llcccllooolol::cclod
                 ....',,,;,''..,;:cc:;:::c:c::;;;cllddllloxkO0Odlll;cc:;:codxdoodc;'................';,.....lodoldoc::c:;,.'.';;;c:,':ddoddooooloxdooo
                                          .dKOd:;,,''.''... ...                                                                            .,;l.      
                                           .dKkl;,,''''..''.  ...                                                                          .',l.      
                                            .xKxlcc;','....'.  ...                                                                          ';l.      
                                             ;00kddlc:'.....'.  ...                                                                         ,,:.      
                                             .O0kxxolc'.....'......                                                                         '';.      
                                             .k0xxxolc;'....,'......                                                                        ',:.      
                                             .kOdoddo:,'....'.......                                                                        ',c.      
                                             .Ok:c:ld,.'.     ......                                                                        ,;c       
                                             ,0o';,cxc'..       .                                                                           ;;'     ..
                                             c0o';;:oo,..                                                                                  .::'.',,,''
                                             d0;.;,;ll,..                                                                              ...,;xd:;,,,,'.
                                            .Ok,,:;,:c,'.                                                                            ..'::;:xx;''''...
                                            '0d',c,,:l,'...                                                                        ....';;:okd;:ccllc;
                                            ;0o';c,,:l,....                                                                      ......':ccldl;:cc::;;
                                            lOc,lo:;:l:;'....                                                                   .....','',,:oc;cc:;,,;
                                            dkdkO0kdxoooccccl:;cllcc:;.                                                        .....;;....':o:.;c:;;;c
                                           .kOxodolkkdxkkkkkkxcokxollldl'.                                                    ....',,..'.';:o;'',;cc::
                                           ;Od''c,.;,...;'''cOo:l;''',:dx:,'..                                                ....,;....',,:o;',::;;;,
                                           xOc,:l'.... .':...do;,....,;lo:''.',..                                            ....';,....''';l,.,:;,,,,
                                          'Okccc;....   .,c,,xd'...,;clc:,''',',;,..                                         ....','...''..'c,.;:;;,,,
                                          l0xc,'....     ...,kd:;;:clc:,,..'...',;:c:'.                                      ....,;'..'''..':;'c;,;,.'
                                        .c0Olc:'....   .....co''colc;;;;cc,......''',;;;'..                                  ....';'....'.';::,:::;'.'
                                     .:oxOkdcol'....    ....o;':;,,....,,cdol,...    .. ..,'..                               .....,' ...,,';::';::;,''
                                    ;d;.;oxolko'...      ..co;:'...    ...,;col;'.    ...  .'''.                             .....',.....,;;;:,;;;;;;'
                                  .lx'   ,xlldl,..       .'lcl,..          ...:oo:'..   ..  ...''.                           ......,'....,,,;c,..',,:,
                                   .     lxlooc,..       .,olc...              .col,'.... ..  ...''.                          ......'..'',;'.,;.',,,;;
                                        'dxooo:,..    ....:do:....              .,lc...''.....  ...'..                        .......'...',,,';,,:c:;;
                                       .lxkdol:,...  ...,cxxdol:'.               .co:...'.''...   ..''..                       .........'',';:;;;lc:,,
                                      .ldkkxll:;'....ldxxkdxxkkxo..............  ..;do;. ..'',,,.  ..''..                      ..........'',;;:::c:;';
                                   ..;odxxkkol:,,'..oO0Oxxxdddxl,.......................   ..,,,,'.  .','..                     .......'...';,:::,;:::
                                ..,:loddddxkdll:,,''lx0kxdoc:::''......................    . ..,;,''...',,'.                      ....'''...,;,;l:;lll
                         .......:oddloddolldollcc;'...,:;,''..'''.........'''..........        ..,;,,'...,;'.                      ...'''......,;;;:ll
                      ........,oddddddddo::clccldl;'.......''..''........'',,,''.........         ..,:;'.',;..                       .;;;.  ...;;;;;;,
                     ......',cxddodddlll;,;ccccldoc;;;,.....'',''........',;;;,'......','....      ...;c,.',;.                        ..'......;;;;;'.
                    .....';llxxdoo:'..::,,;;cccloolc:;,'...''',;;;'......';;:::,,'.....';;.....    ..  'c;',:;..                   .....;c,...,;'',;,'
                    ....,dxooddll:....::,,;,:cclolccc;'''..''''',::'....',;::::;,'......,,'....   ..... ,dlccl'......            .......;loc;',,''',:;
                   .....;kxdllcccc:'.':;,;;;:;:::ccc:,'.....',,,,;c:,'..',;:cc:;,,'......''''...  ......,lxdddl;;'....... ........'',;lodolol:,,..';cc
                  .....',:c:;'.......':;,;;:::::loc:,,,.....','',:odoolc:::cccc:;,'.........'.....   ..:dlloccc'',;:;;,,;,:oc;;:clllodxl;,,;,:,,;:::;;
                  ....'',,,,'........,;,,;;;,;coolc;,',....'.':oxkkkxxdollloolc:;''.........'......  .;:'..;c::........,:clodddlc::lxo:;;;,::c:;:cc:;,
                 ....'',;,,,''.......,;;,,,';c::lll:;.';::;;cdkO0kxoooodddooddol;,''............... .;l'....ccc'...',;;::;clolclcccoo:,;cl:;,::',,,,;c
                 ....',,,;,,'......',;:;;;;;c::lcclcc:loodddk00Okdo:clcclodddddol:;'.................:;'....:llc:lolc:::::;;::;;;;llccccloolloo;:cclod
                 ....',,,;,,'..',;cc:;:;:::c::;::cclodllloxkO0Oxolo:cc:;:coddddool;'................';,.....:dddlooc::::;,.'.',;::c;';oddxxdoodloddddo
                                          .lK0xc;,,''.''.... ...                                                                            ''o.      
                                           .l0Ol:,,''',...'.  ...                                                                           ''l.      
                                             lKOolc:;,'....'.   ..                                                                          ,,l.      
                                             .OKOxdol:'.....'.  ...                                                                         ',c.      
                                             .x0kxxooc,.....''......                                                                        .':.      
                                             .x0kxxolc:,....,,......                                                                        .':.      
                                             .x0dlood:,,............                                                                        ',c.      
                                             .xO:::cd:''.      .....                                                                        ,;l.      
                                             .Od,;,:dl'..       .                                                                           ,;,    ...
                                             ;0o';;:lo,..                                                                                  .::,'',,,''
                                             l0c.,;;:o,'.                                                                              ..',;dx:,'',''.
                                            .xO,':;,;c',.                                                                           ...,::;:xx;,''''..
                                            .0x''c;,;l,'...                                                                        ....';:clxd:cccllc:
                                            ,0d';l;,;l;'...                                                                      ......,:c:ldo;:cc:;;;
                                            c0l,ld:;:l:;,'...                                                                  ......',',,':ol;cc:;,;:
                                            okxxO0kdxdoolcccc:;:clc::;.                                                        .....,;....':o:';:;;;:c
                                           .xOxldolkkxxxkkkkkxclkxolclol'.                                                    ....',,.....,:o:,',;cccc
                                           'Ox,.c;.,,...;,.'cOd:l:,''':dxc,'..                                                ...',;....',,:o:',:;;;,,
                                           oOl,;l'...  ..:...od,,....';ldc'...,'.                                            ....,;,...''.',l;.,:;,,,,
                                          .OOlcc;....  ..'c,,xd;...';:c::;'.','';,..                                         ....,,'...''..'c;.;:;;,,,
                                          :0kc;,.....    ....kx:,;:clc:,,'......',:c;'                                       ....,,'..'''..'c:,:;,,'.'
                                         :O0occ'....   .....;d,':olc;;;;cc,......''',;:;'..                                  ....';'...''.';:c,:::;'''
                                      ;ldOkxcoo'....    ....o:,:;;,...',,cdoc;....   .. ..,'..                               .....,' ...,,,;;:,;:::,''
                                    'o:.:okolxd'...     ...:d;:;...    ...,;col;'.    ...  .'''.                             .....',.....,;;;:;;;;;;;'
                                   ck;   'xllxl,..       .'llc;..          ...:lo:'..   ..  ...''.                           ......,'....,,,,:;..'',:;
                                   ..    :xlooc,..        'olc...              .col,'....  .  ...''.                         .......'...',,'.,;'',,,;;
                                        .dxdoo:,..   .  . ;do:....              .,lc'..''.. ..  ....'.                        .......''..',,,';,,c::;;
                                       .cxkxol:,.... ...':dxxdc:'..               :o:....'''...   ..''..                       .........'',,;:;;;lc:,;
                                      .:dkkxll:;'....coddxxxxxkxo'.............   .;do;. ..'',,'.  ..''..                      ...........',;;:::c:;';
                                    .,lxxxxkdl:,,'..lk0Oxxxdddxl;....................',.    .,,,,'.  .','..                     .......'...';;:::,;:::
                            ......':loodddxkdll:,,'.lkOOxxdlc::,'......................   . ...';,,,...',,..                      .....''...,:,;l:;lll
                         .......;codloddollddolcc;'...;c:;,'..'''.........'''..........      ....,;,,'..',;'.                      ...'''......,;;,:ll
                      ........,lddddddxdo::clcclol;'..'....''..'''.......'',,,''.........         ..,:;'.',;'.                       .;;;.  ...,;;;;;,
                     .......':dddooddoll:,;ccccldoc;;;,.....'''',........',;;;,'.......,'....       ..;c,.',;.                        .''......;;,;;,.
                    .....';:ldxdooc'.';:;,;;cccloolcc;,'...'''';:;'......';;:::,,'.....';;.....     ...'c;',:;..                   .....,c;'..,;,',;;'
                    ....'lxooddolc'...;:,;,,:lllolccc;'''..''''',::'....',;::::;,'......';'....   ....  'ol:cl,......             ......,coc;',,''',:;
                   .....:Oxdlllllc:'..:;,;;;::;::lcc:,''....',,,,;c:,'..',;:cc:;,,'......''''...  .... .,cxdddl:;'....... ........'',,codololc,,''';cc
                  .....',clc;,'......';,,;:::;::llc;,','....''''':odoolc::ccccc:;,'.........'.....   ..:oococcl;',;:;;,,,,;lc;;::cllldxo;,,;;:;,;:::;:
                  ....'',,,,'........,;,,;;:,;coolc:;,,'...''';lxkkkxddolcloolc:;''.........''.....  .;c'..,c::'.......,:coodddlcc:cddc;;;,;ccc;:ccc;,
                 ....'',;,,,'........,;;,,;',c::lllc:'.;::;;cokO0Okdoooodoooddol;,''............... .,c,....ccc;...',;;c:;:lllllcccloc;,clc;;;:,,,',,:
                 ....',,,;,,'......',;:;;;;;c::lcclcc:loodddkO0Okddcclcclodddddol:;'.................::'....;lcl:cllc:c:::;,:::;;;cllccclodollo:;cccod
                 ....',,,;,,'...',:c:;:;;cccc:;:;clloddlloxkO0Oxolocllc;ccoddddool;'.................;;.....,ddxoddl::::;,'''',;;;c:,;lddddolldlldddoo
                                           l00xl;,,''.''.... ...                                                                            '.o.      
                                            :0Oo:;,''',...'.. ...                                                                           ''o.      
                                             :00dlcc;,,......   ..                                                                          ''o'      
                                             .kKOxdolc,.....'.   ..                                                                         ',c.      
                                              d0kxxolc;'....''......                                                                        .,:.      
                                              d0kxxdoc:,....',......                                                                        .;:.      
                                              d0olood:;,............                                                                        .,c.      
                                              xO::::dc'..      .....                                                                        ';l.      
                                             .Ox',,;do,..       .                                                                           ,:,   ....
                                             ,0o';;;lo;...                                                                                  ;c;',,,,''
                                             c0c.,,;:o;'..                                                                             ..,;;oxc,''''..
                                             dO,':;,;l,'.                                                                           ...,:;;:xk;,,,''..
                                            .Ok,'c;,;l,''..                                                                       .....';:clxx::cclllc
                                            '0d';l;,;l;'...                                                                      ......,:c:cdo;:cc;,,,
                                            :0o,cx:;:l:;,'...                                                                  ......',',,':oo,cc::;;:
                                            lkxxO0kxxdoolcccc:;:ccc::;.                                                        .....;,....':oc';::;;:c
                                            dOxldolxOxxxkkOOOxllkkolclol,.                                                    ....',,....',:oc'',;:c:c
                                           .Ok,.c;.''...;,.,:kx:l:,''';oxc,'...                                               ...';,....,,,:l:';:;;;,,
                                           lOo,;l'...  ..:,..lx;,....';cdl,'.','.                                            ....,;'...''.',l;.;:;,,,,
                                          .kOlcc:....  . ':;,ox;...,;:cc:;'.',,,;,..                                         ....',....''..'c;';:;;,',
                                          ;0kl;'.....    ....xx:,;:clc:;,'.....'',:c;.                                       ....';...'''..'c:,c;,,'.'
                                         ,O0occ,....   .....,d,'cllc:;;;cl,......''',;:;'.                                   ....';'...''.';:c,:::;'''
                                      ,ldOOxcoo'....    ....l:';;,;...'',cdoc;....   .....,'.                                .....,' ...,,,;;:,;:;;,''
                                    .dl.:dkdlxd,...     ...;d;:;...    ...,:coo;'.    ...  .'''.                             .....',....';,;;:;,,,,;;'
                                   :x:   'xoldl;..       .'cll;..          ...:lo:'..    .  ...''.                           ......,'...',,,,:;..'',:;
                                   ..    :xoloc,..       .'ooc...              .:ol,..... ..  ....'.                         .......'...',,'.,;'',,,;;
                                        .oxddo:,..      ..,do:....               ,lc'..''.. ..  ....'.                        .......'...',,,',,,cc:;,
                                       .:xkxol:,.. . ...';oxxoc;'..               ;o:....'''...   ..''..                       .........'',';::;;lc:,;
                                      .:dxkxll:;'....:oodkxxxxkxo'.............   .;oo;....'',,'.  ..''..                      ...........',;;;::c:;';
                                    .'lxxxkkdl:,,'..lk0Oxxxddxxo:....................,;.   ..',,,'.  .','..                     .......'...';;:::,;:::
                            .... ..:coodddxkdll:,,..lkOOxxdlccc,'.......................     ..';,,,...',,'.                      .....''...,;,;l::lll
                         .......,codloddollddolc:;'...:lc;,,..'''.........'''..........      ....,;,,'..',;'.                      ...'''......,:;;;cl
                      ........'lddddddxxoc:cllccol;'..'....''..'''.......'',,,''.........         ..,;;'.'';,.                       .;;;'  . .,;;;;;,
                     .......';dxdooddoooc,;ccc:cddc;;:,.....'''','.......',;;;,'.......,'. ..       ..,c,..,;'                        .''......;;,;;,.
                    ......,:cdxdool,'';:,,;;cccloolc:;,'....''';:;'......';;:::,,'......;;.....     ....c:'';;...                   ....,c;'..';,'';;.
                    ....'cdooddolc'...;:,;;,:lllolclc;'.'..''''',::,....',;::::;,'......';,....     ..  .ll:cl;......             ......,col;,,,''',:;
                   .....;kxdollllc:'..;;,;;;::;::lcc:,'.....',,,,;c:,'..',;:cc:;,,'......''''...    ....'cxxodo:,'.......  ........',,:lddlolc;,''';:c
                  .....',llc;,''''...';,,;:::;::llc;,','....''''':odoolc::ccccc:;,'.........''....   ..;oococcl:,,;:;;,,,,;lc;,;:cllloxo:,,;;;:',:c:;:
                  ....'',,,,'........';,,;;:,;coolc:;,,'...''';ldOOkxxdolcloolc:;,'.........''.....  .,c,..'l::,.......,:clooddlcc:cddl;;,,;::l;:ccc;,
                 ....'',,,,,'........';;,,;',c::lllc:'.;::;;:okO0Okdoooodoooddol:,''.........'..... .,c,....::c:...',,;c:;:lllllcc:loc;,:lc;;;c,,,'',:
                 ....',,,;,,'.......';;;;;;;c::lcclcc:coodddkO0Okddccllclddddddol:;'.................;:'....,lcl:cllccc:::;,:::;;;cllccclooollo:;cccod
                 ....',,,;,''...',cc:;:::::c:::c;clloddcloxkO0Oxolocclc::loodddool;,.................;;......odxdddl:::c;''''.;;;;cc,,codddooldlcddddo
                                           :0Okl;,,''..,..'. ...                                                                            ''o'      
                                            ;OOo:;,,'',......  ..                                                                           .'l'      
                                             ,00dllc;;,.......  ...                                                                         ',l,      
                                             .xKOxdooc,.....'.   ..                                                                         ';c'      
                                              oKOxxoll:'....''......                                                                        .;;'      
                                              o0kdxdoc;,....',......                                                                        .;;'      
                                              o0ocoldc,,...........'                                                                        .;c.      
                                              dO:;:;dl'..      .....                                                                        ':l.      
                                             .kx,,,,od;..       .                                                                           ':,   ....
                                             .Od',;;co;...                                                                                 .:l:',;;,''
                                             ;Kc.,,,;o,'..                                                                             ..,;;dkc''''...
                                             o0;':;,,l,'..                                                                          ...,:;;:xk:,,,,'..
                                            .kk,'c;,,l,'...                                                                       .....';:cldd;:cclllc
                                            .0x',o;,;l;'...                                                                      .....',ccc:od;:c:;,,,
                                            ,Oo,cxc;:lc:,'...                                                                  ......''.,,';oo;ccc;;;:
                                            ckkkO0kxxdolcc:cc:;::ccc;;'                                                        .....;,....';ol',;;;::c
                                            dOxlodcdkxxkkkOOOxllxkoocooo'.                                                    ....',,....',:ol'',:c:::
                                           .Ok;.::.''...;;',;kx:lc,,'';okc,'...                                               ...';,....,,,;lc';;;;;,,
                                           c0o,;l,.... ..:,..cd;;.....;col,'.'''.                                            ....,;'...''.';c:.,:;,,,,
                                          .x0lcc:..... . ':;'ox:...',:cc:;''''',,,..                                         ....',....'...,:;';;,;,',
                                          ,OOl;,.....    ....dkc,,:clc:,''.''..'',:c;..                                      ....';...'''..,::,c;;,'.'
                                         ,O0o:c,....    ....'d;':loc:;;;cl,......''';:::,.                                   ....';....''.,;:c,:::;'''
                                      'cdkkxcoo,....    ....cc';;;;...'',cdoc;....   .....,'.                                .....;' ...,,,;;:,;:;;,''
                                    .ol':dkdcxd,...     ...,d;::''.    ...,:lol;'.    ...  .'''.                             .....',....';,;;c;,,,,;;'
                                   ,xc   .xocxl;...      .'coc:..          ...:loc'..    .  ....'.                           ......,'...',,,,:;..'',:,
                                   ..    ;xoldc,..        .olc'..              .:ol,..... ..  ....'.                         .......'...',,'.,;'',;;;;
                                        .okdoo:,..      ..'doc....              .'lc'...... .   ....'.                        .......'...',,,',;,cc:;,
                                       .:xkxol:;'.   ....,odxoc;'.                ;o:....'''...   ..''..                       .........'',,;;;:;cc:,;
                                      .;oxkxllc;'....;lookxxxxkxo,.............   .,oo;....'',,'.  ..''..                      ...........',;;;c:::,,;
                                    ..cxxxkkdl:,,'..cx0Oxxxddxkd:....................;:'   ..',,,'.  .','..                     ...........';;;::,;:::
                               . ..;coodddxkdol:,,'.lO0Oxxdlccl;'.........................   ..';,,,...',,'.                      .....'....,;';l::lll
                         .......':odooodollddolc:;,...:ll:,,'.'''.........'''..........      ....,;,,,..',;'.                      ....''......,:;;;cl
                      ........'cddddodxxoc:cllccol;'..'....''..'''.......'',,,''.........         ..,;;'.'';,.                       .,;,'  . .,,;:;;,
                     ........,oxdooddoooc,;ccc:cddc;;:;'...''''','.......',;;;,'.......,'....       ..,c,..';'                        .''......;;,;;,.
                    ......,:cdxddol;',:c,,;;cccldolc:;,''..'''';:;'.....'';;:::,,'......,;.....     .. .c:'';:'..                   ....'::'..';,'';;'
                    ....':dooddolc'...;:,,;,:lllolllc;'.'..''''',::,....',;::::;,'......';,.......  ..  .ll:cc:.....              ......':ol;,',''',::
                   .....;kxdollllc;'..;:,,;;::;::lcc:;''....',,,,;c:;'..',;:cc:;,,'......'','.....  ....'cdxodo:,'.......  ........'',:lddlloc;,''',:c
                  .....',lol;,,'''...';;,;;:;:::clc:,','....''''';oxollc::ccccc;;,'.......'.''....   ..,oocolclc,,;;;;,,,,,c:,,;::clloxdc,,;,;:',:c:::
                  ....'',,,,''.......';,,;;:,;coolc:;,,'...'.';ldOOkxddolcloolc:;,'.........''....    ,c,...c:c;.......,:coddddlcc:cddo::;';c:l;:ccc;,
                 ....'',;,,,'........';;,,;',c::llll:'.,::;;:okO0Oxdoooodooodool:,''.........'....  .'c;....;cc:...',,;:c;:lllllcc:col;;:cc;;,c;,,'',:
                 ....',,,;,,'.......';;;;;;,c::lcclcc;:oodddkO0Okxdccllclddodxdol:,'.................;:,.....lclc:lllcc:::;,:::;;;:lllcccooolll:;c:clo
                 ....',,,;,''...',:c:;:::::c:::c;clcodolloxkO0Oxoodcclc::loddxdool:,.................;;'.....odxddolc::c;''.'',;;;cc,,lodddoololcdddoo
                                           ;00ko;,,,'.',..'. ...                                                                            ..o,      
                                            'x0d:;,''''...... ...                                                                           .'l,      
                                             .O0xool:;,.....'.  ...                                                                         .,c;      
                                              dKOkxdoc,'........ ..                                                                         .;c,      
                                              l0kxxoll:'....''......                                                                        .;:,      
                                              cKkdxddc:,....',......                                                                        .;:,      
                                              l0d:lldc,'...........'                                                                        .:c'      
                                              oO:;;;dl'..      .....                                                                        ':o.      
                                              xk,,;,od;...                                                                                  ':;  .....
                                             .Ox',;;co:...                                                                                 .:lc,;;,,''
                                             ,0l.,;,;o;'..                                                                             ..;;;dkl'.'....
                                             c0;.:;,,l;'..                                                                          ...,;;,:xkc,;;,'..
                                            .xO,'c;,,l;''.                                                                        .....';ccldx:::clllc
                                            .Ok,,l;,,l;'...                                                                      .....';cc::lx;:c:;,,,
                                            '0d;cxc;:lc:,'...                                                                  ......,,','';od,:cc:;::
                                            :OkkO0Oxxdoolc::cc;;:ccc:;'                                                       .....';,....';ll',;;;::c
                                            lOkcodcdkxxkkOOOkklcxOolcloo,.                                                    ....';'....',;ll',;:c:::
                                           .kk:.::.''...;;',;kxclc,,'';lkl,'...                                               ...';,...','';ll';;;;;,'
                                           ;0d,;l,....  .:,..:x;;.....;:do;'..''.                                            ....,;'...''..,cc',:;,,,,
                                          .x0occ:.....   ':,'lkc...',:ccc;'.'',,,,..                                         ....,,....'...'::';;;;,',
                                          'OOl:'.....   .....okc;,;cllc,''.''..'',:c,.                                       ....';...',...,::;:;;;'.'
                                         'k0dcl,....    .....d:':lol:;;;:c,.......',;:::'.                                   ....';....''.,;:c,:c:;'''
                                      .:okOxlld,....    ....cl';:;,...'',cooc;....   .....,'.                                ....';. ...,,,,;:,;:::,''
                                    .lo;;dkdcxd;...     ...,d:;c'..    ...,:lol;'.    ...  .'''.                             .....''....';,;;:;,,,,;;'
                                   'dl   .docxl;...      .':oc:'.          ..':loc'.     .  ....'.                           ......,'...',,,,:;..'',:,
                                   .'.   ;koldc,..       ..loc'..             ..:ol,..... ..  ....'.                         .......'...',;'.';'',;,;;
                                        .lxdoo:,..   ......ooc..'.              .'cl'...... ..   ...'.                        .......'...'',,',;;cc:;,
                                       .;xkxol:;'.  .....'lxdo:;'.                ,oc....'''...   ..''..                       .........'',,;;;:;lc:,;
                                      .;oxkxolc;'....,cloxxxxxkxo,.............   .,ol;....'',''.  ...'...                     ...........',;;;::::,,;
                                     .cdxxxxol:,,'..:xOOxdxddxkxc....................;:;.  ..',,,'.  ..,'..                     ...........';;;:c,;:::
                               ....,:lodddxkdol:,,..lk0Oxxxolll:'.....................       ..';'''....,,'.                      .....'....,;';l:;cll
                         ........:odooodollddolc:;,..':ooc;''.'''.........'''...........     ....,;,,'..',,,.                      ....''......,:;;;cl
                      .........:oddoodxxoc:colccoc;'..'....'''.'''.......'',,,''.........         ..,;;'..';,.                       .,;,'  . .,;;;;,,
                     .......',lxdoddddooc;;:ccccddc;;:,'...''''','.......',;;;,'.......''. .        ..;c,..,;'.                       .',......;;,;;,.
                    ......';cdkddol;,,:c,,;;ccclodocc:'''..'''';:;'.....'';;:::,,'......,;.....     .. .:c'',:'..                   ....';;'..';,'';;'
                    ....';oooddool,...,:,,;,:llllllcc:'''..''''',::,....',;::::;,'......';,....     ..  .co::c:'....               .....':ol:,',''',::
                   .....;kxdoolllc;'..;:,,;;:::::llc:,''....',,,,;::,'..',;:cc:;,,'......''''..      . .':dxodoc;'.......  . ......'',:lddlooc;,''',:c
                  .....',odl:;,''''..';;,;;::;::coc:;,,'....''''';odollc::ccccc;;,'.... ..'.''....   ..,odcllcll;,;;;;,',,'cc,,;::clloxxl;,;,,:',:::::
                  ....'',,,,'........';,,;;:,;coolc:;,,'......;ldOOkxddolclollc:;,'.........''...... .'c;...c:::......',;:lodddlccc:odo:;,';::l;;:cc:;
                 ....'',;,,,'........';;,,;,,c::llll:'.,:;;;:ok00Oxdoooodooodool:,'..........'....  .'c;....;c:c'...',;:c;:clllcllc:ll:;:cc:;;c;,,,,,;
                 ....',,,;,,'.......',;;;;;;cc:ccclcc::oodddk00Okxdlcllclooodxdol:,'............... .;c,.....cclc:lllcc:::;,::::;,:lolcccloolclc;:cclo
                 ....',,,;,''....';c:;;;:::ccc:c::ccldollodxO0Oxdooccclc:ldddxdool:,............... .;;'.....lddddolc:cc;''.'',;;,;c;;codddoololcodddd
                                           ,k0Ol;,,,'.''..'. ....                                                                           ..l,      
                                            .d0d:;;,'''....'.. ...                                                                          .'c;      
                                             .kKkdolc:,.....'.  ...                                                                         .;c;      
                                              lX0kxool;'............                                                                        .::;      
                                              c0Okkdllc''...''......                                                                        .;;,      
                                              :0kddddl:;'...',......                                                                        .:;,      
                                              :0o:lcdl,,'..........'.                                                                       .:c'      
                                              l0c,:;oo,..      .....                                                                        .:o.      
                                              dk;,;,cd:...                                                                                  '::. .....
                                             .kx,',;:o:'..                                                                                 .:lc,;;,,''
                                             '0l.,;,;l;,..                                                                            ..',;;okl'......
                                             :0c.::,,c;'..                                                                          ...,;;;:xk:;;;;,..
                                             oO;':;,,l;'...                                                                       .....';cccox::::clll
                                            .kk;'l:,,l:'...                                                                      .....';cc::lxc:c:;,,,
                                            '0x;cxl::lc:,'...                                                                  ......,,'''';ld,:cc;;::
                                            ;kkxO0Oxkdoolc::cc;;:::::;'                                                       .....';,....';lo',;;::cc
                                            lOkcldcokxxkkOOOOklcxOdolooo,.                                                    ....';'....',;lo,,;:::::
                                           .xO:.::.''...;:',;xkclc;,'';lkl,'...                                               ...,;,...',',;cl,;:;;;,'
                                           ,0d;,l;....  .;,..;x;;..'..,:oo;'.'''.                                            ....,;'...''..,cc',:;;,,'
                                           dKdcc:.....   .:;'ckc...',;:c::'''',,,,..                                         ....,,....'...'::,:;,;,',
                                          .O0o:'.....    ....lkl,,;:llc;''.''..'',::,.                                       ...',;...''...,;:;:;;,..'
                                         .x0d:l;....    .....d:':lll:;;;:c,......',,;:::'.                                   ....';....''.';;c,:::,'''
                                      .:oxOxlld;....    ....:l';::;...'',cooc;....   ....','.                                ....';. ...,,,,,:,,::;,''
                                     cd:;dkdcxd;....     ..'o:;c,'.    ...,:lol;'.    ...  .'''.                             .....''....';,,;::,,,,;;'
                                   'do.  .ddcxl:...      ..:o::'.          ..';loc'.     ..  ...'.                           ......,'...',,,,;;..,',:,
                                   ',.   ,xoldc,..       ..loc,..             ..:ll,..... ..   ...'..                        .......'...',;'.';'';;,;,
                                        .cxdooc,..   ......ooc....               'll'...... ..   ...'.                        .......'...'',,',;,cc:;,
                                        ,dkxol:;'.    ...'cddo:,'.                'oc'..'.''...   ...'..                      ..........'',,;:;:;lc:,;
                                      .'oxkxolc;'....':lldkxxxkxo,.............   .,ol;....'',,'.   ..'...                     ...........',;;;::::,,;
                                     .:dxxkkdl:,,'..,xOOxddddxkdl'..................':c;.  ..',,,'.  ..,...                     .......'...';;;:c,;:::
                               .. .':lodddxkdol:,,'.lO0Oxxxolll:'.........................   ..',,,'....,,'.                      .....''...,;';cc;ccl
                         ........;ldooodoloddolc:;,..,cooc;,''''..........'''............   .....,;,,'..'',,.                      ....''......,;;;;cl
                      .........;oddoodxxoc:colcclc;'..'....'''.'''.......'',,,''.........         ..,;;'..',,.                       .,;;'  . .,;;;;,,
                     ........,lddoodddooc;;:cc:cddc;;:;'...'''',,'.......',;;;,'.......'.. .        ..;c;..';,.                       .',......;;,;;,.
                    .....'';:oxddoo:;;:c;,;;ccclodocc:,''..'''';:;'.....'';;:::,,'......,;.....     .. .:c'.,:'..                   .....;:,...;,',;;'
                    .....;loodddol;...;c,,;,:llllolcc:'''..''''',::,....',;::::;,'......';,....         .co::lc'....               .....':lo:,',''',;:
                   .....;kxdooolcc;'..;:,,;;:::::llc:;''....',,,,;::;'..',;:cc:;,,'......''''...     . .':dxoddl,'......   . ......'',:lodoooc:,''.':l
                  .....',odo:;,,,,,...;;,;;:::::coc:;,,'....''''';oxdllc::clccc;;,'.... ...'''....   ..,odloocll;,;;;;,',,':c,',::cllodxl;,;;,:,,;::::
                  ....'',,,,''.......';,,;;:;;clolc:;,,'......;ldkkkxddolclollc:;,'..........'.....  .'c;'..c:::....'.',;ccloddocc::odoc;;';c:l;;:cc:;
                 ....'',;,,,'........';;,,;,,c::lcll:'.,:;;,:ok0OOkdoooooooodool:,'..........'........c;....,c:c,...',;:c;:clllclc::ll:;:c::;;c;',,,,;
                 ....',,,;,,'........,;;;;;,:c:ccclcc;:oooddk00Okxdlcclclooooxdol:;'.................,c,.....:clc:lll:cc:;;,:::::,;lllc:cloolcoc;:cclo
                 ....',,,;,''.....,:::;;:::ccc:c::ccldolloxkO0Oxooolcclc:lddoxdool:,.................,;'.....cdxxooolc:c:,..',,;;,;c:,cododooloocoddoo
                                           .xKkl;,'''.''..''  ...                                                                           .,::.     
                                            .l0xc;;,'''....'.  ...                                                                          .,::.     
                                             .dKOddoc:,.....'.   ..                                                                         .;::      
                                              cK0kxdoo;'............                                                                        .;:;      
                                              :0Okkdolc,....''......                                                                        .;;,      
                                              ;0kododl:;'...','......                                                                       .::;      
                                              ;Kd;l:oo,'...........'.                                                                       .:c,      
                                              :0c,:,ld;...     ......                                                                       .:l.      
                                              oO;';,cdc...                                                                                  .::.......
                                             .xk,';,:oc'..                                                                                 .;ol;;;,,''
                                             .Oo.,;,,l:'..                                                                            ..';;;okl'......
                                             ,0c.;:,,c:''..                                                                         ...;;;;cdkl;::;,'.
                                             l0;.::,,l:.'..                                                                       .....,;clllxc;:cclll
                                             xO,'l:,,c:'....                                                                     .....';cc:;lxccc:;,,,
                                            .Ox:cxl::cc:,'...                                                                  ......,'.''.;lx;:c::;::
                                            ,kkkO0Okkddolc::cc;;:::::;'                                                       .....';'....';lo',;;:ccc
                                            cOkclocokxxkkOOOOkl:xOdolloo;.                                                    ....,;'....,,;lo,,;:::::
                                            dOc.:c..'...;:'';xkccl;,'';lxo;'...                                               ...,;,...','';cl,;:;;;,'
                                           '0d:;l;....  .;;..,k:;'....,:oo;'..''.                                            ....,;'...''..,:c';:;,,,'
                                           oKdcc:.....   .:;':Ol'..'';:c::'''''',,..                                         ....,,....'...':c,:;,;,',
                                          .k0o:'.....    ....cOl;,;cllc;''..'..'',::,.                                       ...',;...''...,;c;:;;,..'
                                         .oKd:l;....    .....oc';loc:;;;:c,......',,;:::'.                                   ....';....''.,;;c,:::,'''
                                      .;lxOklld;....    ....;o''::;'..'',coo:;....   ....','.                                ....';. ...,',,,;;,;:;,''
                                     :d::dkdcdx;....     ..'o:,c,'.    ...,:ldl;..    ...  .'''.                             .....''....',,;;::,',,,;'
                                   .ld.  .odcdo;...      ..;o::'.          ...;coc'.     .. ....'.                           ......,'...',,',;;..,',:,
                                   ',.   .xoldc,..        .col,..             ..:ll;....  ..   ...'..                        .......'...',,'.';'';;,;,
                                         :xdooc;'.   ......ooc....               'cl'...... ..   ...'.                        .......'...'',,',;,cc:;,
                                        ,dkxoo:;'.   .....:ddo;,'.                'oc.....''...   ...'..                      ..........'',,;:;:;cc:,;
                                       .oxkkolc;'.....:cldxdxxkxo,.............   .,ol,....'','..   ..'...                     ...........',;;;:c;;,,;
                                     .;odxkkdl:,,'..,dkOxdddxxkxl'...................:cc.  ..',,,'.  ..''..                     .......'...';;;:c,;:::
                            ... ...';loddxxkdol:,,'.lO0Oxxxolllc'..................... . .   ..',,,'....,,'.                      .....''...,;';cc;ccl
                         ........;ldoooddloxdolc:;,..,ldol:,,''.'.........'''............   .....,;,,'..'',,.                      .....'......';;;;cl
                      .........;oddoooxxdc:coocclc;'..'....'''.''........'',,,''.........         ..,,,'..';,.                       .,;,,  ...';;;;,,
                     ........'cxdooddddol;;:cc:cddc:;:;'...''',,,'.......',;;;,'.......... .      ....,c;..';,.                       .',......;;,;;,.
                    .....'',;oxddoo::;:c;,;;ccccodolc:,''..'''',::'......';;:::,,'......,,.. ..      . .:c'',:,.                     ....;:,...;,',;;'
                    .....,loodddol;...;c,,;,:llloollc;'''..''''',::,....',;::::;,'.......;;....         .co::cc,....               .....':lo:,,,''',;:
                   .....,xxoooool:;...;:,,,;:::::llc:;''....',,,,,::;'..',;:cc:;,,'......''''...     ....:oxoddl;'......     ......'',;loddlol:,'..':c
                  .....';dxoc:;,,,;'..;;,,;:::::coc:;,,'....''''';oxdolc::ccccc;;,'........'''....   ..'odllocll:,;;;;,,',';:,',;:cclldxo:;,;,:,,;::::
                  ....'',,;,'........';;,,;:;;clolcc;,,'......;ldkkkxdoolllllll:;,'.........''.....  ..:;'..::::'...''',;:cloddocc::oddl:;',:cl:;:cc:;
                 ....'',;,,,'........';;,,;,,cc:lcll:,.,:;;,:lkOOOkdddoodooodool:,'..........'........c;....'c:c;...',,:c:::llocll::ll:;;cc:;,::',,,,;
                 ....',,,;,,'........,;;;;;,:c:cccll:;:looddk00Okxdlcllcldoooddolc;'.................,:,.....:lcc:lllc:::;;,:::;:;;lolc:clolccoc;::clo
                 ....',,,;,''.....,::;;;;;::cc:c:cllloolloxxO0Oxoodlcclcclddoddool:,.................,;'.....:dddoooc:cc:''.',,;;;;::;cooodddoolcoddoo
                                           .o0Oo;''''.''...'. ...                                                                           .';:.     
                                             :Okl:;;,''....'..  ..                                                                          .,;:.     
                                              oKOxdol:;.......   ..                                                                         .,:c.     
                                              :K0kxdoo:'.....'......                                                                        .;::      
                                              ,0Okkxolc,.....,......                                                                         ,;;      
                                              ,0Oldodo:;'...','....'.                                                                        ;:;      
                                              ,0d;l:oo;''............                                                                        :c,      
                                              ;0c':,cx:...      .....                                                                       .:l'      
                                              lO:';,:dc'..                                                                                  .::.......
                                              dO;';,:o:'..                                                                                ..;ll;;;,'''
                                             .kd'';,,c:'..                                                                            ..';;;okl'......
                                             '0l.;:;,c:''..                                                                         ...;;;;cdkl;:::;,.
                                             :0:.::,,c:'...                                                                       .....,:ccclxl;:cccll
                                             dO;'c:,,c:'....                                                                    ......';c:;;cxlcc:;,,,
                                            .kx:cdo::cc:,.'..                                                                  ......,'.''.,lx::cc:;:c
                                            ,kkkO0Okkxoolc::cc,,;:::;;,.                                                      .....';'....';cd,',;:ccc
                                            :OkcloclxdxkkOOOOxocdOdolloo;.                                                    ....,,'.''.,,;co,,;::;;:
                                            dOc.;c......,c,,;dOlcl;,'';cxo;'...                                               ...,;,...','';cl,;:;;;,'
                                           .0x:;c:.... ..,;..'kc;'....,:oo;'.'''.                                            ....,;'...'...':c';:;,,,'
                                           lKxc::.....   .:;':kl'..'',:cc:''''',,,..                                         ....,,....'...';c,:;;;,''
                                          .x0o:'.....    ... :Oo;,;:llc;''......',;:,.                                       ...',,...''...';:;:;:,.',
                                         .lKxcc;.....   .....ol';loc:;;;:c,......',,;:::'.                                   ....';....''.';;:;;::,'''
                                      .,cdOkllo:....    ....,d,,::;'..'',coo:;.....  ....','.                                ....';. ...,',,,;;,;::,''
                                     ;dc:dkxldd:....     ..'lc,c,'.    ...,:ldl;..    ...  .''..                             .....''....',,;;::,',,,;.
                                   .cd.  .odcdo;...      ..;occ,.          ..';coc'.     .. ....'.                           ......,'...',,'';;..'',:,
                                   ';.   .xdldl,..        .coc;..             ..;ll;....  .    ...'..                        .......'...',,'.';'';;,;,
                                         :kdooc;'.   ......loc....               'cl,.'''.. ..   .....                        .......'...'',,',;,cc:;,
                                        'dkxolc;'..  .....:ddo;''.                .oc'...'''...   ...'..                      ..........'',,;:;:;cc:,;
                                       .lxkkolc;,.....;clokxxxxxd,.............    ,ol,....'','..   ..'...                     ...........',;;;:c;;,,;
                                     .,ldxkxdo:,,,..'dOOxddxxxkxo,...................:ll.  ..',,,'.  ..,'..                     ...........';;;::,;:::
                               .. ..;coddxxxxol:,,'.cO00kxxollol'.......................     ..',,,'. ..,,'.                      .....''...,;';cc;ccl
                         ........,cdoooooooxdoll:,,..;ldolc;,''''.........'''............   .....,,,''..'';,.                      .....'......';;;;cl
                      .........,ldooooxxdc:coolclc,'..'....'''.''........'',,,''.........         ..,,,'..',;.                       .,;;,. ...,,,:;,,
                     ........'cddddddddol:;:cc:cddc:;:;'...''',,,'.......',;;;,'.......'.. .      .  .,:;'.',,.                       ..,......,;,;;;.
                    .......,;oxddooc:::c;,;;ccccodolc:,''..'''',::'......';;:::,,'......,,.. ..      ...:c,',:,.                     ....,;,...;,'',;,
                    .....,coodddoo:...,:;,,,:llloollc:'''..''''',::,....',;::::;,'.......;;....      .. .;o::cl;....               .....';lo:;,,''',;:
                   .....,xxdoooolc;...;;,,,;::::cllc:;''....',,,,,::;'.'',;:cc:;,,'......',''...     .. .;lxoool;'......     ......'',;loddool:,''.':c
                  .....';dxoc::;;;;'..;;,,;:::::clc:;,,'....''''';oxdolcc:ccccc;;,'.......'.''....    .'odllocllc;,;;;;,',',;,',;;cccodxd:;,;,:,,;::::
                  ....'',;;;'........';;,,;:;;clolcc;,,'......;ldkkkxdoolllllll:;,'.........'''...    .::'..:c;:,...''',;:cloddocc::lxdo:;',::l:;:ccc:
                 ....'',;,,,'........',;,,;,,cc;llll:,.,;;;,:lkOOOkdddoodooodool:,,............... ...::.....c:c;...',,:c:::llolll::coc;;cc:;;::',,,,;
                 ....',,,;,,'........,;;;;;,:c:clcllc;;looddkO0Okxdlcllcldoooddol:;'............... .,:,.....;lll:cllc:c:;:,::c;:;;cooc::oollcll;::clo
                 ....',,,;,,'.....';::::;;::cc:cc:cllodoloxxO0Oxoodlccllcoddoddool:,............... .,;'.....;dodddoc:cc:,'.',;;;;,:c::ooddddlcl:lddoo
                                           .c0ko;'''..''...'. ...                                                                           .',c.     
                                             ;OOlc:;,',....'.. ...                                                                           ';c.     
                                              lX0xdolc;'......   ..                                                                          ,:l.     
                                              ;K0kxxol:,'....'......                                                                         ;:c.     
                                              '0Okkxdcc;'....,'.....                                                                         ,,;      
                                              '0Oldodo:;,....,'......                                                                        ;::      
                                              '0d;l;ld;''............                                                                        ;:;      
                                              ,0l';,cx:...      .....                                                                       .:l'      
                                              c0c';,;dc'..                                                                                  .;c.......
                                              oO;';,;oc'..                                                                                ..;od;;;,,''
                                             .kd'';,,cc''.        .                                                                   ..,;;;lxo.......
                                             .Ol.;:,,c:''..                                                                         ...;;;:coxl:c::;,'
                                             ;Oc.;:,,c:'...                                                                       .....,:ccclxc;cccccc
                                             lO:'cc;,c:,....                                                                    ......,;c:;;cklcc:;,,,
                                            .xkc:ddc:lc:,.'..                                                                  .....','.''.,cx;:c:;;:c
                                            'Okkk00kkxodlc::cc,,;:::;;,.                                                      .....,;'....';:d,',;:ccc
                                            :OkccdclxdxkkOOOkko:oOxllloo;.                                                    ...',,'...',,;co;,;::;;;
                                            oOl.;c......,c;,;dOlcl:,'',cxd;'...                                              ....,;'...','';cl,;:;;;,'
                                           .kk:;cc.... ..,;..'kl;'....,:oo:'..''.                                            ....,;....'...';c,;:;,,,'
                                           :Kxl::.....   .:;':ko,...',:cc:,''''',,..                                         ....,,...''...';c;;;,,'',
                                          .d0dc,'....    ....;Oo;';:clc:''..'...',;:,.                                       ...',,...''...,;c::;:,..'
                                         .l0kcl:.....   .... lo',lol:;;;:c,......',,:::;'.                                   ....';....,'.';;:;;c:;'''
                                       'cdOklcd:....    ....'d,'::;'..'',coo:,.....  ....','.                                ....';. ...,',,,:;,;:;'''
                                     ,dl:dkxlod:....     ...ll,c;'.    ...,:odl,..    ...  .''..                             .....',....';,,;::'''',;'
                                   .:x.  .ldcdo:...      ..,occ,.          ..';clc,.     .. ....'.                           ......,'...',,'';;..'',:,
                                   .:'   .ddldl;..        .:oc;..              .;ll;....  .    ...'..                        .......'...',,'.';,';;,;,
                                         ;xdodc,'.   ......col'...               .cl,..''.. ..   ...'.                        .......'...'',,',;;cc;;;
                                        .dkxdoc;'..  .....;ddo;,'.                .lc'....''...   ...'..                      ..........'',,;;;::cc;,;
                                       .cxkkolc;,.....;:coxxxxxko,.............    ,ol,....'','..   ..''..                     ...........',;,;:c:;,,;
                                     .'ldxkxdoc,,,...oOOxxxdxxkkd;...................lll'  ..',,,'.  ..,''.                     ...........';;;:c;;:::
                             ...  ..,coddxxkxol:,,'.ck00xxxoolol,........................    ..','''. ..,,..                      .....''...,;',cc;ccl
                         ........':ooooooooxxoll:,,.';lxdoc;,'''..........'''.............  .....,,,''...',,.                      .....'......';;;;cl
                      .........'looooodxdcccoolclc,'..'....'''.''........'',,,''..........        ..,,,'..',;.                       .,;;,. ...',,;;,,
                     .........:dddddddddo:::cc::ddc;;:;'....'',,,'.......',;;;,'............         .,:;'.';;.                       ..,.... .,;,;;;.
                    .......';lxddoolcccc;,;;ccclodolc:,''..'''',;;'......';;:::,,'......',.. ..      ...;c,.';,..                    ....';,...;,'',;,
                    .....,:lodxdoo:...,:;,,,:llloollc:'''..''''',::,....',;::::;,'.......;;.......   .. .;l::cc;...                ......;coc;,,,'',::
                   .....'dxdoooolc;...;:,,,;:ccccllc:;''....',,,,;::;'..',;:cc:;,,'......',''.....   ....,lxdodl:'......     .... .'',;clddodlc;'..':c
                  .....';dxdcc:;;:;'..;;,,;::;::coc:;,,'....''''';oxdolcc:ccccc;;,'.......''''....    ..ldoldcloc;,;;;,,'''';,'';;cllooxdc;,;,:;,;::::
                  ....',,;:;,'........;;,,;;;;clolcc;,,'......;ldkkkxdoolclllll:;,'..........''...   ..::'..;l;:,..'''',;:cloddocc::cddoc;',:cc:;:ccc:
                 ....'',;,,,'........',;,,;,,cc;llll:,.,;;;,;lkOOOkxddoodooodool:;,............... ...::.....c:::...'',:c::cclolll::coc:;cc:;;::',,,,;
                 ....',,,;,,'........';;;;;;:c:clcllc;;looddkO0Okxdlcllclodooddolc;'.................,:;.....,lclccllccc:;:;;:c::;;cool::oollcll,:cclo
                 ....',,,;,,'.....',;::;;;;ccc:cc:llllooloxxO0Oxdodl:cllcooxdddoolc,.................';,.....,dddddocclc:,'.',;;;;,:c::ooddddllocloooo
                                            ;OOo;,'''.''...'.  ...                                                                           ',l.     
                                             .x0oc:;;',.......  ..                                                                           ';l.     
                                              cK0kxdlc;'......   ..                                                                          ':o.     
                                              '00Okxolc,.....'......                                                                         ,:c.     
                                              .OOkxxdlc;'....,'......                                                                        ';:      
                                              .OOlolod:;,....',......                                                                        ,::      
                                              .0d;c:cx;''............                                                                        ;:;      
                                              '0l';':xc...      .....                                                                       .:o,      
                                              :0c';,;ol'..                                                                                  .;l'......
                                              l0;';,;ll,..                                                                                ..;od;;;,,'.
                                              xx'';,,cc''.                                                                            ..,:;;lxo.......
                                             .Oo.,c;,::''..                                                                         ...,;;:coxo;c:::;'
                                             'Ol.;c,,c:'...                                                                       .....,ccc:cxo;cccccc
                                             cO:'cl,,c:,....                                                                    ......,;c:;;ckocc:;,,,
                                            .dkc:ddc:lcc;'...                                                                  .....',..''.,cx:;c:;;:c
                                            .kkkk00kkxoolc::::;,;;;:;;'.                                                      .....';'....';:d;',;cc:c
                                            ;Okc:occxddxkOOOOkd:oOxolloo:.                                                    ...',,'...',,;cd;,:::;;;
                                            l0l.;c......,l;,;dOocl:,'',cxd;'...                                              ....,;'...','';co,;:;;;,'
                                           .kkc;lc.......':...xo;,....,;odc,..''.                                            ....,;....'...,;c,,;;,,',
                                           :Kklc:.....   .::';kd,...',:cc:,''''',,..                                         ...',,...''...,;c;;,;,'',
                                           d0xc,'....    ... ,Od;';:cll:''..'..''';:,.                                      ....',,...''...,;c:;:;,'.'
                                          :0Ocl:.....   .... cd,,lol::;;;c;......',;:::;'.                                   ....,;....,'.';;:;;c:,'''
                                       ':oOkoco:....     ....d;';::'..'',:oo:'.....  ....','.                                ....';. ...,',;,;:,;:;,,'
                                     'ol:dkklox:....     ...:l,c;'.    ...,:odl,...   ...  .',..                             .....',....';,;;;:'''',;.
                                   .;x,  .lxcdo:..       ..,lcc;.          ..';clc,.     ..  ...'.                           ......,'...',,'';;..'',;,
                                   'c,   .odldl;..        .;oc;..             ..;ll;....  ..   ...'..                        .......'...',,'.';,';;;;,
                                         ,xxodc,'.    .....col'...               .cl,..''.. ..   .....                        .......'...'',,',;;cc;;;
                                        .oxkdoc;'..  .....'ddo;''.                .lc'....'....   ......                      ..........'',,;:;::cc;,;
                                       .cxkkolc;,.....,::lxxxdxxo,.............    ,ol,....'','..   ..''..                     ...........',;,;:c:;,,;
                                     .'cdxkxdoc,,,...lkkxxxdxxkkd;...................lol'  ..',,,'.  ..''..                     ...........';;;:c:;:::
                                 ...,:lodxxkxol:,,'.:kO0xxkdoloo,........................    ..','''....',..                      .....''...,;',cc::cl
                         .........:ooooooooxxool:,,.';okddc;;,'''.........'''.............  .....,,,''...',,..                     .....'......';;;,cl
                      .........'cdoooodxdlccoolcc:,'..''....'..''........'',,,''..........        ..,,,'..',;.                       .,;;,. .  ',,;;,,
                     .........;ddoddddddo:::cc::ooc:;:;'....'',,,'.......',;;;,'............       ...,:;'.';,..                      .',......,;,;;;.
                    ......'';cxddoolcccc:,;;:cclodolc:,'...'''',;:,......';;:::,,'......''......     ...;c,.,;;.                       ..';,...,,'',;,
                    .....':lldxdooc...,:;,;,:llloollc:'.'..''''',;:;....',;::::;,'.......,;'......   ..  ,oc;:c:'..                ......,coc;',,''';:
                   .....'oxoooooll;...;;,,;,:ccccllc:;,'....',,,,;::;'..',;:cc:;,,'.......,''.....   ....,cxoooo:'......     .......',;:ldxoolc;,..':c
                  .....';xkdlc:::::'..;;,;;;:;::cll:;,,'....''''',lxdollc:cllcc;;,'.........',....    ..ldoldllll;,,,,,,'''';,.',;clcooxdl;,;,;;,;:::;
                  ....',,;::,'........;;,;;;;;clolcc;,,,......,ldkkkxdoolclloll:;,'..........'.....  ..::,..,l;;;..'''',;;cloddoc:::cdddc;',:cc:;:ccc:
                 ....'',;,,,'........',,,,;,,c:;clllc;.';;;,;lkOOOkxoooodooooool:;,............... ...::.....::::...'',:cc;:clolll:::lc:;cc:;;:c',,,',
                 ....',,,;,,'........',;;;;;:c:clcllc;;looddkO0Okxdlcllllodooddolc;'.................':;.....'lclccllc:c::;;;:c:::;:oolc:loolcll,;ccll
                 ....',,,;,,'......';::;;;;ccc:cc:llllooloxxO00kdodl:clllooxdddoolc,.................';,.....'odddddcccc:,'..,;::;,:l:coooooocllcldooo
                                            'x0d:''''.''...'.. ...                                                                           .;l.     
                                             .x0dlc:;,,.....'.  ...                                                                          .;l.     
                                              ;KKOxdol:'......   ...                                                                         ':o.     
                                              .00Okxoll,.....'......                                                                         ';c.     
                                              .O0kxkdlc:'....',......                                                                        ';:.     
                                              .OOcolodc;,....',......                                                                        '::      
                                              .Ox;c:cx:'............'                                                                        ;::      
                                              .0o';,;xl'..      .....                                                                       .;o;      
                                              ;0l':;;ol,..                                                                                  .;l,......
                                              c0:.;;,cl,..                                                                               ...;ox:;;,,'.
                                              ok'';;,:c,'.                                                                            ..,:;;lxo'......
                                             .xd.,c;,:c''..                                                                         ..';;;:clxd;c::::,
                                             .Ol.;c,,cc'...                                                                       ....',cl::cxo;ccc:::
                                             ;Oc.:l,,:c,....                                                                    ......,;c:;,:kdcc:;,,,
                                             oOccddc:lcc;'....                                                                 .....',..'..,:d:;c:;;:c
                                            .xkkk00kkxodlc::::;';;;:;;,.                                                      .....,;.....,;:d;,,;cccc
                                            ,Okl:oc:dxdxkOOOOkdcoOkollod:.                                                    ...',;....',';:d;,:::;,;
                                            c0o.,l'.....,l;,,o0ocl:,'',cdx:'...                                              ....,;'...','',:l;;;;,,,'
                                           .kkc;lc.... ..':...xd;,....';odc;..''.                                            ....,;....'...,,c,,;;,'',
                                           ,0Ol::.....   .;:',xx,...',;:cc,''..',,..                                         ...',,...''...,,c:;,,,.',
                                           oKxc,'....    ....'Ox;',:clc:''..''.''';:'.                                      ....',,...''...,;c:::;,.',
                                          ;0Occ:.....   .... :d;,lolc:;;;c,......',;:::;'.                                   ....,;....,'.';;:;;c:,'''
                                       .;oOkocdc....     ....o;';::'..',,:oo:,'....  ....','.                                ....';. ...,',,,;:,;;;,,'
                                     .locdkkllxc....     ...:o,::''    ...,:odl,...   ...  .',..                             .....',....';,,;;:'.'',;.
                                    ,x;  .lxcoo:..       ..'lcc:.         ...':clc,.    ...  ..'..                           ......'....',,'';;..'',;,
                                   .c,.  .odldl;...      ..;oc:..             ..;lo;....  ..   ...'..                        .......'...',,''',,';;;;,
                                         ,xxodc;'..   .....col'....              .cl,...'.. ..   .....                        .......'...'',,'';;cc;;;
                                        .lxkdoc;'..  .....'odo;''.                .cl,....'....   ......                      ..........'',,;:;::cc;,;
                                       .:dkkolc;,.....';:cxxxxddo;.............    'ol,....''''..   ..''..                     ...........',;,;:::;,,;
                                      .:dxkxdoc,,,...ckkxdxdxxkxd:...................coo,  ..',,,'.  ..'...                     ...........';;;:c:;:::
                                  ..':oddxxkxol:,,,.;k00xxxdoloo;........................    ..','''. ..','.                      .....''...,;',cc::cl
                         .........;oollodooxxool:,,.':okxdo:;,'''.........'''.............  .....,,'''...';,..                     .....'......';;;,cl
                      ..........:ooooodddlccoolcc:,''.,''...'..''........'',,,''..........        .',,,'...,;'.                      .,;;,. . .',,;;,,
                     .........;odoodddddoc::cc::odc::::'....'',,;'.......',;;;,'............         .;:;'.',;..                      ..,.... .';;;;;'
                    ......'',cdddooollcc:,;;:cccodolc:,'...'''',;:,......';;:::,,'......''......     ...;c,.';;'.                      ..';,...,,'',:,
                    .....';lldxddoc...,:;,;,;lllodolc:'....''''',;:;....',;::::;,'.......,;'......   .. .'lc;:c:'..                ......,coc;,,,''';:
                   .....'lxdooooll;...,:,,;,:ccccllc:;,'....',,,,;::;'..',;:cc:;,,'.......,''.....   ....,cxoooo:'......      ......',;:lddodoc;,'.';c
                  .....';xkdlcc::::,..;:,;;;:;::cllc;,,'....'','',lddollc:cllcc;;,'.... ....',....     .cdoldllll:,,,,,''''.,,.',;:clloddl;,;,;;,;:::;
                  ....',,:c:,'........;;,;;;;;clolcc:,,,......,cdkkkxdolllllolc:;,'..........''....  ..:c,..'c;::..''',,,:cclddol::;:ddol;'';ccc;:ccc;
                 ....'',;,,,''.......',,,,,,;::;clllc;.';;;,;ckOOOkdoooooooooool:;,...........'... ...;:'....;c::'...',;cc;:clollc:::lc:;cc::;:c,,,,,,
                 ....',,,;,,'........',;;;;;:c:clcllc;,looodkO0OOxdlcllllddooddolc;'............... .':;......c:llcllccc::;;,cc:::;:lolc:loollcl;;::cl
                 ....',,,;,''......';::;;;;:cc:cc:cccloolodxO0Okdodlcclllooxdodoolc,............... .';,......ldddddlccc:;'..,;::;,:cc:loooddlcocloooo
                                            .dOx:,'''.''...'.  ...                                                                           .;l.     
                                             .o0xoc:;,,.......  ...                                                                          .;o.     
                                              'KKOxdol:'.......   ..                                                                         .:o'     
                                              .O0Okkdll;.....''.....                                                                         .;c.     
                                              .O0xxxdoc:,....';......                                                                        .;:.     
                                              .OOclllxc,,'...',......                                                                        .::      
                                              .Ox;:;:xc'.............                                                                        ,::      
                                              .0d';,,dl'..       ....                                                                       .;o:      
                                              '0l';,;ol,..                                                                                  .,l,.'''''
                                              :0:.,,,cl,..                                                                               ...;ox:,,,''.
                                              lO'':,,:c''..                                                                          ..';;;;ldo'''....
                                             .dd.,c;,:c''..                                                                         ..',;;:cldd:cccc:,
                                             .ko.,c;':c'...                                                                       .....,cc::cxo;cc:;::
                                             ,Oc.:l;'::,'...                                                                    ......,:::;,:xocc:;,,,
                                             lkccdxl:ccc;''...                                                                 .....,,..'..,cd:;c:;;:c
                                            .xkkk00Okkoolc::::;';;;;;,'.                                                      .....,;.....,;:d;,;;:ccc
                                            'kkc;oc:oddxkOkOOkdllOkollod:.                                                    ...';,....',,;:d;,:::;,,
                                            :0o.,l'.....'c:,,oOdclc,,',:dx:'...                                              ....,;'...',.';;l;;;;,,,'
                                            xOc;cl.... . ':...dd;,.....;ldc;'.''.                                            ....,,....'...,,c,;;;,'',
                                           '0Ol::'.... ...;:',dx;...',;:cc;'..'',,..                                         ...',,...''...,,cc;,;,.',
                                           lKkc,'....  ..... 'kx:',:cll:,'..'...'';:'.                                      ....',,...''...,,cc;;;,.',
                                          ,OOclc.....   .... ;d;,lllc:;;;c,......',;:c:;'.                                  .....,;....,'.';,:;;c:,',,
                                       .,lOOdcdc....     ....o:';c:'..',,:oo:'.....  ....','.                               .....';.....,,;;,;:,;;;,''
                                     .ldcdkkllxc....     ...;o,::''    ...,codl,...   ...  .',..                             .....''....,,,,,;:'.',;,.
                                    'x:. .cxclo:...      ..'lc::.         ...':clc,.    ...  ..'..                           ......'....',''',;..'',;,
                                   .l;.  .odldl;...      ..,oc:..             ..;ll:'...  ..   ...'..                        .......'...',,'.',,';;;;,
                                         'xxodc;'..   .....:ol,....              .:l;..''.. ..   .....                        .......'...'',;,';;cc;;;
                                        .lkkdoc;'..  ......ldo;...                .:c,....'....   ......                      ...........',,;:;:ccc;,;
                                       .;dkkolc;,.....';;:dxxxddo;.............    'll,....''''..   ..''..                     ...........',;;;:c;;,,;
                                      .:okkxdlc;,,...:xkxdxdxxkxdc................. .lol,  ..'',,'.  ..''..                     ...........';;;;:::ccc
                                   .';lddxxkxol:,,'.:kO0xxkdoood:'.................. ....     .',','.  .','.                      .....''...,;',cc::cl
                         .........,lollooooxxool:,,.':dkxdo:;,,,'.........'''.............    ...,,'''....,,..                     .....'......';;;,:l
                      ..........:ooooldxdlcloolcc;,''',,,'..''.''........'',,,''..........        .',,,'...,;'.                      .,;;,. . .',,;;,,
                      ........,lddodddddoc;:cc::odc:::;'...'''',,'.......',;;;,'..........          ..,;;'.',;'.                      .','... .';;,;;'
                    ........,:dxddooolll:,;;ccccodolc:,'...'''',;:,'.....';;:::,,'......''...        ...,c;.',;'.                      ..';,...,,'',:;
                    .....';:ldxddol'..,:;,;,:lllodolc:,....''''',;:;....',;::::;,'.......,;'......   ..  'lc;:c:'..                ......,:ol;,,,''';:
                   .....'lxdoodool,...,:,,;,:ccccllc:;,'....',,,',;:;'..',;:cc:;,,'.......;''.....   ....'cxooooc'......      ......'',:loxodoc:,'.';c
                  .....';xkdolccccc,..;:,,;;::::colc;,,,....'','',lddollc:cllcc:;,'.... ..''',....   ...cdocolcoo:,,,,,''...','',;:ccloxxo:,;,;:',;:::
                  ....',,:c:;'........;;,,;;;;cclolc:,,,......,cdkkkxdoollllolc:;,'..........''....  ..;c;...c;:;'.',,',,:cclddolc:::oxdo:,';ccc,:ccc:
                 ....'',;,,,''.......',,,,,,;:::clllc;.';;;,;ckOOkkxooooooooooolc;,...........'... ...;c'....,c::,...',;cc;ccloolcc:;llc;cc::;:c,,,,,,
                 ....',,,;,,'........',,,,,;:c:cccllc;,cooddkO0OOxdocclllddooddolc;'............... ..::......ccllcllc:c::;;,:c:::::lool:loolcco;;cccl
                 ....',,,;,''.......,;;;;;;:cc:cc:lccloolodxO0Okxodocclllooxoodoolc,............... ..;;......cdxxddlccc:;'..,;;::;;cccloooddlcllcddol
                                             c0xc,'''..'...'.. ...                                                                           .,l.     
                                              lKkolc:;,'......   ..                                                                          .,o.     
                                              .0KOxdolc,.....'.   ..                                                                         .;o,     
                                              .k0Okxdll;'....''......                                                                        .;c.     
                                              .x0kdxddc:,'...',......                                                                        .;c.     
                                              .xOcloldc;,'....,......                                                                        .:c.     
                                              .kx;::;dl'............'                                                                        ':c      
                                              .Od';;,oo,..       .. .                                                                        ,o:      
                                              '0o',;;lo;..                                                                                   ,o:.'''''
                                              ;0c.,,,:l,...                                                                              ...;lx:,,,''.
                                              cO,.:;,;l''..                                                                          ..';:;;ldd,''....
                                              dx''c;,;c'...                                                                        ...';,;:ccdd;:c:cc;
                                             .ko',c;,;c,...                                                                       .....;cc:;cxd;cc:;;;
                                             'kl.:l;,:c,'...                                                                    .....',:::,,:ddcc:;,;;
                                             cklcdxlcccc;''...                                                                 .....,,.....,:dc,::;;:c
                                            .dkkO00Okkdolc:;:c;';;;;;,'.                                                      .....;;....',,;d:',:c:cc
                                            .kOc;oc;oddxkOOOOkdllOkollooc.                                                    ...';,....',';:d:,:::;,,
                                            ;0d',l'.....'c:,;lOxclc;,',:dx:'..                                               ....;;....''.';;l;;;,,,,'
                                            d0l;cl.... ...:...ox;;....';ldl;'.''.                                            ....;,....,...',c;,;;;'',
                                           .00o::'.... ...,:',ok;...'';:cc;''.'',,..                                         ...',,...''...,,cc;,,,'',
                                           c0kl,'....    ... .xkc',:cllc,'..'..''',;,.                                      ....',,...''..',,cc;;;,.',
                                          'k0ll:.....   .... ,x:,cllc:;;;:;......',;:c:;'.                                   ....,;....,'.';,::;c:,',,
                                       .,lkOd:dc....     ....lc';c:,..',':ol:'...... ....,,'.                                ....';.....,,;;';:,,;;,,'
                                     .cdlokkllxl....     ...,o,;c''.   ...,codl,...   ...  .',..                             .....''....,,,,,;:'.'';;.
                                    .d:. .cxclo:...       .'cl::.         ...':clc,.    ...  .....                           ......'....',''',;'.,';;,
                                   .l:.   lxloo;...      ..,oc:..             ..;lo:'...  ..   ...'..                        ...........',,'.',,';;;;,
                                         .dxodl;'..   .....;ol,....              .:l;...... ..   .....                        .......'...'',,',;;cc;;;
                                        .cxkdoc;'..  ......ldo;.'.                .;c,....'....   ......                      ...........',,,;;:ccc;,;
                                       .;dkkdlc;,......,;:oxxxddo;.............  . .ol,....''''..   ..''..                     ...........',;,;cc;;,,;
                                      .;oxxxdlc;,,...;xkxxxdxxkOxl................. .ldl,  ..'',,'.  ..'....                    ...........';;;:c:;ccc
                               ..  ..,lodxxkxol:,,,.;xO0kxxdoodoc'.....................''.   ..',,''.  .','.                      .....''...,;',:c::cl
                         .........,lollooooxxool:,,.'cdOxdo:;;,,'.........'''.............    ...,,'''....,,'.                     .....'......';;;,:c
                      ..........;loooldxdlclodlcc;,''',,,''.''.''........',,,,''..........        .',,,'...,;'.                     ..';;,. . .',,,;,,
                      ........'ldoodddxdoc:ccl::ld::;::'....''',,''......',;;;,'...........         ..,;;'..,;'.                      .','. . .',,;;;'
                    ........';dxddooolllc,;;:cccodolc:,'...'''',;:,'.....';;:::,,'......''..          ..,:;.',;'.                      ...,;...,,,,,;;
                    .....',:cdxddol,..,:;,;,;lllodolc:,....','''';:;....',;::::;,'.......,;'......    .. .cc;:c:,..                 .....':ll:,,,''';:
                   .....'cdddddool;...,:,,,,;cccllll:;,'....',,,',;:;'..',;:cc:;,,'.... ..,,'.....   ....':ddlooc,......      .... .'',;llddool:,''';c
                  .....';xkdolccccc;..;:,,,;::::colc;,,,....''''',lddolcc:cllcc:;,'........'',....   . .:ddldocloc;,,,,'''..''.',,:cclodxo:,;;,:',;;::
                  ....',,:lc;,........,;,,;;;;cclolc:,,,......,cdkkkxdollllloll:;,'..........''....   .;c;...c:;:,..,,,,,;:cldoolc:::oxdo:,';c:c;:ccc:
                 ....'',;,,,''.......',,,,,,;:::clllc;.';;;,;cxOOkkxdoooooooooolc;,...........'.......;c'....'l;:;...',;cc::cloollc:;clc::c::;:c,,,,,,
                 ....',,,;,,'........',,,,;;:c:cccllc;,cooddxO0OOxdocllllddooddolc;'..................::......:lllcclc:c::;;,:lc:c;:looc:coolcco;;::cl
                 ....',,,;,''.......',;;;;;:cc:cc:cccllllodxO00kxodo:clllooxoodoolc,..................;;......:odxdolccc:,'..';;;:;;cccllooddololcoddl
                                             'OOl;,'''......'.  ..                                                                           .'l,     
                                              ;KOdolc:;'......   ..                                                                          .'l,     
                                              .OK0kxoll,.......   ..                                                                         .,o;     
                                               x0Okkxol:'.....,......                                                                        .;c'     
                                               o0xoddxc:,''..';'......                                                                       .;c.     
                                               dOcclcdl;,'....''......                                                                       .;c.     
                                               xk;;:;oo'...   ......'.                                                                       .:c      
                                              .kx,,;,ld;...      .....                                                                       .lc    ..
                                              .Od,,;,co:...                                                                                  ,oc'','''
                                              '0l.,;,;l,'..                                                                              ..';ox:,,'''.
                                              :O;.:;,,c,,..                                                                          ..';:;;lox;,,'...
                                              oO,'c;,;c,'..                                                                        ...',;:cccod::cccc;
                                              xd''l;,;c,'..                                                                       ....':cc:;:dd:cc;;;,
                                             .xo',o;,:c;'...                                                                    .....',:::,,:ddccc;;;;
                                             ;kocoklclcc:'....                                                                 .....,,..'..;:oc,:;::cc
                                             lkOOO0OOkodoc:;::;,,;,;,,'.                                                      ....';,....',;;o:,;:c:::
                                            .xOl;lc;lodxkkOOOkdllkOdolodc.                                                    ...,;,....',';;o:;:::,,,
                                            ,Ox''l,.....':c,;oOkcll;,,';okc'..                                               ....;;....''.',,l:,;,,,,'
                                            l0o:ll.....  .:...lk:;.....,cdl;'.''.                                            ...';,....'...''l:;;,,'',
                                           .O0d::'....    ':''lk:....',:cc:''..',,..                                         ...',,...''...,,cc;,;'..'
                                           ;0Oo;'....    .....dOc'':cllc,.'..'.''',;,.                                      ....',,..'''...,,cc;:;''''
                                          .k0olc'....   .... .xc,cllc:;;;:;......'',;c:,..                                  .....,;. ..,'.';,::;c:,',,
                                        'cxOxcol.....    ....cc';c:,..''':oo:'..........',,'.                               .....';.....;,,;,;:,,;,,,'
                                      ;dookklldl....     ...'o,;c,'.   ...,:odl,...   ...  .''..                             .....''....',,,,;:'.'';;.
                                    .ol. .cxlloc...       .'cl::'         ...,:ll:,.    ...  ..''.                           ......'....','''';'''';;,
                                   .lc.   :xloo;'..      ..'lcc'.             ..;lo:'...   .   ...'..                        ...........',,'..,;,;;;;,
                                         .dxodl;'..   .....,ol;....              .:l;......  .   ...'..                       .......'...'',,',;;cc:;,
                                        .:xkdoc;'..  ......cdo;...                .;l;....'.....   ..''.                      ...........',,,;;:c:c;,;
                                        'okkdlc:,'.....',;oxxxddl,.............    .oo,....'''...   ..'...                     ...........',;,;cc;,,;;
                                      .'okkxdlc;,,...,dxxxxdxxkOxo...................col,  ..'','..   .'....                    ...........';;;:c:;:cc
                             ....  ..,cddxxxxol:,,'.,xO0kxxxoodxl'....................'',.   ..',,''.  .','..                    ......''...';',:c::cl
                         .........'collooooxxool:,,''lxOkxdl;;,;'.........'''.............    ...,,'''....,,..                     .....'......';,;,:l
                      ..........,loooloddlclddlcc;,,'',;;,'.'''''........'',,,''..........      ...',,,,...';,.                     ..',,,. . .',,,;,,
                      ........'cdooooodxdc::cl::lo:;:::'...'''',,''......',;;;,'...........       . ..,;;'..';,.                      .','. . .',,;:;'
                    ........';oxdodddoolc,;;:c:codool:,'...'''',;:,'.....';;:::,,'......''..          ..,:;'',:,.                      ...','..';'',;;
                    .....'';coxdddo;.',:;,;,:lllodolc:,'...','''';:;....',;::::;,'.......,;'......    ....cc;;:c,..                 .....';ll:,,,''';:
                   .....':odooddol;...,:,,,,:cclloll:;,'....',,'',;:;'.'',;:cc:;,,'.... ..;,'.....   ....';odlooc,.....       ......',,;cldxodl:,'.',c
                  .....';xkdolllccc;..,;,,,;::::cllc;,,,....'','',ldddlcc:cllc::;,'........'''....   ...:ddlooclol;,,,''.....'..',;:llodxdc;;,,:',;::;
                  ....',,col:,'.......,;,,;;;;cclolc:,,,......,cokOkxoollllloll:;,'........'..'....   .,c;'..::;:;..',,,,;:clddolc:::lddoc,';::c;:clc:
                 ....'',;,,,'........',,,,;;;:::clloc;.';;;,;cxOOkkxoodddoooooolc;,...........''.    .,c,....'c;::....';:c:ccloollc:;:lc::c::::c;,,,,,
                 ....',,,;,,'........',,;,,;:c:cccllc;,:ooodxO0OOxdocllllodooodolc;'..................:;'.....;lclccllcc::;:,:cc::::lool:coollcl:;:::l
                 ....',,,;,''........;;;;;;:cc:cc:cccllllodxO00kxddl:cllooddoodollc,..................:;'.....;ddxddlccl:,'..';:::;,:ccllloddololclddo
                                             .x0o;;,''''....'.  ...                                                                          .'l:     
                                              '00xdoc:;'.......  ..                                                                           'l:     
                                              .kK0kxdll;'.......  ...                                                                         ,l;     
                                               o0Okkxolc,.....'......                                                                         ,c,     
                                               o0xldddl:;,....,'......                                                                        ,:'     
                                               o0c;ocdo,,'....''......                                                                       .;c.     
                                               oO;,:,od,...   ......'.                                                                       .:c.     
                                              .xk,,;,cd;...      .....                                                                       .ll   ...
                                              .Ox,,;,:o:...                                                                                 .,oc',,,'.
                                              .0l.,;,;o,'..                                                                             ...,:okc''''..
                                              ,0;.;;,,l,''.                                                                          .'';:;;cox;,,'...
                                              cO,.:;,,l,...                                                                        ...',;:ccclx::cclc:
                                              ox''c;,;c,...                                                                      .....':cc:,:oxccc;,;,
                                             .xd',o:,:c;,....                                                                   .....',::;,,;dxcc:;;;;
                                             ,kocokocllc:'....                                                                 .....,'.....;:ll,;;:ccc
                                             ckOOO0OOkdooc:;;:;',,,,,,'.                                                      ....';'....',;;oc,;:c:::
                                            .dOl,cl;coddkOkkOkxllkOdolldl.                                                    ...,;,....',';;o:;::;;,'
                                            'Ok''l,......:c;;lOOcll;,,,;lxc'..                                               ....;;....,'..,,c:;;;,,,'
                                            lKo:cl.....  .;'..ck:;'....,:dl;'.''.                                            ...';,...''...''c:;;;,'';
                                           .kKd:;,....    ':''lkc....',:cl:,..'',,..                                         ...','...''...,'cc;,;'.',
                                           ,0Oo;'....   . .. .oOl,';cllc;.'..''.'',;'.                                      ....',,..'''..',,cc;:;''''
                                          .x0dcl'....    ... .xc,cllc:;;;:;.......',;c:,..                                  .....,;. ..;'.,;,;:;::,',,
                                        .:xOxcol'...    .....:l',cc,'.''':ooc'..........',,'.                               .....';....',,,;,;:,,,,,,'
                                      ,oodkkocdl'...     ...'o;,c,'.   ...,:odl,...    ..  .''..                             .....''....',,;,;:'.'';;.
                                    .ll' .cxlloc'..       ..:o:c'         ...,:ll:,.    ...  ..'..                           ......'....','.'';'''';;,
                                   .lo.   :xloo;'.       ..'lcc,.             ..,ll:'...  ..   ...'..                        ............,,'..,;,;;;;,
                                         .oxodl;'..   .....,ol;....              .;l:......  .   ...'..                       .......'...',,,',;:cc;,;
                                         ;xkdoc;'..  ......:do;'..                .,c;....'.....   ...'.                      ...........',,,;;:c::;,:
                                        'okkdlc:,'.....',,cxxxddl,.............    .ll,.....'''..   ..'...                     ...........',;,;cc;,,;;
                                      .'lxxxxlc;,,...'oxxxxdxxkOxo................. .col,....'','..   ......                    ........'..';;,;c:::cc
                               ..  ..'codxxkxdl:,,,''dO0kxxxoodxl'....................,,,.   ..',,''.  .','..                    ......''...';'':cc:cl
                         ..........collooooxkdll:,,''lxOkxdl:;;;'.........'''.............    ...','''....';'.                     .....'......';,;,:c
                      ..........'codoloddlclddolc;,,'',:;;,.'''''........'',,,''..........      ...',,,,...';,.                     ..',,,. . ..,,,;,,
                      ........':oooddodxdc::clc;co:;:::'...'''',,,'......',;;;,'...........         ..,;;'..';,.                      .',,. . .',,;:;'
                    ........''lxdooddoool;;;:c:cldool:,'...','',;:;'.....';;:::,,'......''..          ..,:;..,;,.                      ...';'..',',,;;
                    .....',,:oxddoo;'';::,;,:lllodolc:,''..',','';:;....',;::::;,'.......';'......    .. .cc;;:c;..                 .....';ll:,,,''';c
                   .....':ooooddol:...,:,,,,:lllllll:;,'....',,,',;:;'''',;:cc:;,,'.......,;'.. ..   ....';odoool,.....       .... .',,;cldxodlc,'..,c
                  .....',xkdoolllcc,..,;,,,;::::colc:;,,....'','',cddoolc:cllcc:;,'........'''.....   ..:ddoldllol;,''''.....'..',;:llloxdl;;;,:',;;:;
                  ....'';col:;''......,;,,;;;;ccloll:;,,......,:okOxxdolllllollc;,'........'..'....   .,c:'..;:;;;'',;;,,;:clddolc:::ldddl;',::c;:ccc:
                 ....'',;,,,'.........,,,,,;;:c:cllol;'';;;,;cxOOkkxdodddoooooolc;,...........''......'c,.....c:::....';:c:ccloollc:;:lcc:c::::c;,;;,,
                 ....',,,;,,'........',,;,,;:cccccllc;,:loodxO0OOxddcclllodooodolc:,..................;:'.....,ocllcll:cc:;:,;cc::::clol::oollcl:;:c:l
                 ....',,,;,''........,,;;,;::::c::llcclolodxk00kxddl::cloodddloollc,..................:;'.....,dddddlccc:;'..';:::;;:llclloddololclddo
                                             .o0d:;,'''.....'.   ..                                                                           'lc     
                                              .OKkddl:;,.......   .                                                                           'c:     
                                               dK0kxdol;'.......  ...                                                                         'c:     
                                               lKOkkxdlc,.....'......                                                                         'c;     
                                               l0xldoxo:;,'...,,......                                                                        ,:'     
                                               l0l;l:oo;,'.....'....'.                                                                       .;c.     
                                               lO:,c,lx;...     ......                                                                       .;c.     
                                               dk,':,:d:...      .....                                                                       .cl   ...
                                              .kx,';,;o:'..                                                                                 .,ol,,,''.
                                              .Oo.,;,,l;'..                                                                             ..',:oxc''''..
                                              '0:.;:,'c,''.                                                                          .',:;;;clx:,,,'..
                                              :O;.::,,c,...                                                                        ...',;:cccox:::ccc:
                                              lk,'c:,;c,....                                                                     .....':c::,;oxccc;,;,
                                             .dd,,o:,;c;,'...                                                                   .....',::;',;oxccc;;;:
                                             'xdlokdloll:,'...                                                                 .....,'.....;;ll,;;:ccc
                                             :kkkO00OOoooc:;;::,,,,,,,'.                                                      ....';'....',,;oc,;:::::
                                            .oOl,:c,clddkkkkkkxolkOdolodl.                                                    ...,;,...',,',;oc;::;;,'
                                            .Ok,'c;......:c;;lOOlll;,,,;lxc'..                                               ....;;....,'..,,c:;;,,,,'
                                            :Kd:ll'....  .;'..:Oc;'....,:oo;'.''.                                            ...';,...''...''cc;;;,'';
                                            xKx:;,....  ...:''cOl....',;clc,..'',,..                                         ...','...,'...,,cc;,,'..,
                                           ,0Oo;'....   . ....l0l'';:lll;.'..''.'',;'.                                      ....',,...,....,,:c;:;''''
                                          .dKdll'....    ... .xl,:llcc:;;::.......',;c:,..                                  .....,;. ..;'.';,;:;::,',,
                                        .:dOkloo'...    .....;o',cc;..''';lo:'..........',,'.                               .....';....',,,;,;:,',,,'.
                                      'oooxOo:dl'...     ...'o:,c,'.   ...,codl,...    ..  .''..                             .....''....',,;,;:'..';;.
                                     co' .cxlcdc'..       .';o:c,         ...,:ll:,.    ...  .....                           ......'....','.'','''';;,
                                   .lo.   ;xloo:'.        ..lcc'.             ..,ll:'...  ..   ...'..                        ............,,'..,;,;;;;,
                                          lxddl;,..   .....'ol:....              .;l:......  .   ......                       .......'...'',,'';:cc;,;
                                         ,xkxdc;,... ......:do;...                 ,c;....'.....   ...'.                      ...........',,,;::c::;,:
                                        .lkkdlc:,'... ..,,:dxddll,.............    .lo,......'...   ..''..                     ...........',;,;:c;,;;;
                                       'lxxxxoc;,,'...lddxxddxkkxd'..................col,....'''''.  ...'...                    ........'..';;,;cc::cc
                               ... ..':odxxxxdl:,,,''dO0kxxxdodxo,....................,,;.   ..',,''.. .','..                    ......''...';''::c::l
                         ..........:llooodoxkdll:,,''okOkxdl::;;,.........''''............    ...','''....','.                     .....'.......;,;;;c
                      ..........'coooloddlllddolc,,,'';::;,''''''........'',,,''..........      ...',,',...';,.                     ..',,,. . ..,,,;,,
                      .........;oooddodxdl::clc:co:;:::,....''',;,'......',;;;,'...........         ..';,'..';,.                      .',,. . .',,;;;'
                    ........''lxdoodddool;;;::::ldolcc,....','',;;;'.....';;:::,,'.......'..          ..,::'.';,.                      ....,'..',,,,;;
                    .....'',:okxddo:,,;::,,,;lllodolcc,....',',''::;'...',;::::;,'.......','......    .. .cl;;:c;..                 ......;loc,,,''';:
                   .....';loodddol:...,:,,;';llllollc;,'....',,,',;:;,''',;:cc:;,,'.......,;'.. ..   .....;odolol;.....        ......',;cloxddlc,'..,c
                  .....',xOdoolllcc;..,;,,;;::::lolc:,,,....'','',cdddolc:cllcc:,,'........'''.....   ..;odoodlloo:,''''........',;:cllodxl:;;,:,,,;;:
                  ....',,ldoc;'''''...,;,,;;;;ccloll:;,,......'cokkxxdollllllolc;,'........'..'...   ..'c:,..;c,;:'',,;;,;::codolc:::ldddo;',::c:::ccc
                 ....'',;,,,'.........,,,,;;;:c:cllol;'.,;;,,cxOkkkxooodooooooolc;,............'.. ...':,.....c:;:'...';:l:ccclollc:;:lcc:c::c:c:,,;,'
                 ....',,,;,,'........',,;,,;:cc:ccllc;':loodxO0OOxddlllllodooodolc:,..................;:'.....'lcllcll:::;;:,;cc::c:clllc:oollclc;:ccc
                 ....',,,;,,'........,;;;,,:c::cccllc:lllodxk00kxddl:cclooddolddlcc,..................:;'.....'lddxdocclc;,..';:::;;:llllloddolll:oooo
                                              c0xl:;'''.....'.   ..                                                                           ':c     
                                              .kKkddlc:,.......   .                                                                           'cc     
                                               oK0kkxll:'........ ...                                                                         .cc     
                                               cKOxkkdlc;.....,......                                                                         ':;     
                                               :Kxcdodo:;,'...,,......                                                                        ,:,     
                                               c0l;l:od;''.....'......                                                                        ;c'     
                                               cO:,:,cx:...      .....                                                                       .,l.     
                                               oO;':,:dc...      .....                                                                       .:l......
                                               xk,';,;o:'..                                                                                 .,lo,,,,'.
                                              .Oo.,;,,l;'..                                                                             ..',:lxc'''...
                                              '0c.;:,'c,''.                                                                          .',;;,:llxc;;,,..
                                              ;O;.::,,c,...                                                                        ...',;ccc:lkc:::ccc
                                              ck,'cc,,c,....                                                                     .....,:cc:,:lkccc;;;,
                                              od,;ol,;c;,'...                                                                   .....',::;',:oxcc:;;::
                                             .xdlokxloll:,'...                                                                 .....,'.....;;ll,;;:ccc
                                             ;kOOO0OOOdooc:;;:;,',,,,,'.                                                      ....';'....',,;oc,::::;;
                                             lOl':c;:oddxkkkkkdolxOdolldl.                                                    ...,;'...','',;oc;::;;,'
                                            .kk,'c:......;l:;lOOlll:;,,,lxl,..                                               ....;;....,'..,,c:;;,,,,'
                                            ;Kdcll'..... .;'..:Oc;'....,:oo;'.''.                                            ...';,...''...''cc,,,,'';
                                            dKx:;,....  ...;'':Ol'...',;clc,'.'',,..                                         ...','...,'...,,cl;,;'.',
                                           .OOo:,.....   .... c0o'';:cll;.'..''''',;'.                                      ....';'...,....,,:l;:;'',,
                                          .o0xll,....    .....do;:llcc;;;::......'',;c:,..                                  .....,;. ..;'.';,;:;::,',,
                                        .;dOkcoo'....   .....,o',c:;''''';ll:'..........',,..                               .....';.....,,,;,:c,',,,'.
                                      .lodxOo:dl'...     ....l:,c;'.   ...,codo,...    ..  .',..                             .....''....,,,,,;;'..';;.
                                     ;o, .cxlcdc'..       ..;o:c,.        ...,:ll:,.    ...  .....                           ......'....','.',,'''';;,
                                   .cd'   ;xllo:'..      ...ccc,.             ..,coc'...  ..   ...'..                        ............,,'..,;,:;;;,
                                          cxddl;,..   .....'ol:....              .;l:......  .   ......                       ...........'',,'';:cc;,;
                                         ,xkxdl;,... ......;do;...                 'l;....'.....   ...'.                      ...........',,,;::c::,;:
                                        .lxkxlc:,'... ..'';dxxdll,.............    .lo,......'...   ...''.                     ...........',;,;:c;,,;;
                                       .cxxxxoc;,,....cdxdxxdxkOxd'................ .:dl,....'''''.   ..'...                    ........'..';;,;cc::cc
                               ... ...;lddxxxdl:,,,..dkOkxxxdodxo;....................,;:.   ...,,''.  .','..                    ......''...';''::c::l
                         ..........;llooodoxkdll:,,''okOkxxl::;;,.........''''..........      ...','''....','.                     .....'.......;,;;;c
                      ...........;ldollddlclddolc,,,''::::;''''''........'',,,''..........   ......',,',...';,.                      .',,,. . ..,,,;,'
                      .........;oddooodxxl::clc:cl:;:c:,....''',;,'......',;;;,'...........         ..',,'..',,.                      .',,. . .',,,;;'
                    .......'''cddoodddool;;;::::ldoolc;....','',,;;'.....';;:::,,'.......'..           .,::'.';;.                      ....,'..',,,,;;
                    .....'',;lxxddoc;;;c:,,,;llcldollc,....','''';:;'...',;::::;,'.......',.......     ...;c;;::;..                  .....,clc;,,''',:
                   .....';clooddoo:...';,,;,;llllollc;,'....',,,',;:;,''',;ccc:;,,'.......,;'.....    ....,ldllll;'....        ......',;:coxddlc,'..,c
                  .....',dkdooollc:,..,;,,,,::::colc:,,,....'','''cdxdllcccllcc:,,'........,','....   ..,odoodlloo:,''''........'',:cllodxo:;;,:,,,;;:
                  ....',,oxoc;,,''''..,;,,;;::cclollc;','.....':oxkxxdollllllolc;,'........'..'....... 'c:,..,c,;:'.,,;;,;::codolc:::cdxdo:',::c:;:ccc
                 ....'',;;,,''........,,,,,;;:c:cllol;'',;;,,cdOkkkxooodooooooolc;,............'.. .. .c;.....:c;:,...',:cc:cclollc:;;clc:c::::c:,;;,'
                 ....',,,;,''........',,,,,;;::cccllc:';loodxO0OOxddlllloodolodolc:,..................;:'......ccllcll:cc;;:;,clc:ccclllc:lolclll,:::c
                 ....',,,;,,'........',;;,,:c::cccllcccllodxk0OOxddl:cclooddolddlcl;'.................;;'......cddxdoc:lc;,...,::;;;:clllloodoloocoddo
                                              ;0klc:,''.......   ..                                                                           ':l.    
                                              .xKOxdolc,.......   ..                                                                          .:l.    
                                               lK0Okxolc'.....'.   ..                                                                         .cl     
                                               :KOxkxdlc;'....,,......                                                                        .:;     
                                               ;Kxcdldd:;,'...,;......                                                                        ,:,     
                                               ;0l;l:lx:''.....'......                                                                        ;l,     
                                               c0c':,:x:...      .....                                                                        ;l.     
                                               lO:';,:dc...      .. ..                                                                       .:o......
                                               dk;';,;l:'..                                                                                 .,lo,;,,''
                                              .kd.,:,,c:'..                                                                             .',;:ldl......
                                              .Oc.;:,':;',.                                                                          .',;;;:llxl;;;,'.
                                              ,0:.;c,,c;....                                                                       ...',;cc::lxc:::ccc
                                              :O,'cc',c;'...                                                                     .....,ccc;;:lklc:;,;,
                                              lx,;ol,;c:,'...                                                                   .....,,;:;',;lxcc:,,::
                                             .ddlokxloll:,'...                                                                 ....',......;;ll,;;:ccc
                                             ,kkkk00OOdloc:;;:;,',',,,,.                                                      ....';.....',,,ll,;::;;;
                                             cOo':c,:ldddkOkOkxolxOxolldo'                                                   ....,;'....,'',;ll;::;;,'
                                            .xO;'l:......;l:;ckOoll:;,,;ckl,...                                              ....;;....''..,,c:;,,,,,'
                                            ,Kx:ll'..... .;,..;Ol;'....':do;'.'...                                           ...';,...''...''cc,,,'',,
                                            oKkc;,....    .:'':ko'....';clc;'...','.                                        ....','...'....,'cl;,,'.',
                                           .O0d:,.....   ...  :0d,';:cll:''..'''''';'.                                      ....','..''...',,:l;;;''',
                                           lKkll,....    ... .od;;llcc;;;;:'.....'',;c:,.                                   .....;,. ..,'.';,;:;;:,',,
                                        .,oOkloo,....   .....,o,,:c;'','';lo:'..........',,..                               .....';....',,,;,;c,',,,'.
                                      .coxxkocdl'...     ....lc,:;'.   ...,codl,...    ..  .''..                             .....'.....,,,,,,;'.'';;.
                                     ,o;..cxlcdc'..       ..,o:c;.        ...,:ll:,.    ...  ..'..                           ......'....','..',,''';,'
                                    cd,   ,xllo:'..      ...clc;.             ..,clc'..   ..   ...'..                        ............,,'..,;,:;;;,
                                     .    cxddl;,..   ......ll:....              .,l:......  .   ...'..                       ...........'',,'';:cc;,;
                                         'dkxdl;,... ......,do;...                 'c:....'.....   .....                      ...........';,,;;:l::;;:
                                        .lxkxoc:,'... ...';dxxdll,.............    .co;......'...   ...''.                     ...........',;,,:c;,,;;
                                       .:dxxdol;,,....:oddkxxxkkko,................ .:oc,....''''..   ..'...                    ........'..';:,;cc::cc
                               ... ...;ldxxxxdl:,,,..okOOxxxdddxd;....................,:c'   ..',,''.  ..,'..                    .......'...';'':cc:cl
                         ..........,clloodoxkdll:,,''dkOkdxoc:;;;.........''''............     ..','''....','.                     .....'.......;,;;;c
                      ...........;cdollodlclddolc,,,'':cc:;''''',........'',,,''..........   ......',,',...';,..                     .',,,. .  .,,,;,'
                      .........,ldoooldxxl::clc:co:;:c:,....'',,;,'......',;;;,'...........         ..,,,'..',,'                      .',,. . ..,,,;;'
                    ........'':ddodddddol:;:::::cdolc:;....','',,;;'.....';;:::,,'.......'..           .,::'.';;.                       ...,'..',,,,;:
                    .....''';lxxddoc:;:c:,,,;llcldollc,....','''';:;'...',;::::;,'.......',.......     ...;c;;;c:'.                  .....,clc;,,''',c
                   .....',clodxdooc...';;,;,;lllloolc;,,....',,,',;:;,''',;::c:;,,'.......,;'.. ..    ....,ldolll:'....        ...  .',,:loxddoc;'..,c
                  .....',dkdooollc:,..,;,,,,::::colc:,,,'...'','''cdddollccllcc:,,'........,'''....  . .,odoodlloo:,'''..........',:cclodxdc;;,;;,,;;:
                  ....',,oxdc:,,,,,'..,,,,,;::cclollc;,,'.....':oxkxxdlllllllolc;,'........'..'...... .'cc,..,c,;:,'',,;;;::cooollc::cdxdd:''::c:;:ccc
                 ....'',;;;,''........,,,,,;;:c::ccol:'',;;,,cdkkkkxdlodooooooolc:,............'.. .. .c;.....;c;:;...',:cc:lcloolc:;;clc:c::::cc,;;,'
                 ....',,,;,''........',,,,,;;::cccclc:';loddxO0OOkddlllllodooodolc:'..................;:'......cclocllc:c;;:;,:cc:ccccllcclolllll;;::c
                 ....',,,;,,'........',,;,,:c::clcllcccloodxk00Okxdlccclooddolddlcl:..................;;'......codxdoc:cl:,...,::;;;;coolcloddllocoddo
                                              '0Oolc;,''....... ...                                                                           .:l.    
                                               dK0xxolc;.......   ..                                                                          .:l.    
                                               :K0OOxolc,'....'.   ..                                                                         .:o.    
                                               ;0Odkxxoc:,....,,......                                                                        .::     
                                               ,Kx:olodc;;'...';'...'.                                                                        ':;     
                                               ,0o,c:ck:''.....'.....'                                                                        ;c,     
                                               :0l.:,;xc...      ....'                                                                        ,l.     
                                               cO:':,;ol'..      .. ..                                                                       .:d......
                                               oO;';;;lc'..                                                                                 .'ld,,,''.
                                               xx.':,,c:'..                                                                            ..',;:ldl......
                                              .Ol.,c,,:;',.                                                                          .',;;;:ccxo;;;,'.
                                              'O:.;c,,c;....                                                                      ....';;cc::cxc;c:ccc
                                              :O;'cl,'c;'...                                                                     .....,:::;,:lklc:,,;,
                                              lx;,oo;;c:,'...                                                                   .....,,::,',:lxcc:,;:c
                                             .dxookkoollc,....                                                                 ....';......;;cl,,;:ccc
                                             'xkkk00OOdldlc;;::,'',,,,'.                                                      ....,;.....',,;ll;:c:;;,
                                             cOo';l,;lddxkkkkkxdlxOxolldo'                                                   ....,;'...','',;ll;:;;,,'
                                            .xO;'l:......;l::ck0oco:;,,,ckl,..                                               ...';;....,...,'cc,;;,,,,
                                            '0kclo'.......,,..,ko;'....,;oo;,.'...                                           ...';,...''...''cc,,,'',,
                                            lKkc;,....  . .;,';xo,....';:cl;'...','.                                        ....';'...'....,'ll;;;'.',
                                           .k0dc,.....   ...  ;Od,.,:cll:'''..''''';'.                                      ....';'..''...',,:c;;;'',,
                                           c0Oll,....    ...  lx;;llcc;;;;:'......',;c:,.                                   .....;,. ..,'.';,;:;;:,',,
                                        .,oOkooo,....    ....'d;':c;''''';ll:'..........,;'..                               .....',....',,,;,;c,',,,'.
                                      .;odxko:do,...     ....cc,::,.   ...,:odl,....   ..  .,'..                             .....''....,,,,,;;'.',;;.
                                     'o:..:xococ,..       ..,l::;.        ...,:ll:,.    ..   .....                           ......'....','..',,',';,,
                                    :d;   ,xolo:'..       ..:lc;.             ..,clc'..   ..   ...'..                        ............,,'..,;;;;;;'
                                    ..    cxddl;,..   ......loc....              .,l:......  .   ...'..                       ...........',,,'';:cc;,;
                                         .dkxdl;,... ......,oo:...                 'c:....'.....   .....                      ...........';,,;;:l:;,;:
                                        .cxkxoc:,'... ...',oddocc,.............  .  :o;......'...   ...''.                     ...........',;,;::;,;;;
                                       .;xxxxol;,,'...;lddxxxxxkkd,................ .:ol'....''''..   ..'...                    ........'..';;,;cc::cc
                               .......,cdxxxxdl:,,,..lk0Oxdxdddxx:....................;:c,   ..'',,'.  ..''..                    ......''...';''::::cl
                         ..........,clooddoxkdll:,,,'okOOxxdc:::;'........''''............     ..','''....','.                     .....'.......;,;;;c
                      ...........,cdollodolldxolc,,,',:clc:'''',,........'',,,''...................',,''...',,..                     .',,,. .  .''';;'
                      .........,cddooldxxoc:clc:cl:;;::,.....',,;,'......',;;;,'............      . ..',,'...,,'.                     .',,. . ..,,,;;,
                    ..........;ddooddddol:;;::::cdollc;'...',''',;;'.....';;:::,,'.......'..           .,::'.';;'                       ...''..',,,,;;
                    .....''',cdxdoolc::c:,,,;cccldoolc,....',','';::'...',;::::;,'.......',.......     ...;l;,;c:'.                  .....'cll;;,''',c
                   .....',:lldddool...';;,,';lllloolc;,,....',,,',;:;,''',;:cc:;,,'.......,;'.. ..    ....,lxlclo:'....        .... .',;:loxddol;'..,c
                  .....',okdooooll:'..';;,,,::::lolc:,,,'...'','''cdxdollccllcc:,,'........,'''....    .,ldoldllodc,'''..........',::clodxdl;;,;;,,;;:
                  ....',,okdl:;;,,,'..,;,,,;::cclollc;,,'.....':oxkxxdlllllllolc;,''........'.'....    'cl;..'c;;:;'',;;;;;:cloolc::::dxddc',;;cc;:ccc
                 ....'',;;:;''........,,,,,;;:c::lcol:'',;;,,cdkkkkxdoodooloooolc:,'...........'.. .. .::.....,l;:;...',:lc:clloolc:;;clcc:::::cc,;;,'
                 ....',,,;,,'.........,,,,,;;:::ccclc:',loddxO0OOkdolllolodolodolc:'..................,:,......:clocllc:c;;;;,;cc:cc:cllcclollcll;:::c
                 ....',,,;,,'........',,,,,;:::clcllc::loodxk00Okxolc:llooxxolddlcl:..................;;'......;odxdocccl:,'..,:c;::;:oollldddlllclddo
                                              .00dllc;,'.......  ..                                                                           .;o.    
                                               oX0kxdlc;.......   ..                                                                          .;o.    
                                               ;K0OOkoll,'....'..  ..                                                                         .;o.    
                                               'KOdxxdoc:,....',......                                                                        .;:     
                                               '0x:ollxc;;'...,;'.....                                                                        'c;     
                                               '0o,c::xc''...........'.                                                                       ,l;     
                                               ;0l';,;dl...      ....,                                                                        ,o'     
                                               :0c';,;ol'..         ..                                                                       .;d......
                                               cO;';;,lc'..                                                                                 .'lx,,,''.
                                               dx'.;,,::''.                                                                            ..',;clol......
                                              .ko.,c;':;''.                                                                          .',;;;:ccxo;;;;,'
                                              .Oc.;l,'c;'...                                                                      ....';:cc;;ckl::::cc
                                              ;O:':l,'c;'...                                                                     .....,c::;,;lkl::;;;,
                                              ck;;oo;;c:,'...                                                                   .....,,::,'':cxc::;;:c
                                             .oxodkkodllc,'...                                                                 ....';.....';;cl,,;cccc
                                             .xkkk00OOolooc;;;:,,''',,'.                                                      ....,;.....',,,cl;:c:;;,
                                             :kd';l,,coxxkkkkkxdldOxolloo,                                                   ....;;....','',,cl;;;;,,.
                                            .dO:'cc.....',lc:ck0oco:;,,,cxo;...                                              ...':,....'...'':c;,,,',,
                                            .0kcll'....  .,;..'xo;,....':od:,''...                                           ...';,...'....''cl,,,'',,
                                            cKOc;'....    .;,';xd,....';:cl;'...','.                                        ....';'..''....,'cl,,;'.',
                                           .kKdc,.....   ...  ,Ox,.;:cll:'''...'''','.                                      ....';'..',...';,:c;;;'',,
                                           :0Olo;....    ...  cx:;llcc:,;;:'......'';c:,.                                   .....;,. ..,'.',,;c;;;,',,
                                         'lOOold,....    .....d;':c;''''';ll:'.........',;'..                               .....',....',,,;;;c,''','.
                                       ;oxdkd:oo,...     ....:l';:,.   ...,:odl;....   ..  .,,..                             .....'.....,,,,,,;'..,;,.
                                     .oc..:xococ,..       ..'l::;.        ...,:ll:,.    ..   .....                           ......'....','..',,'',;,,
                                    :x:   'dolo:,..       ..;lc:.             ..,clc'..   ..   ...'..                        ............,,'..';;::;;'
                                    ..    :xddo:,..   ......llc....              .,l:'.....  .   ...'..                       ...........'',,,,;:cc;,;
                                         .okxdl:,... ......'oo:...                 .c:........ .   ......                     ...........',,,;;:l:;,;:
                                        .cxkxol:,'.......''lxdocc'.............     :o;......'...   ...''.                     ...........',;;,::;,;;;
                                       .;dxxxol;,,....,lodxxxxxkkd;............... ..:oc'....''''..   ..'...                    ........'..';;,;cc::cc
                               .... ..,coxxxxdl:,,,..ckOOxxxdddxx:....................;:c;.  ..'',,'.  ..''..                    ......''...';''::c;:l
                         ..........':coodddxkdll:,,,'oOOOxxdlc::;'........''''............     ..','''....','.                     .....'.......;,;;;c
                      ...........,:dollodollxxolc,,,',cllc:,''',,........'',,,''...................',,''...',,..                     .',,,. .  .''';;'
                      .........'coooooddxoccclc:cl;;;::,....'',,;,'......',;;;,'............      . ..',,'...,;'.                     .',,. .  .,,,;;,
                    ..........;oddoddddoo:;:::::cddolc;'...',''',;;'.....';;:::,,'.......'..           .,:;'.';:'                       ...',...,,,,;:
                    .....''',:dxddolcccl:,;,;cccldollc,'...',','';::'...',;::::;,'..... .',.......     ...;c;,;;:'.                  .....'clc:,,''',:
                   .....',:cloxdool'..';;,,,;lllloolc;,,'...',,,',;:;,''',;:cc:;,,'.... ..';'.. ..     ...,cdolllc'....        ......',,;cldxdol:'..,:
                  .....',okdooooll:'..';;,,,::::lolc:,,,'...'','''cdxdollccllcc:,,'........,'''....  . .'lddodolodc,'............',;cclooxdo:;,;:,,,;:
                  ....',,dkdlc:;;;;,..,;,,,;::cclollc;,,'.....':oxkxxdlllllllolc:,,'..........''.. ... .cl;...c;;:;',;;;;;:::loolcc:::oxxdl,,;:cc;:ccc
                 ....'',;;:;,'........,,,,,;;:c;:llol:'',;;,,:dkkkxxdoodooloooolc:,'...........'..... .::.....'l;;:....,:cc:clloolc:;;:lccc::::cc;,,,,
                 ....',,,;,,'.........,,,,,;;:::ccllc:',loodxO0OOkdolllloddooloolc:'..................,:,......;ccllclc:c;;;;';cl:cc:clllclollccl:;::c
                 ....',,,;,,'.........,,,,,;:::clcllc::clooxk00Okxolc:loooxddoodlcl:..................;;'......,odddolc:c:;'..,:c:::;:oollldddollclddo
                                              .xKxollc;'.......   .                                                                           .;o.    
                                               cXKkxdll:'.......  ...                                                                         .;o.    
                                               ,K0OOOdll;'.......  ..                                                                         .,o.    
                                               '0Odddxdc:,'...';......                                                                        .;:.    
                                               .0k:llcxl;;'...';,...'.                                                                        '::     
                                               .0o':::xl,............'.                                                                       'c;     
                                               'Kl';,,do'..      ....'.                                                                       ,l,     
                                               ;0c';,,ll'..       . ..                                                                       .,d......
                                               :O:';;,cl'..                                                                                ..,cx,;,''.
                                               ok'';,,:c''.                                                                           ...,;;cloo......
                                              .xo.'c;':;''.                                                                         ..',,;:::cdd:::;,,
                                              .kl.,l;':;'...                                                                      ....';:cc;;cxo:c::::
                                              ,k:.:o;'c:'...                                                                    ......;c::;,;lko:c;;;,
                                              :k:;lo:;c:;'...                                                                  ......,,::,'':cx:::;;:c
                                              lxodkOddolc;'....                                                                ....,,.....';,:l,,:cccc
                                             .dkxkO0OOdlooc;;;:,''''','.                                                      ....,;.....',,;ll;:c:;,,
                                             ;kd',l,,:odxkkkkkxdldOxolloo,                                                   ....;;....','',,cl;;;;,,.
                                             lOc'cc......;lc::x0dcoc;,,,:xo,...                                              ...':,....'...'':c;,,,',,
                                            .OOccl,.... ..,;..'xd;,....':odc'''...                                           ...';,...'....',cl,,,'',,
                                            :KOc,'....  . .;'',xd,....',:ll:'...','.                                        ....';'..''....',co,;,''''
                                            xKxc,.....   .....'kk;.,:cccc'''..''''','.                                      ....';'..',...';,:c::;'',,
                                           ;00ol;....    .... :k:;llcc:,;;:'......'';c:,.                                   .....,,...','.',';c;;;,',,
                                         .ckOood;....    .....d:';c:''''';ll:'.........',;'..                               .....',....',',;;;c,.'','.
                                       ,oxdkd:oo,....    ....:o,;:,.   ...,:odl;....   .. ..,,..                             .....,.....,,',,,;'..,;,.
                                     .lc..cxococ,..       .''lc:;.        ...,:ll:,.    ... ......                           ......'....';'..',,'',;,,
                                    ;dc   .doloc,..       ..;lc:.             ..,clc'..   ..   ...'..                        ............,,'..';;::;;'
                                    ..    ;xdoo:,..   ......llc'...              .,c:'....  ..   ......                       ...........'',,,,;ccc;,;
                                         .oxxol:,... ......'ooc...                 .c:'....... .   ......                     ...........',,,;;:c:;,;:
                                        .:xkxol:;'... ....'ldxocc'.............     ;o;..........    ..''.                     ...........',;;,:::;;;;
                                       .,dkxdol;,,....'cooxxxxxxkd;................ .:oc'....'.''...  ..'...                    ........'..';;,;cc::cc
                               ..   ..':oxxxxdo:,,,'.cxOkxxxdddxxc....................;cl;.  ..'',''.  ..''..                    ......''...';'':cc;:l
                         ..........':cooddoxkdll:,,''dkOOxxxlcc:;'........''''...... .....     ..','''....','..                    .....'.......,,;;;:
                      ...........':oollodollxxolc,,,',clol:,''',,........',,,,''...................','''...',,'.                    ..',,,. .  .''';;'
                     ..........'coooooodxocccol:cl;;;::'.....',,;,'......',;;;,'.......... .        ..,,,'...,;'.                     .',,.    .,,,;;,
                    ..........,odooodddooc;:::::cddolc;'...',,'',:;'.....';;:::,,'..........           .,::,..,:,.                      ....,...,,,,;:
                    .....'''':dxdooollllc,,,;cccldollc,'...',','';:;,...',;::::;,'........,.......     ...,c:,;;c,.                  .....':ll:;,''',:
                   .....',;cloxdool'..';;,,';lllloolc;,,'...',,,',;::,''',;:cc:;,,'.......';'.. ..     ...'cdolllc'....        .......',;codxdol:'..':
                  .....',lxdoodool:'..';;,,,::::looc:;,,'...'','''cdxdollccllcc;;,'........,,'........ .'ldoodolodl,'.............,;:coooddo:;;,:',,;:
                  ....',,dOdlc:;;;;;..,,,,,;::cclollc:,,,.....':oxkxxdlclllllolc;,,'..........''...... .cl;'..c:,::'';;;;;;::loooc::::oxdxo,';::c;::cc
                 ....'',;:::,'........,,,,,;;:c;:llol:'',;;,,:dkkkxxdoodooloooolc:,'...........'.......;:'....'l;;:....,;cl:clloolc:;;:lccc:::c:c;,,,,
                 ....',,,;,,'.........,,,,,;;:::ccllc:',loodxO0OOkddllloodddoloolc:,..................,c,......,ccllclc:c:;,;';ccc:ccccllclollccl;;:cc
                 ....',,,;,,'.........,,,,,;:::cc:clc:;clooxk00Okxolcllooodxdlodlcl:..................,:,......'ldddol:cc:;'..,:::::;:loolododoloclddo
                                               dKkoddl:'.......   ..                                                                          .;o.    
                                               :XKOkdllc,.......  ...                                                                         .,o.    
                                               '00OOOxll:'.....'.  ...                                                                        .,o.    
                                               .OOooxddc:,'...';'.....                                                                        .,c.    
                                               .Ok;clcxl:,'...';,'....                                                                        .::     
                                               .0d,;:;do'.'..........'.                                                                       'c:     
                                               .0o',,'oo'..      ....'.                                                                       'o,     
                                               ,0l';;,cl'..          .                                                                       .,x'.....
                                               ;0:.,,,:l'..                                                                                ..;ck;,,''.
                                               lO'.:;,:c''.                                                                           ...,;;cllo'.....
                                               xd.'c:'::''.                                                                         ..,,;;::ccxd;:::;,
                                              .ko',l;'::'...                                                                      ....';:c:,;cxo:::::;
                                              'Oc.;o;'::'...                                                                    .....';c::;':lkdcc;;;,
                                              ;k:;ld:;cc;'...                                                                  .....',,:;,'';cxc;;;;:c
                                              lxddkOddolc;'....                                                               .....,,.....',,:o,;;cccc
                                             .dkkxO0O0dcooc;;;;,'''''''.                                                      ....;;....'',,;lo;:::;,,
                                             ,kx',l;,:oxxkkkkkxdldOkooloo;                                                   ....;;....','',,cl;;;,,,.
                                             lOc'cl......,lc::x0dcoc;;,,:xd;..                                               ...':,....'...'':c;,,,',,
                                            .kOcll,.... . ';...od;,....';ldl,'....                                           ...':'...'....''cl,,,'',,
                                            ;K0l,,..... . .;'',dd;....',:ll:'...','.                                        ....';...''....''cl;;,.'',
                                            dKkl,.....   ......xk;.,;:llc'''..'..'',,.                                      ....','..',...';,:l:;,',,,
                                           'O0ol;....    .... ;xc;llcc:;;;:'.......',::,.                                   .....,,...','.',';c;;;'',,
                                         .:OOdod;....    .....oc';c:,'''';cl:'.........',;'..                               .....',....',,,;,;:,.'','.
                                       'lxxkxcoo;....    ....;o,;c,.   ...,:odl;....   .. ..,,..                             .....,.....,,',,,,,..,;,.
                                     .ll'.:xd:oc,..       ...lc;:.        ...,:ll:,.    ...  ..'..                           ......'....';'..',,'',:,,
                                    ,do.  .doloc,..      ..',occ'.           ...,clc'..   ..   ...'..                        ............,,'..';;:::;,
                                    ..    ,xdoo:,..   ......coc'...              .,cc,....  ..   ......                       ...........',,,,,;ccc;,;
                                         .okxol:,... .......llc'..                 .c:'.........   ......                     ...........',,,;;cl:;,;:
                                        .;xkxol:;'... .....cxdoc:'.............     ,l:..........    ..''.                     ...........',;;,:::;;;;
                                       .,dxxdol;,,.....:lodxddxxkd:...............  .;ol'....'.''...  ..'...                    ........'..',;,,cc::cc
                               ..  ....;odxxxdo:,,,'.:xOkxxdxddxxl'...................;ll:.  ..'',''.. ..''..                    ......''...';'.;:c;:l
                         ...........;clodddxkdol:,,,.dk0Oxxxoccc:'........''''....... .....    ..','''.. .','..                    .....'.......,,;;;:
                      ...........':oollldollxxdlc,,,,;loooc,''',,''......',,,,''...................','''....,;'.                     .',,,...  .''';;'
                     ...........:oooloodxocclol:cl;;;::,.....',,;,'......',;;;,'.......... .        ..,,,'...,;,.                     .',,. .  .,,,;;,
                    ..........,odooodddooc;:::::cddolc;'...',,'',::'.....';;:::,,'..........         ...,:;'..,;,.                      ....,...,,,,;:
                    .....''',;oxdodoolllc;,,;ccclodol:;'...','''';:;,...',;::::;,'........,.......      ..,c:,,;:,.                  .....':lc:;,''',c
                   .....'',:coxdool,..';;,,';cllloolc;,,'...',,,',;;;;''',;:cc:;,,'.......';'.....      ..'cdoclll,....        .... ..',;cldxdol:''.':
                  .....',cxdoodool:...,;;,,,:::clolc:;,,'...'''''':dxdollcclllc;;,'........,,'.......  .'cddoodlodl;'.............';:clooddoc;;,:,,,,;
                  ....'',dOxolc::::;..,,,,,;:::cllllc:,,,.....':oxkxxdlclllllllc:,''........'.''.....  .:l:'..cc,::,,,;;;;;::cooocc:::lxxdo;';::c;:ccc
                 ....'',,:c:;'........,,,,,;;:c;:lcll:'.,;:;,:okkkxxdoodolloooolc:,'...........'.......;:'.....c:;:'...,;cl:clloolc:;;;llccc;:c:l;,;;,
                 ....',,,;,,'.........'',,,;::::ccllc:',coodxO0OOkddllllodddolddlc:,..................':;......'ccllcll:c:;;;,;ccc:lcccllccolcclo:;:cc
                 ....',,,;,,'.........'',,,;:::cc:clc:;clooxk00OOxolcloolodxdlodlll:'.................,;,......'cdxxolc:cc;'..,:c::c;:loolooddoloccodo
                                               lKOdodoc,.......   ..                                                                           ,o'    
                                               ,KKOkdllc,'......   ..                                                                          ,l'    
                                               .00Okkkol:''....'.  ...                                                                        .'l.    
                                               .kOolxoxl::'...';'.....                                                                        .,c.    
                                               .kk;:l:xo;;,....,,'...'.                                                                       .:c.    
                                               .Ox,,:;do,.'..........'.                                                                       .c:     
                                               .0o.,;,ld;..      ....'.                                                                       .l;     
                                               '0o',;,cl,..          .                                                                       .'x,.....
                                               ,0:.,,,:l,'.                                                                               ...;:k;,,'..
                                               cO,.;;,;c''.                                                                           ..',;;:cco'''...
                                               ox''::,;:'...                                                                        ..,,,;::ccdx;::::,
                                              .xo',l;'::'...                                                                      ....';:c:,;:xd::::;;
                                              .kc';d:'::'...                                                                    .....'::::;':cOdc:;;;,
                                              ,kc;lx:;:c;,...                                                                  .....',':;,'';:dc;;;:cl
                                              cxddkkddoll;'....                                                               .....,'.....',,;o;;::c::
                                              okxdkOOOdcloc;;;;,'''''''.                                                      ....;;....',,,;co:::;,,,
                                             'kx,,l;,:oddkkkkkxdldOkooloo;                                                   ....;,....','',,cl:;;,,,.
                                             :Ol'cl......,lc:cxOx:ol;;,;:dd;..                                               ...':'....'...'':c;,,,',,
                                            .x0lll,.... ..';...lx;;....';ldl,.....                                           ...,;'...'....''cl,;,''',
                                            ,K0o,,..... . .,'',ox;.....,;cl:,...','.                                        ....';...''...',,cl;,,'',,
                                            oKkl,.....   .... .dk;.';:llc,''..''''',,.                                      ....','..',...',':l:;;',,,
                                           'O0oo:....    .... ,kl;clcc:;;;;,.......',::,.                                   .....;,...','.',';c;;;'',,
                                         .:kOdod:....    .....ll';c:'''',;cl:'.........',,'..                               .....',....',,,;,;:,.'','.
                                       .lxdkxcoo;....    ....,o,;c,.   ...,:ddl;....   .....,,..                             .....,.....,,',,,,,..,:,.
                                     .co,.:dd:lc,..       ...cc;:.        ...,:ll:,.    ...  ..'..                           ......'....';'..',,,,,;,,
                                    'dd.  .odcoc,..      ...,oc:'            ...,:lc'..    ..  ...'..                        ............,,'..':::;;;,
                                    .'.   ,xdoo:,..   ......clc,...              .'cc,....   .   ......                       ...........',,,,,;cc:;,;
                                         .lkxdo:,... .......llc'...                .cc'.........   ......                     ...........',,;;::l:,,;;
                                        .,dkkdl:;'.........:dooc:'.............     'o;..........    ..''..                    ...........',;,;:::;;::
                                       .'oxxdol;,,.....;cooxxxxxxd:...............  .:oc'......''...  ..'...                    ........'..',;;,cc::cl
                               ..    ..;lxxxxdoc,,,'.;xOkxxdxddxxl'.................. ,loc.  ..'''''.. ..'''.                    ......''..'','.;:c;:l
                         ...........;:lodddxkxolc,;;'ok0Oxxxolcc:'........''''....... .....    ..','''.....''..                    .....'.......,,;;;:
                      ............;oolcldollxxdlc,,;,;oodol;''',,''......'',,,''...................','''...',,'.                     .',,,'..  .''';;'
                      ..........:looolodxocccolccl;,;::,.....',,;;'......',;;;,'.......... ..      ...,,''...';,.                     .',,.    .'',;;,
                    ..........'ldoooddddoc:::::::ddolc;'...',,'',::,.....';;:::,,'..........         ...,;;,..,;,.                      ....'...,',,,:
                    .....'''';oxdodooolcc;;,;ccccddol:;'....,,''';:;,...',;::::;,'........,.......      ..,c:,,;:;.                   .....;ll:;,,'',:
                   .....',,:coxdooo,..';;,,';cllloooc;,,....',,,',;;:;''',;:cc:;,,'.... ..';'......     ..':docclc;....        .......'';cloxxdl:,'.':
                  .....',cxdoodool:...';;,,,:cccoolc:;,;'...'',''':dxdollcclllc;;,'........,,'...........:ddoddlodo;'.............';:clloddoc;;':'',,;
                  ....'',dOdolcc::::'.',,,,;:::clolll:,,,.....';oxkxxdlclllllool:,''........'.''.. .. ..:l:,..:c,;c;,,;;;;;::clolccc::ldxxd:,,:;c;:ccc
                 ....'',;:cc;,........,,,,,;;:c::lcll:'.,;;;,:okkkxxdoodolloooolc:,'...........'..... .;:'.....c:;;,...,;cl:ccloolc:;;;llclc::c:c;;;;,
                 ....',,,;,''.........'',,,;::::cccol:',cloodk0OOkxdolllodddolddlc:,..................':;.......ccllclc:c:;,;,,ccccccccllccolclco:;:::
                 ....',,,;,,'.........'',,,;:::cc:coc:;cllodkO0Okxdlcloolodxdlodlll:'.................,;,'......cxdxdl::c:;''.':c:::::coolldddololcodd
                                               cK0xdoll:.......   ..                                                                           'l,    
                                               '0K0kxlll;'......   ..                                                                          'l,    
                                               .O0kkkxolc,'....'.  ...                                                                        .'o.    
                                                kOlcdlxo::,'..';'.....                                                                        .,c.    
                                                xk;:l:xo;,,....,,'...'.                                                                       .:c.    
                                               .kx,,:,od,.'..........'.                                                                       .cc     
                                               .Od'';'cd;...      .....                                                                       .l:    .
                                               .0o'';,:o;..          .                                                                        'x:.....
                                               ,Kc.,;,;l,'.                                                                               ...;ck:,,''.
                                               :O,.;;,;c''.                                                                           ..';;;:ccd,'....
                                               lx''c:';:'.'.                                                                        ..',,;:::cdx::cc:;
                                               xd''l:';:'...                                                                      ....';:c:,;cxd::;;;;
                                              .kl.;o:'::'....                                                                   .....'::::;';ckdc:;;;,
                                              'kc:lxc;cc;,...                                                                  .....',':;'.,;:dc;;;:cl
                                              :kddkOxxdcl;'....                                                               .....,'.....',,;o;;:::::
                                              okxdkOOOdcloc:;;;;'..''''.                                                      ...';,....',',;co::::;,'
                                             .xx,,l;';oxdkkxxxxxooOkoollo:.                                                  ...';;....','',,cl:;;,,'.
                                             ;Oo'cl......,cc:cx0xcol;;,;:dd;..                                               ...,;'...'....'':l;,,'',,
                                            .d0lcl;.... . .;...lk;;....',lxo,.....                                           ...,;'...'....''co;,,..',
                                            'K0o,,.....  ..,,',cx;.....,;cl:,...','.                                        ....';...''...',,co;,,.',,
                                            lKkl;.....   .... .ok:.';:llc,''...'''','.                                      ....',...',...',';c:;,',;,
                                           .k0do:....    .... 'kl;clcc:;,;;,.......',::,.                                   .....;'...','.',';c;,;'',,
                                         .;xOxod:....    .....ll,;cc,'''';:oc'........'',,'..                               .....,,....',,,;,;:'.',,'.
                                       .cxdkxcoo;....     ...,o;,:;..  ...,:odl;....   .....,,.                              .....,.....,,',,',,.',:,.
                                      :o;.:ddcll;..       ...:l;:.        ...,:ll:,.    ...  ..'..                           ......'....,;'..',;,,,;,,
                                    .od.  .oococ,..      ..',lcc,.           ...,clc'..    ..  ...'..                        ............,,'..';::;;;,
                                    .'.   ,xdoo:,..   ......;ol,...              .'cc,....   .   ......                       ...........'',;;,;cc:;;;
                                         .cxxdo:,... .......loc'...                .:c'....... .   ......                     ...........',,;;:cl:,,;;
                                         ,dkkdl:;'.........;ddoc:'.............     'l;..........    ...'..                    ...........',;,;:::,;:;
                                        .oxxdol;,,.....;cloxxxdxkd:...............  .:ol'......''...  ..'...                    ........'..',;;,cc::cl
                               ... ....,ldxxddoc,,,'.,dkkxxdddxxxo,.................. ,loc.  ..'''''.. ..''...                   ......''...',..;:c;:l
                         ...........,:looddxkxol:,,,'ok0Oxxxolccc,........''''....... ......   ..','''.. ..''..                    .....'.......,,,;;:
                      ............,lollldollxxdlc,',,;oodol:''',,.'......'',,,''...................';'''....,;'.                     .'',,'..  .''',,'
                      ..........;loodlldxocccllccc;,:::,'....'',;;'......',;;;,'.............       ..',',...';,.                     .',,. .  .'',;;,
                    ..........'cdooodddddl:::::::ddolc;'...',,'',;;,.....';;:::,,'..........         . .,;;,..,;;.                      ....''..'',,,:
                    .....'''',lxdooodollc;,,;ccccddolc;'....,,'',;:;,...',;::::;,'........,.......      ..,c:,,;:;.                   .....;clc;;,'',:
                   .....',,;:lxdooo;..';;,,,,cllloooc;,,....',,,',;;:;''',;:cc:;,,'........;'.....      ..':ooccll;....        .......',;:coxxdoc,'.':
                  .....',:ddoodoolc...';,,,':cccooll:;,,'...'',,'':dxxolllllllc:;,'........,;'.......   .:ododdlodo;'............'',:clodxdol;;':',,,;
                  ....'',dOxollcccc:'.',,,,;:::clllll:,,,'.....;lxkxxdlclllllool:,''........'.''.. ..  .;oc'..:l;;c;,,;;;;;;::lolcc:::lodddc',::c;::cc
                 ....'',;:lc:,'.......',,,,,;:c::lclo:'.,;;;,:okkkxxdooodoloooolc:;'...........'..... .;:,.....:c;;;...';clcccloolc:;,;llclc::ccc:;;;,
                 ....',,,;,''.........'',,,;:cc:cccol:''cloddk0Okkxdolclodddolddlc:,............'.... .:;.......:cclllc:c::;;,;ccl:lcc:clllolclclc;:c:
                 ....',,,;,,'.........'',,,;:::cc:coc:;:llodkO0Okxdllllllodxdlldlcc:'...........'.....':,'......:ddxdoc:cc;'...::c:c:;:looldddololcldo
                                               :KKxdooo:'......   ...                                                                          'l;    
                                               .0K0Okoll:'.......  ..                                                                          'l;    
                                               .x0kdkkdl:;'....'.   ..                                                                         ,l'    
                                                d0o:dlxo:;,...',,......                                                                        'c.    
                                                dO:,l:dd;,,....';'...'.                                                                       .;c.    
                                                xk,,;,od;..............                                                                       .:c.    
                                               .kx'';,co;...      .....                                                                       .l:    .
                                               .Od,,;,:o;...         ..                                                                      .'xc'''..
                                               '0c.,;,,l,'.                                                                               ..':cx:,,''.
                                               ;0,.;:,,c''..                                                                          ..,;;:cc:d;''...
                                               ck'.::,;:....                                                                        ..',,;:::cox::cc:;
                                               dx''c:';:'...                                                                      ....,;cc:,;cxx::;;;,
                                              .xl.,o:'::,....                                                                   .....'::::,';ckdc:;;;;
                                              .kl:lxl:cc:,....                                                                 .....',,:;'.,;:dc;;::cl
                                              ;kddkOxxdcl:'....                                                               .....;'.....,,,;o;;:::::
                                              lkddkOOOdccol;;;;;'..''''.                                                      ...';,....',',,cd:::;;''
                                             .dx,,c:',lddxkxxxxxookOdolld:.                                                  ...';,....','',,co;;;,,'.
                                             ,Oo'cl'.....,cl:cd0xcol;;,;:od:'.                                               ...,:'...'...''':l,,,'',,
                                             o0ocl;....   .:...lx;;'...',cdo;'...                                            ...,;'...'...'''co,,,..',
                                            .OKo,,.....   .,,''cx:.....';:lc,'...,..                                        ....,,...''...',,co;;,.',,
                                            cKOl;'....   .... .lOc.';:cll,',...'''',,.                                      ....',...',...',,;c:;,',;;
                                           .kKdl:....    .... .xo;cllc:;,;;,.......',:;'.                                   .....;'...','.',,;c;,,''',
                                         .,x0xox:....    .... co,,c:,',',;:lc'........',,;'..                               .....,,....',,';;;:'.',,'.
                                       .:dxxxclo:....     ...'o;,c;.   ...';odl;....   .. ..,'..                             .....,.....,,',,',,.',:,.
                                      :d:.:dxcll;..       ...:l;:.        ...,:ll;,.    ...  ..'..                           . ....'....,,'..',;,,,;,,
                                    .lx.  .odcoc,...     ...'l:c,.           ...,:lc'.     ..  ...'..                        ............,,'..';::;;;,
                                    .'.   'xxoo:,..   ......;oc;...              .'cc,.....  .   ......                       ...........',,;;,;cc:;;;
                                          cxxdo:,... .......col'.'.                .:c'....... .   ......                     ...........',,;;:cl:;,;;
                                         'dkkdl:;'.........,ddoc:'.............     .l:..........    ...'..                    ...........',;,;;::,;::
                                        .lxxdol;,,.....,cloxxxdxxd:...............  .:ol'......'...   ..'...                    ........'..',;;,cc::cl
                               ..    ..,cdxxxxoc,,,'.,okkxxdxdxxko,.................. ,ooc.  ..'''''.. ..''...                   ......''...',..;:c::l
                         ...........,;loodddkxolc,,,'oOO0kxxolccc,'.......''''....... ..... .  ..','''.. ..,'..                    .....'.......,,,;;;
                      ............'collldoloxxdlc,',,;odxdo:,,,,'.'......',,,,''...................';'''....,;'.                    ...',,'..  .'''';'
                      ..........,looolldxocccllccc;,:c:,''...'',;;,......',;;;,'.............   ..  ..',',...';,.                     .';,. .  .'',;:;
                    ...........:dooodddddo:::::::ddolc;'...',,'',;:,.....';;:::,,'..........         ...,;;,..,;;.                      ....''..''',,:
                    .....'''''cdddoodooll;;,;ccccddolc;'....,,'',;:;,...',;::::;,'........,.......      ..,c:,,;:;.                   .....;clc;;,'',:
                   .....'',,:lxddoo:'',;;,,,,cllloooc:,,....',,,'';;:;,'',;:cc:;,,'........,'......     ..':ooccll;...         .......',,:coxkdoc,'.':
                  .....',:odooddol:...',;,,,;cccooolc;,;,...''','':dxxdlllllllc:;,'........';'.......   .:dddddoloo:'.............',;ccooddoo:;':,,',;
                  ....'',dOdolllccc:'.',,,,;:::clllll:,,,......;lxkxxdlclllllooc:,''........'.''.. ..  .;lc,..;l;;c;,,;;;;;;:cloolcc::codxdc,,;;c;;:cc
                 ....'',;col:,'.......',,,,,;:c::cllo:,.,;;;,;okkxxxdooodoloooolc:;'.........'.''......,:,.....;c;;;...';clcccloolc:;;;cllll::ccl:;;;,
                 ....',,,;,''.........'',,,;:ccccccll:,'cloddk0Okkxdocllodddooodlc:,............'.... .:;'......:ccllll::::;;,,:clcccccccllolclloc;:c:
                 ....',,,;,,'.........'',,,;:cccc:cll:;:llodkO0Okxdllclllodxxlldlcc:'...........'.....';;'......;ddxdol:c:;,...;cc:c:;:looloodololcloo
                                               '0XOddlll,.......   .                                                                           'c:    
                                               .kK0kOdll:,'......  ...                                                                         ,l;    
                                                dKkokxxlc:'....'... ..                                                                         ,c,    
                                                oKo;oldd::,'..',,....'.                                                                        ':.    
                                                oO:'c:ox:,,'....,'...'.                                                                        'c.    
                                                dO;.;'cx;.... .........                                                                       .;l     
                                                dx,';,;o:...      .....                                                                       .cc.  ..
                                               .kx,';,;l;...         ..                                                                      .'dl''''.
                                               .Ol.';,,c,'.                                                                               ..':cxc','..
                                               '0;.,:,,c'''.        .                                                                 ..,;;:cc:x:,'...
                                               :O,.;:,,:'...                                                                        ..'',:c::cox:;c::;
                                               ox'.c:';:'...                                                                      ....,:c:;';:dx::;;;;
                                               xo',oc'::,'...                                                                   .....,::::,';ckx:;,,;;
                                              .xl:cxo:cc:,....                                                                 .....,'';,'.,;;oc,;:cll
                                              ,xxxkOkxdllc,....                                                               .....;'.....,,';o::::;;;
                                              ckdoxkOOdccol;;;;;'...'''..                                                     ...';'....''',;cdc:;;,'.
                                              dk;'l:',lxddkxxxxdolkOxollo:.                                                  ...';,....'''',,:o;;,,,'.
                                             .kd,:l'.....'cl:cdOkclo;;,,;ox:..                                               ...,;'...'...''':l,','',,
                                             cKocl;....   .:'..:k:;'....,:do,'...                                            ...,;....'...'',co;,,.',,
                                            .kKd,'..... . .,,'':xc.....';:lc,....,'.                                        ....,,...,'...'',cl;,,.',,
                                            ;KOo:'....   .... .:kl..,:cll;.'...''''''.                                      ....',...',...',,;c:;,',;;
                                           .xKxlc....    .... .dd;cllc:;,,;,.......',:;'.                                   .....;'...','.''';c;,'''''
                                          'o0Oodc....    .... :d;,:c;,,',,:lc'........'';;'..                               .....,,....',,',;;;,..,;..
                                        ;odxkllo:...      ....o:,c;.   ...';odl;....   .. ..,,..                             .....'.....,,'',',,..,:''
                                      ,oc.:dxcll;...      ...;o,:.        ...,:ll:,.    ...  ..'..                           . ....'....,,'..',;,,;;,,
                                    .cx'   ldcoc,...     ...'ccc;.           ...,:lc,..    ..  ...'..                        ............','..';:::;;,
                                    .,.   .ddoo:,..     ....,oc:...              ..cl,..... ..   ......                       ...........',,;;,;cc:,,;
                                          :kkdo:,'..........col,...                .:c'....... .   ......                     ...........',,,;:clc,,;;
                                         .okkdl:;'.........'oodc;'.............     .l:..........    ...'..                    ...........',;,;::;;;::
                                        .cxxxol;,,'....':clxxxdxxo:...............   ;ol' .....'...   ..''..                    ...........',:;,ccc:cc
                               ..    ..'cdxxxxoc,,,'.'lxxdxxxddxkd;...................,ld:.  ..'''''..  .''...                   .......'...',..;:c:;c
                         ...........';clodddkxolc,,,'lkO0xxxollll;........''''...........'.    ..','''.....''..                    .....'.......,,,;;;
                      ............'collcodloxxdoc,',,;ddxdoc,,,,'.'......'',,,''...................','''....','.                    ....,,'..  .'''';'
                      ..........,:ooolloxdcclollcc;,:::,''...',,;;,......',;;;,'.............      ...',','..';,.                     ..,;' .  .'',,:;
                    ...........;oooooodddo:::::::odolc;'...',,'',;:,.....';;::;,,'..........         ...',;,..';;.                      .....'..'''',:
                    .....''''':ddoooddoll:;,;ccccddolc;'....,''',;:;;...',;::::;,'........'.......       .,::,';::.                   .....,clc:;,''':
                   .....'',,:cxxdooc,',:;,,,,clllodol:,,'...',,,'';;:;,',,;:cc:;,,'........,'.. ...     ...;lolccc:...          .... .',,:lodxxol,..';
                  .....',;ooooddooc'..';,,,,;cccloolc;,;,...''','':dxxdllcllllc:;,'........';'.......   .;ododdllodc,'.....  ......,;:looddooc;'c;'',;
                  ....'',oOdollllcc:'.',,,,,:::clllllc,,,......;ldkxxdlccccllolc:,''........'.''.. ..  .,ll,..;l;,::,,;;;;;;::cool:c:::oddxl;,;;c:;:cc
                 ....'',,cooc;''......',,,,,;:c::clloc,',;;;,;okkxxxdooodoooooolc:;'.........'.''.... .,:,.....'c;;;'..';:llccloool:;;;:llll::ccl:;;;,
                 ....',,,;,,'.........'',,,;:cc:cccll:,':olodk0Okkxdoclloddoollolcc,............'......:;'......,cclllc::::;;,,:cccccc::cccolccllc,;c:
                 ....',,,;,,'.........'',,,;:cc:::cll:,;llodkO0OOxdllclllodxdlldlclc'...........'......:;'......,ddxxol:c:;,...;:c::cc:cooloodoloo:ldd
                                               .OKOxdlll:.......   ..                                                                          'c:    
                                               .xK0OOxolc;'......  ...                                                                         'c:    
                                                oKkoxdxoc:,....'.......                                                                        ,c;    
                                                lKo;olodc:;'...,,'.....                                                                        ':'    
                                                l0c'c:lx:,,'....,'.....                                                                        'c.    
                                                oO;.;,:xc...  .........                                                                        ,l.    
                                                dk;.;,;o:'..      .....                                                                       .cl  ...
                                                xx,';,;l;'..                                                                                 .'xo','..
                                               .Oo..;,,c;'..                                                                             ...,ccdl','..
                                               '0:.,:,'c,''.        .                                                                ..',,;::ccxc,,'..
                                               ;O;.;c,,c'...                                                                        ..',,;c:;:ox:;:::;
                                               lx,.cc';:'....                                                                     ....;:c:;,;cdkc:;;;;
                                               dd,,ll,::,'...                                                                   .....,::::,';ckxc:,;;:
                                              .xo:lxo:cc:,....                                                                 .....,',;,..,;;oc,;:ccl
                                              'kxxkOkxdllc,....                                                               ....';......,,,;oc:::;;;
                                              :OdlxkkOxccol:;;;,'....''..                                                    ....';'....''',;cdc::;;'.
                                              ok;.cc.,cdddkxxkxdolkOxolloc.                                                  ...':,....'..',,:o:;;,'''
                                             .kx;:l,.....'clccdOkclo:;;,;lxc'.                                               ...,;'...'....'':l,'''',,
                                             :0dcc;....   .:,..;xc;'....,:dd;'...                                            ...,;....'....',co;,,..',
                                            .kKx;'..... . .',.':kl.....';:ll,'...''.                                        ....,,...'....'',cl;,'',,,
                                            ,K0o:'....   .... .;Ol..,:cll;.'...''''''.                                      ....',...',...,,';c:;,',;;
                                            dKxlc....    .... .ox;cllc:;;,,;.......',:;'.                                   .....;'...''.','';c;''''''
                                          'oOkodc....    .... ,x:,cc;,'',,:lc'.......'',,;,.                                .....,,....',,,,;;;,..,;..
                                        'dxxkllo:....     ....o:,c;..  ...';odl;....   .. ..,,..                             .....'.....,,'';',,'';:''
                                      'ol.:xxcll;...      ...,o;:'        ...,cll:,.    ...  ..'..                           . ....'....,,'..',;;',:,,
                                    .;x;   cdcol,...     ...'ccc;.           ...,:lc,..    ..  ...'..                        ............','..':c:;;;,
                                    .;'.  .oxdo:,..   ......,lc:...              ..:l,..... ..   ......                       ...........',,;;,;lc:,;:
                                          ;xkdo:,'..........:ol,.'.                .:c'....... .   ......                     ...........';,;,;cl:,,;,
                                         .okkdl:;'... ......ood:;'.............     .c:'.........    ...'..                    ...........',;,;;::;;::
                                        .:xxxol:,''....';:ldxxdxxdc...............  .,ol' .....'...   ..''..                    ........'..',:;,:cc::l
                               ..    ...:dxxxxoc,,,'..cxxxxxxddxkd:................. .'ldc.  ...''''..  .''...                   .......'...',..;:c:;l
                         ...........',:lodddkxolc,,,'lkOOkxkdllll;........'''...........','    ..','''.. ..''..                    .....''......,,,;,,
                      .............:olllooloxxdoc,',,:dxkxdl;,,,,''......'',,,''...................','''....','.                    ....,,'..  .''',;'
                      ..........':loolloddlcloolcc;,:::,'''..',,;;,......',;;;,'.............   ......,,'''..',;'.                    ..,;' .  .''',;;
                    ...........;oooooodddo:::::::odolc:,....,,'',;:,.....';;::;,,'..........         ...';;,..';;'                      .....'..''',,:
                    .....'''..;dooooddool:;;;ccccodolc;'....,',,,;:;;'..',;::::;,'........'.......       .,::,',::.                   .....,clc:;,''':
                   .....'',,;cdxdooc;,,::,,,,clllodol:,,'...',,,'';::;,',,;:cc:;,,'........,'.. ...     ...;lolccl:'..          ......'',;cldxxol;..';
                  .....',;llooddooc'...,,,,,;cccloolc;,;,...''','':oxxdolcllllc:;,'.........;,'......   .;ododdolodc,'.....   .....';:llodxdol:,::'',;
                  ....'',oOxdolollc:'.',,,,,:::clllllc,,,......;ldkxxdlcccclllol:,''........,'''.. ...  ,ll,'.,l:,:c,';;;;,,;:cooc:c::coddxd;,;:c:;:cc
                 ....'',;cxdl:,''.....',,,,,;:c:;ccloc,',;;;,;okkxxxxooodollooolc:;'.........'.''......':,......c;;:'..';:llccllool:;;,:llcl;:clcc;;;,
                 ....',,,;;,'.........'',,,;;ccccccll:;.:ooodk0Okkxddlllodddoololcc;............'......;;'......,lcllll:::;:;,,;cclccc:;cccoocllll;;:c
                 ....',,,;,,'.........'',,,;;ccc::col:;;ccodkO00Oxdllclllodxdlloolc:'...........'......;;'......'odxxol:c::'...,:cc:l::cooloodolooclod
                                               .OK0kxococ'......   ..                                                                          .:c    
                                                dK0OOxolc;'......   ..                                                                         ':c    
                                                cKkcxdxdc:,'...''.. ...                                                                        ,::    
                                                :Ko,lcoxc:;'...';'.....                                                                        ':'    
                                                :Kl'c;lkc,,'....'''....                                                                        'c.    
                                                c0:.;,;dc'..  ........'                                                                        'l.    
                                                lO;';,;oc'..      .....                                                                       .:o. ...
                                                dk,';,,l;'..                                                                                 .,dd'''..
                                               .kd..;,,c;'..                                                                             ..',::ol.''..
                                               .Oc.':,'c,.'.        .                                                                ..',,;::ccxc,,'..
                                               ,O;.,c,,c'...                                                                        ..',;:c:;:lkc;:::;
                                               ck,.:c',:,....                                                                     ....;c::;';cdkc;;;;,
                                               ld,,lo,;:;,...                                                                   .....,:;::,';cxd::,;::
                                              .doclxd:lc:;'...                                                                 ....',',:'.',;,oc,;:cll
                                              'xxxkOkxxccc,....                                                               ....';.....',,,;oc:c:;;,
                                              ;kdlxkkOxl:oo;;;;,'....''..                                                    ....';.....''',;cdc::;;'.
                                              lk:'cc.'cdddkxxxxxdoxOxolloc.                                                  ...,;,....'..',,:l;,;,'''
                                             .xk;:o,.....'coccoOOclo:;,,;lxc'..                                              ...,;....'....',:l;'''',,
                                             ;0xcc;....   .:,..,xc;'...'':do;'....                                           ...,,....'....',co;,'.'',
                                             dKx;'.....   .''.';xl,....',:ll;'...''.                                        ....,,...,....'',cl;,'',,,
                                            '00d:'....   ....  'ko'.;:ccl:'''..''''''.                                      ....',...',...,,';c:;'',;;
                                            oKklc....    .... .lx;cllc:;;;,,........,;;'.                                   ....';'...','','';c,''''''
                                          .lOkddc....    .... ,x:,cc;''',,:lc'.......'',;;,.                                .....,,....',,,,;;;,..,,..
                                        'oxxklco:....     ....lc,:;'.  ...';ldl;. ..    ....,,..                             .....'.....,,'',.,;'';;,'
                                      .lo':dklll;...      ...,o;:'        ...,:ll:'.     ..  ..'..                           . ....'....,,'..',;;,;:,,
                                     ;x;   :dlol,...     ...'cl:;.           ...,:lc,..    ..  ...'..                        ............','..':c:;;,,
                                    .:,.  .oxdoc,...    ....,lc:...              .'cl;..... ..   ......                       ...........',,;;,;lc;,;;
                                          ,xxxo:;'..........;ol;.'.                .:c,....... .   ......                     ...........';,,,;cc:,,;,
                                         .lkkdl::'..........ldoc;'.............     .c:'.........    ......                    ...........',;,;;:::;::
                                       ..;dxxol:,''.....,:cdkxdddo:...............   ,dc'......'...   ..''..                    ........'..',:;,:ll::l
                               ...    ..:dxxxdo:,,,'..:dxxdxdxdxkdc................. ..lo:.  ...',''..  .''...                   .......'...',..;:c::l
                         ............,:lodddkxolc,,,'ckOOkxxdlllo:........'''...........',,.   ..'''''.. ..''..                    .....''.... .,,,;,,
                      .............:llllooloxxdoc,';,:dxkxdl;;,,,''......'',,,''...................','''....','..                   ...'','..  .''.';,
                      ...........:loollodoccloolc:;,;::,,,'..',,;;,......',;;;,'.............   ......,,''...',,'.                    ..,;'..  .''',;;
                    ...........,loooooodxdc::::::looll:'....,,'',;:,.....';;::;,,'..........           .',,,..',;'                      ... .'..''',,:
                    .....''''',dodoodddllc;;;ccccodolc;'....,',,,;:;;'..',;::::;,'........'.......       .,::,',;:'                   .....'clc:;,,'';
                   .....'',,;:dxdool:;;c:,,,,clllodol:,,'...',,,'';;::,',,;:cc:;,,'........,'.. ...     ...;lolccl:,.            ......',;cldxxol:''';
                  .....',,clloddooc'...,,,,',cccloolc;,;,...''','':oxxdollllllc:;,'.........;,'......   .,ldoodolodc,......   .....';:llodddol:,;:''',
                  ....'',oOdoooolcc;'.',,,,,:::clllllc,,,......,ldkxxdlccccllllc:;''........''''.. ... .'ll;'.,l:,:c,';;;;,,;::lolccc:cloddd:,;:::;::c
                 ....'',;lxdl:;,''....',,,,,;:c:;clloc,',,;;,;okkxxxxolodollloolc:;'.........'.''.... .':;......:;;:,..';:cl:cllool:;,,:llco:;:ccc;;;,
                 ....',,,;;,'.........,,,,,,;ccccccll:,.;loodk0Okkxddlllodddollolcc;............'.... .;;'.... .'lcllllc::;:;;',cllccc:;cccoocllll;;:c
                 ....',,,;,,'.........,',,,,;ccc::col:;;llldkO00Oxdllclllldxdllllcc:'..................;;'......'ldxxolcc::,...,ccc:lc:cooloodolooclod
                                               .xKK0koclc,......   ...                                                                         ':c    
                                                lK0OOkdlc;'....'.   ..                                                                         ':c    
                                                :Kkcddxdc:;'...''.. ...                                                                        '::    
                                                ;Ko,lclkl;;,'..';'.....                                                                        ':,    
                                                ;Kl':;ckl,''....','....                                                                        'l.    
                                                :0:.,,;dl'... .........                                                                        'l.    
                                                cO;';,;lc,..      .....                                                                       .;l.....
                                                oO,.,,,c:'..          .                                                                      .,dd,,'..
                                                xx..;,,c;''.                                                                             ..,,c:lc.....
                                               .Ol.':;':,.'.        .                                                                ..,,,;:::cxl,,,..
                                               'O:.'c,,c,...                                                                        ..'';:::;:lkc;:::;
                                               :O,.;c,,:,....                                                                     ....;c::,';cdxc:;;;;
                                               lx;,ll,;:;,...                                                                   .....,:;::'';cxx:;,;;c
                                               odclddclcc;....                                                                 ....',.,:'.',;,lc,:cccc
                                              .xxxxOOxxccl;....                                                               ....,;.....'',,;ol:c;,,,
                                              ,kdcdkkkxl:lo:;;;,'....''..                                                    ....,;.....''',;coc;;;;'.
                                              lk:'cc'':dddkxxxxxdoxOxolloc.                                                  ...';'....'...',:l;;,,'''
                                             .xk::o;.....':occoOOlldc;,,;lxl'.                                               ...,;....'....',:l;,''',,
                                             ,Oxcc;....   .:,..,xl;,....':dd:'...                                            ...,,...''....';ll;,'.'',
                                             dKx;'.....  ..''.',do'.....,:ll:'...''.                                        ....,,...,....'';cl;;'',,,
                                            '00dc'....   ....  'kd'.,::cl:','..''''''.                                      ....,,...',...,,';c:;'',;;
                                            l0koc'....   ....  cx::llcc:;;,,........,;;'.                                   ....';'...'''',,';c;''''..
                                          .cOOddl....    .... 'xc':l;,''',;lc'.......'',;;,.                                .....,,....',,,,,,;,..;,..
                                        .oxxkoco:....     ....ll'::'.  ...';ldl;.....   ....,'..                             .....'.....,,',,',;'';;,'
                                      .co,:dklll;...      ...'o::,        ...,:ll:'.     ..  ..'..                           . ....'....,,'..',;;,;;,,
                                     ,xc   :xlol;...     ...':lc;.           ...,:lc,..    ..  ...'..                        ............',,'.,:c:;;,,
                                    .:;.  .lxdoc,'..    ....,ll:...              .'cc;..... ..   ......                       ...........',,;,,;lc;,;;
                                          ,xkxoc;'..  ......;ol;.'.                .;c,..'.... .   ......                     ...........';,,;;cc:,,;,
                                         .lkkdl:;,..........looc;'.............      :c'.........    ......                    ...........',;;;;:::;::
                                        .;dxxol:,''.....,;:oxdxddo:...............   'ol,......'...    .'...                    ........'..',:;':cl::l
                             .....    ..;dxxddoc,,,'..;dxxxxxxdxkxc...................'lo:......''''..  ..''..                   .......''...'..;:c::l
                         ............,:lodddxxdlc;,,'ckO0kxkdllooc'.......''''..........';;.   ...''''.. ..''..                    .....''......,,,,,,
                       ............;llllooooxkdll,.,;:xxkxdo:;;,,'.......'',,,''....................,'''....',,..                   ...'',,..  .'''',,
                      ...........;loolcodolclddlc:;,:::;,,,.'',,;;,'.....',;;;,''............  ..  ...,,'''..',;'.                    ..,;'.   .''',;:
                    ...........,loooooodxdc::::;:looll:,....,,'',;:;'....';;::;,'...........           .,,,'..',;'.                     ... ....''',,:
                    .....''''',ooooodddolc;;;ccccodolc;'....,',,,;:;;'..',;::::;,.........'....          .,::,',;:'.                  ......:lc:;,',,;
                   .....','',:oxdool:;:c:,,,,clllodol:;,'...',,,'',;::,,,,;:cc:;,,'........,'..          ..;lolcccc,...          ... ..',;:loxxdl:.'',
                  .....',,clloxddol'...,,,,',cccloool:,,,'..''','':oxxdollllllc;;,'.........;,'......   .,odoodolodl,......   .....';:clodxdooc,;:''';
                  ....'',lkdoooolcc;'.',,,,,:::clllllc,,;'.....,ldkxxdlcccccllol:;''........',''.. ..  .'ll;'.'lc,:c;,,;;;;,;::lll:cc:cldodd:;;::c;::c
                 ....'',;okdlc;,,'''..',,,,,;;c::ccloc,.',:;,;okkxxxxdloddolooolc:;'.........'.''.... ..::......::;:,..';:clccclool:;,,;cllo:;:ccc;;;;
                 ....',,,;;;,'........,',,,,;ccccccll:;.;loodk0Okkxddlllodddolloocc;............'.... .;:,.......cclllcc::::;;',ccllcc:::ccoocllll;;:c
                 ....',,,,,,'.........,',,,,;ccc::col:;;ccldkO00kxdlollllldxxolllccc,. .........''... .;;,......'ldxxolccc:,...'::cclccllolloodlodclod
                                                dKK0kd:ll;.......   .                                                                          .:l    
                                                cK0kkkdlc:,......   ..                                                                         ':l    
                                                ;Kk:odxxc:;'...''......                                                                        .::    
                                                ,0d,cllxl:;''..';,'....                                                                        .:,    
                                                ;0l':;:kl,''....','.....                                                                       .c'    
                                                ;0c.,,,ol,..  ..........                                                                       .l.    
                                                :0:';;,lc,..       ....                                                                       .,o.....
                                                lO,.,,,cc'..                                                                                 .,dd,'''.
                                                dx..;,'c:''.                                                                            ...,;c:lc.....
                                               .kl..:;':;.'.        .                                                                ..,,,;::ccxo,;;'.
                                               .O:.'c,,c,....                                                                      ...'';::;,:lkl;;::;
                                               ,O;.,l,,:,'...                                                                     ....:c::,';cdkc;:;;,
                                               cx;,co,;:;,...                                                                  ......,:::;'';:dx:;,;:c
                                               odlcdxcocl;'...                                                                 ....',.,;'.',;,lc,:cccc
                                              .xxxxOOkxccl;....                                                               ....,;.....'',,;ol::;,,,
                                              'kd:oxkkxl:co:;,;,'.....'..                                                    ....,;.....''',;:oc;;;,'.
                                              ckc.cc'.;dddxxxxxxdoxkxolllc.                                                  ...,;'....'...'':l:;,,'''
                                             .dk:co;.....':occoOOlcoc;;;;cxl,.                                               ...,;....'....',cl;,'',,,
                                             'Okcc:....   .:;..'xo;,....';dx:'....                                           ...,,...''...'';cl;,'.'',
                                             lKx:'.....  ...'.',dd,.....,;ll:'...''.                                        ....,,...,....',;cl:,'';;;
                                            .O0dc,....   ....  .xd'.,;:cl:','..''''''.                                      ....,,...',...,,,;c:;'',;;
                                            cKkol'....   ....  ;x::llcc:;;,,........,;;'.                                   ....';....','',,,;c,''''.'
                                          .:OOddl....     ... .xc':c;,''',;cc'........',;;,.                                .....,'....''',,,,;,.',,..
                                        .lddkdcoc....     ....co,::'.  ...',ldl,.....   ....,'..                             .....'.....,,'',',;'';;,'
                                      .:o,;dkocl;...      ...'o:;;.       ...,:ll:'..    ..  ..'..                           . ....'....,,'..',;;,;;,,
                                     'dl.  ;dlol;...      ..':l:;.           ...,:cc,.     ..  ...'..                        ............',,'.,:c:;;,,
                                    .::.  .lxddc;'..    ....,ll:'..              ..cl:....  ..   ......                       ...........',,;;,;lc;,;;
                                          'dkxdc;'... ......,ol:.'.                .;c,....... .   ......                     ...........';,,;;cc:,,;;
                                         .ckkdl:;,..........cooc,'.............      ;c,........ .   ......                    ...........',;;;;:::::c
                                        .;dxxol:,,'.....,;:oxxxddo:...............   'ol,......'...   ...'..                    ........'..',:;,:cl::l
                             .....     .;dxxddoc,,,'..,oxxxxdxxxxxl.................. .lo:......''''..  ..''..                   .......''...'..;:c::l
                         ............';codddxxdlc;,,':kO0kxxdolooc'.......''''..........,;;.   ...'','.. ..''..                    .....''......,,,,,,
                       ............,llllooooxkdll,.,;:dkOkdo:;;;,'.......'',,,''...................','''.....,'..                   ....',,..  .'''',,
                      ...........,coolcoddlclddlcc;,:c:;,;,'.',,,;,'.....',;;;,''................   .',,'''...,,'.                    ..,;,.   .''',;:
                    ...........'coooolodxdc:c::::lolll:'....,;''';:;'....';;::;,'........... ..       ..',,,'.',;,.                     ... ....''',,:
                    .....'''..'odloodddolc;;;cccclddlc;'....',,,,;:;;,..',;::::;,..............          .'::,',;:,.                   .....:lc:;,',,;
                   .....'''',;oxdoolc::c:,,,':llcoddl:;,'...'',,,',;::;,,,;:cc:;,,'........,'...         ..;lolcccc,.            ... ..',,:loxxdo:''',
                  .....',,:clodddol,...,,,,',cclloool:,,,'..''','':oxxdollllllc;;,'.........;;'.   ..   .,ldooddlodo;.....     .....,:clodddooc,;:''',
                  ....'',lkxoooollc;'.',,,,,:::cllcllc;,;'....';ldxxxdlc:cccllol:;''........',''.. ..  .'ll:,.'cc,:c:,,;;;,,;::lllccc:clooddc;;:::,::c
                 ....'',;okdoc;;,,,,..',,,,,;;c::ccloc,.',:;,:okkxxxxdooddolooolc:;'.........'.''.......::......;:,:;..';:llcccloolc;,,;clllc;:lcl;;;;
                 ....',,,;;;,'........'',,',;ccccc:llc;.;loodk0Okkxddlllodddollolcc;............'.... .;:,.......cclolcc::::;;',cclccc:;:cllollllo:;:c
                 ....',,,;,''.........,',,',;ccc::col:;;ccldxO0Okkdoollllldxdolllccc,. .........''... .;:,.......cddxxocc::,'..'::cccccclooooodolollod
                                                lXK0Odccl:'......   .                                                                          .:l.   
                                                ;K0kkkxol:,....'.   ..                                                                         .:l    
                                                ,Kk:oddklc;'...',... ..                                                                        .:c    
                                                '0d,:lcko:;,....,,'.....                                                                       .;,    
                                                '0o';:;xo,''.....''...'.                                                                       .c,    
                                                ,0l.,;,ll;..   .......'.                                                                       'l.    
                                                ;0c,,;,cl'..       .....                                                                      .,d'....
                                                cO;.,,,:c'..          .                                                                      .,dx,''..
                                                ok..;;'::''.                                                                            ..';;::lc.....
                                                xo..:;':;''.        .                                                                ..,;,::;:cxo,;;,'
                                               .Oc.'c,':,....                                                                      ..'',;:c;;clxl;;;;;
                                               'O:.,l,,:,'...                                                                     ....:c::;';cdkc;:;;,
                                               :x:;co;;::,'..                                                                  ......,:::;'';:dx:;;:cl
                                               ldlldxcoll:'...                                                                 ....',.,;'.',,'lc,:cccc
                                              .dkxxOOkkccl:'....                                                              ....,;.....'',,:ol::;,,'
                                              'ko:oxxkkl:co:;,;;,........                                                    ....;;.....''',;:ol;;;,'.
                                              :Oc'cl'.;oddxxxxxxdodOxollll.                                                  ...,;'....'...',:l;,,'',,
                                              oOc:o:.....';dllok0lcdc;;;;cxl,.                                               ...,;....'....';cl;,''',,
                                             .OOc::.....  .;;'..dd;,....';oxc''...                                           ...,,...''...'';cl;,'.',,
                                             cKk:'.....  ...'.',od,.....,;cl;'...''.                                        ....,,...,....',,:l:,'';;;
                                            .k0dc,....   ....  .dx,.';:cc:','..'.''',.                                      ....',...''...,,';c:,'',;;
                                            ;KOdl'....   ....  ,xc:llcc:;;,,........,;;'.                                   ....';....',''',,::,...'.'
                                          .:k0xdl'...     ... .dc':c:,''',;cc'.......'',;;'.                                .....,'....'''',,,,,..;,..
                                        .cdxkococ'...     ....:o,::'.  ...',ldl,.....   ....,,.                              .....'.....,,.',',;'';;,'
                                       ;o;;dkolo;...      ....lc:;.       ...;:ll:'..    ..  ..'..                           . ....'....,,'..',;;,;;,,
                                     .do.  ;xlol;...      ...;l::.           ...,;cc,.     ..  ...'..                        ............',,'.,:c:;;,,
                                    .c:.   cxdoc;'..    ....'ccc'..              ..:l:....  ..    ...'.                       ...........''';;;;lc;,;;
                                          'dkxdc;'... ......'ll:.'.                .;l,....... .   ......                     ...........';,,,;cc:,,;;
                                         .:xkdoc;,..........:ooc;'.............      ;c,........ .   ......                    ...........',;;;;:::::c
                                         ,dxxdlc,,'.....',:oxxxdoo:...............   .ol,......'...   ...'..                    ........'..',:;,:cl::l
                             .....    ..,oxdxdoc,,,'..,ldddxdxxxkxl....................co:. ....''''.   ..''..                   .......''...'..;:c::c
                         ............';codddxxdlc;,,':xk0Oxxxooool'.......''''..........,::.   ...'','.. ..''...                   .....''......,,,,,,
                       ............'clllooooxkdll,.,,:xkOkxdc;;;,''......'',,,''...............  ..','''.....,'..                   ....',,..  .'''',,
                      ...........,coolclddlloddlcc;,:c:;;;,'.',,;;;'.....',;;;,''................ . ..,,''....,,,.                    ..,;,.   .''',;:
                    ...........'coooolldxdcc::c::lolllc,....,;''';:;'....';;::;,'..............       ..',,,'..';,.                     ... ....''',,:
                    .....'''..'ldooodddoll;;;cccclddlc;,....',,,,;:;:,..',;::::;,..............          .'::,',,:,.                   .....;ccc;,',,;
                   .....'''',;lxdooocc:c:;,,':llcoddl:;,'....,,,,',;::;,,,;:cc:;,,'........,'...         ..;colcccl,.            ... ..'',:coxxdoc''',
                  .....',,;cloddool,...,,,,',cclloool:,,,'..''','':oxxdollllllc;;,'.........;;..   ..   .'ldddddoloo;'....    ......,:clodddooc,,:''',
                  ....'',ckxooddolc;'..,,,,,:::cllcllc;,,'.....,ldxxxdlc:cccllol:;''........',,'.. ... ..co:,..:c,:c:,,;;;,,,;:cllccc:ccooddc;;::c,;:c
                 ....'',;okdoc:;,,,,'..,,,,,;;c::ccloc,'',::,;lkkxxxxdooddolooolc::'.........''',. ... .::'.. ..;:,:;'.';:clcccloolc;,,,cllol;:lll;;;;
                 ....',,,;::;'........',,,',;ccccc:llc;.,coodk0Okkxddollodddolloocc;'...........''... .,:,.......:ccolcc:::;;,,,:cllcc:;:cclolcllo:;:c
                 ....',,,,,,''........',,,',;ccc::col:;':cldxO0kOkdloolllldxdolcolc:,. .........''... .;:,......'cddxxdcc:;;'..';:ccccc:colododolollod
                                                cKK0Oxlcl:'......   ..                                                                         .:o.   
                                                ,K0xxkxdl:,'...'.   ...                                                                        .:o.   
                                                '0kcldoxoc:'...',......                                                                        .;c    
                                                .0x,:l:xo:;,'...,;'.....                                                                       .,,    
                                                .0o',:;dd;.'.....,......                                                                       .c;    
                                                '0l.';,co;..    ........                                                                       .o'    
                                                ,0l,,;,:l,..       .....                                                                      .;d'....
                                                :0;.,,,:c'..          .                                                                     ..,dx;''..
                                                lk'.,;'::'..                                                                            ..,;;::ll'....
                                                dd..:;':;''.        .                                                                ..,;,::;:cxo;:;,'
                                               .kl..c;':;....                                                                      ..'',;::,;clxl;;;;;
                                               'k:.'l;,:,'...                                                                    .....:c::,';cdkl;:;;,
                                               :k:;co,;::,'..                                                                  .....';;::,'';:od;;;:cl
                                               cxlldxldll:'...                                                                 ....',.,;'.',,'ll;:c:::
                                              .oxxxOOkkc:l:'....                                                              ....,,.....''',;oo::;,''
                                              .kd:lxxkxl:co:;,;;,........                                                    ....;;.....''',;:ol;;;,'.
                                              ;kl'cl'.,odoxxxxxxdodOxoollc'                                                  ...,;....'....',:l;,,''',
                                              lOcco:.....';dllok0ocdc:;,;cxo,.                                               ...,;....'....';cl;,''',,
                                             .OOc::.....  .,:'..od;;....';oxc'....                                           ...,,...''...'';cc;,'',,,
                                             ;0Oc'.....  ...'.''ld,.....,;cl:'...''.                                        ....,'...,....',,:c:,'';;;
                                            .x0xc,....   ....  .ox;.';:clc,''..'.''''.                                      ....,,...',...,,,;c;,'',;;
                                            ;KOdl,....    ...  'xc:clcc:;;,,........';;'.                                   ....';....',''',,::,..''..
                                          .;x0xdo'...     .....ol,;l:,'',,;cl'.......'',;;'.                                .....,'....''',,,',,.';,..
                                        .:dxkdco:'...     ....:d;;:,.  ...',ldl;.....   ....,,.                              .....'.....,,.',',;,';;,,
                                       ,o:;dkolo;...      ....lc;;.       ...;:ol:'..    ..  ..'..                           . ....'....,,'..',;;,;;,,
                                     .lo.  ,xlol;...     ...';lc:.           ...,;cc,.     ..  ......                        ............',,'',;c:;;,,
                                    .cc.   cxddc;'..    ....'ccc'..              ..:c:'...  ..    ...'.                       ...........',',;;;lc;,;;
                                          .dkxdc;'... ......'ll:.'.                .,c;....... .   ....'.                     ...........';,;;;cc:,,;;
                                         .:xkxo:;,..........:ooc;'.............      ,c,........ .   ......                    ...........',;;;;:::::c
                                         'oxkdlc,,'......,;lxddddl;...............   .ol'......'...    ..'..                    ........'..',:;':cl::l
                             .....     .'oxxxdoc,,,,..'ldxxxxxxxkkl.................  .co:. ....''''..  ..''..                   .......''...'..;;:::c
                         .............,coddoxxdlc;,,';xO0Oxxxooool,.......''''..........;:c.   ...'','.. ..''..                    .....''......'',,''
                       ............'clllooooxkdll,.,;cxkOkxdc:;;;''......'',,,''...............  ..','''.....,'..                   ....',,..  .''.',,
                      ...........':lolclddlllddol:,,:c:;::;'.',,;:;'.....',;;;,''................ . ..,,''....,,'.                    ..,;,.   .'''';:
                    ...........':looolldxdcc::c::colllc,....,,''';:;,....';;::;,'..............       ..',,,...';,.                     ... ....'.',,;
                    .....'''..'cdllooddool:;;ccc:lddlc:,....',,,,;:;:,..',;::::;,..............          .';:,',,:,.                    ....,llc;,,'';
                   .....'''',,lddooolccc:;,,,:llclddl:;,'....,,,,',;::;,,;;:cc:;,,'........'.. .         ..;colcccc;..            ..  .'',:cldxxol'..,
                  .....',,;:lldddll;...,;,,',:lcloool:,,,'..'''''':oxxxollllllc;;,'.........,;'.   ..    .ldddddoloo:'....     .....';clodddodl;':''',
                  ....'',cxxooddolc,'..,,,,,:::cllclll;,,,.....,ldxxxdlcccccllll:;,.........';,'.. ..  ..coc,..:c,:cc,,,;;,,,;;cllcccccclodxl;;::c,;:c
                 ....'',;oOdolc:;;;;,.',,,',,;cc:cllll;'',::,;lkkxxxxdooddoloollc:;'.........''',....  .::'.....,:,;:'.';:clcccloolc;,,,:llol::cll;;;;
                 ....',,,;::;'........''',',;:ccc::loc;',loodk0Okkxddollodddooloocc;'...........''.. ..,:,.......:ccollc::::;,,,:clllcc:;cclolcloo::::
                 ....',,,,,,'.........''',',;:c::::ol:;':cldxO0kOkdlollolldxdolcoll:,...........''.. ..,:,.......:xdxxocc:;;'...;:cccccccllododlloclod
                                                ;K0K0xlclc,......   ..                                                                         .;l.   
                                                '00xdkxdlc;'......   ..                                                                        .;l.   
                                                .0O:cdlkoc:,...','.. ..                                                                        .;c.   
                                                .Ox,;l:xd:;,'...,;'.....                                                                       .,,    
                                                .Od',:,oo;''.....''.....                                                                       .c;    
                                                .0o'';,co;...   . ......                                                                       .l,    
                                                '0l,,;,:l,..       .. ..                                                                      .,d,....
                                                ,0:.';,;c''.          .                                                                     ..;dk:''..
                                                cO'.,;';c''.                                                                            ..,;;:;ll'....
                                                ox'.;;';;...        .                                                                ..,,,::;:cxd;::;,
                                               .kl..:;':;....                                                                      ..'',:::,,clxl;;;;;
                                               .kc.'l;,:;'...                                                                    ....'::::,';cdOo:;;;;
                                               ;k:;:o:;:;;'..                                                                  .....',;;:,.';:od;,:ccl
                                               cxlldxodllc,...                                                                 ....''.,;..,,,'cl;:::::
                                               lxkxOOkkc:cc'....                                                              ....;,.....'',,;oo::;,''
                                              .kx;lddxxl::oc;,,;,........                                                    ...';;....'''.,;:ol;,,,'.
                                              ,Ol':l'.,ldoxxxddxxodOxolcll,                                                  ...,;....'....',:l;''''',
                                              cOl:o:.....';oocox0d:dc:;,;cdd;.                                               ...;,....'....';cl;,''',,
                                             .x0l:;....   .,:...ld,,....';lxl''...                                           ...,'...'.....,;cl;,'',,,
                                             ,0Oc'.....  .....''cx;.....';cl:'...''.                                        ....,'...,....',,:c:,'';;;
                                             dKxc,....   ....  .lk;.';:clc,',..'.''''.                                      ....,,...',...,'';c;,'',,;
                                            ,00dl,....    ...  .xl;llcc:;;,,........';;'.                                   ....';....''''',;;:,..''..
                                           ,x0kdo'...     ... .ll,;l:,'',,;cc,.......',;;;'.                                .....,'....''',',',,.';,..
                                         ;odkxclc'...     ....;d;;c,.  ...',ldl;.....   ....,,.                              .....'.....,,..,',;,';;,,
                                       'o:;dkdco:...      ....lc;:.       ...;:ol:'..    ..  ..'..                           . ....'....,,'.'.,;;,;;,,
                                     .cd.  ,xolo;'..     ...',l::.           ...,;cc,.     ..  ......                        ............',,'',;l:;,;,
                                    .cl,   :xddc;'..   .....'clc'..              ..:l:'...   .    ...'.                       ...........',,,;;;lc,,:;
                                          .okxdc;'..  ......'llc''.                .,c;....... .   ....'.                     ...........';,;,;cc:,':;
                                         .;xOxoc;,..........;doc,'. ...........      ,c;..........   ......                    ...........',;;;;:::::c
                                       . 'okkdoc,,,......';cxxxdol;...............   .lo,...........   ..''.                    ........'..',:,':cl::l
                             .....   . ..lxxxdoc;,,,...codxxdxxxkko'...................co:. ....'''...  ..''..                   .......''......,;:::c
                         ......... ...,:oddoxxdlc;,,';xk0Oxxxooodo,.......''''..........;:c'   ...''''.. ..''..                   ......''......'',,''
                       .............:lllooooxkdll,.';cxkOkxdl;;;;,'......'',,,''...............  ..','''.....,'..                   ....',,..  .''.',,
                      ...........':lolcloolloddol:,,:c::::;,'',,;;;'.....',;;;,''.....................,,'''...,;'.                    ..,;,.   ...'';:
                    ............:ldollloxdlc::c::lolclc,....,,''';::,....';;::;,'..............    .....',,,...';,.                     ... .....'',,;
                    .....'''..':ooloodddol:;;ccc:lxdlc;,'...',,,,;:;:,..',;::::;,..............          .';:,',,:,.                    ....,ccc;,,'';
                   .....''''',cddoooolllc;,,,:clclddl:;,'....,,,,',;::;,,;:ccc:;,,'........'..            .,colcccc;.             ... ..',:cldkxol'..,
                  .....',,;:cldddoo;...,,,,',:lllodol:,,,'..'''''':oxxxolllllll;;,'.........,;'.   ..    .cddoddoloo:'....     .....';clodxdooo;,:,'',
                  ....'',:xdooddolc,...,,,,,;::colclll;',,.....,ldxxddlcccccllll:;,..........;,'.. ...  .co:,'.:l,;cc;,;;;,',;;:loc:lc:clodxo:;::c;;:c
                 ....'',;oOdolc:;;;;,..,,,',;;:c:cccol;'',::,;lkkxxxxdloddoloollc::'...... ..''.'..... .;:,.. ..,c,,:,.',:cllccloolc;,,,:loll:;cll:;;;
                 ....',,,;cc:,........''',',;:c:cc:loc:''coodk0Okkxddollodddoololc:;'...........''.. ..':,.......,lcollc::::;,,,;clllcc:;:clolllooc;;c
                 ....',,,,;'''........''',',;:c::::ol::';cldxO0kOkdlollllldxxolcllc:;...........''.....,:,.......;ddxxoccc;;'...;cccclcccloodooololcod
                                                ,0K00koccc,......   ..                                                                          ;l.   
                                                .00dokxxlc:,......   ..                                                                         ,l.   
                                                .OOc:dlxdc:,'..','.. ...                                                                        ,l.   
                                                .Ox;;l:dx:;;'...';'.....                                                                       .,,    
                                                .Od,':,ld:.'.....'......                                                                       .::    
                                                .Oo'';,:o:...     ......                                                                       .l,    
                                                .0l'';,;l,'.       .. ..                                                                       ,d,....
                                                ,0:.';,;c,'.                                                                                .';dk;'''.
                                                :O,.,;';:''.                                                                           ...,:;:;ll,....
                                                lk'.;:,;;'..                                                                         .',,,::;:cxd:::;,
                                                do..:;':;'...                                                                      ..'',:::,;clko;;;;,
                                               .kc''l:'::,...                                                                     ...'c:::,';cdko;;;;;
                                               ,k:;:o::::;'...                                                                 .....',;::,'';:ld;;:cll
                                               :xoloxodllc,...                                                                 ....,'.,,..,,,'cl;:::::
                                               lkxxOOOkc:cc'....                                                              ....;,.....'',,:oo::;,'.
                                              .xx,cddxxoc:oc;,,;,........                                                    ...';;....'''.,;:ol;,,'..
                                              'ko,cl,.'ldoxxxddxdookxolcll,                                                  ...,;....'....',:c;'''',,
                                              :0lco:.....';oocox0dcol:;,;cdd;.                                               ...;;....'....';cl;''',,,
                                             .x0l;:....    ,:'..lx,;....';lxl,'...                                           ...,'...'.....,;cc;'.,,,,
                                             ,OOc'.....  ......,cx;.....';:l:,...''.                                        ....,'...,....',,;c:'.';;;
                                             oKkl;....   ....  .ck;.';::lc,''..'.''''.                                      ....,,...',...,'';c;,'',,;
                                            .O0xo,....    ...  .dl:cccc:;;,,'.......',;'.                                   ....';....'''''';;:,..''..
                                           'x0kdo'...     .... co,;l:,,',,,:c,.......',;;;'.                                .....''....''',',',,.';,..
                                         ,oxkxcoc'...     ....,d:;c,.  ...',cdl;.....   ....,,.                              .....'.....,,..,',;,';,,,
                                       .lc;dkdco:'..      ....cl::.       ...;:ol;'..    ..  ..'..                           . ....'....,,'.'''::,;;,,
                                      :d'  ,dooo;'..     ...',lcc.           ...,;cc,.     ..  ......                        ............',,'',:l:;,;,
                                    .ll;   :xddl;'..   .....':lc,..              ..:l:'...   .    ...'.                       ...........',,,;;;lc,,;;
                                          .oxxdc;'...  .....'llc''.                .,l;....... .   ....'.                     ...........';,;,;cc:,,:;
                                          ;xkxoc;,..........,ooc,'.............      'c;........ .   ....'.                    ...........',;;;;:::::c
                                         .okxdoc,,,......',:ddxdol;...............   .ll,...........   ..''.                    ........'..',:,':clc:l
                             .....      .cxxxdoc;,,,...:odxkxxxxkxd'................. .co:......'''...  ..''..                   .......''......,;:c;:
                         .............,:lddoxxdlc;,,',dkOOxxxooodo;.......''''..........;:c'   ...''''..  ..'...                  ......''......'',,''
                       .............:lllooooxkdll,.';ckkOkxdl:::;,'......'',,,''...............  ..'''''.. ..,'..                   ....',,... ....',,
                      ............;lolclodlclddol:,,:cc:c::,'',,;:;'.....',;;;,''.........  ....... ..,,.''...,,,.                    ..,;,.   ....',:
                    ............;looolloxdlcc:c::colclc,....,;''';::,....';;::;,'..............       ..,,,'...';,.                     ........'.',,;
                    .....'''...:olloodddol:;;ccc:cddlc;,'...',,,,;:;:,..',;::::;,..............          .';:,'',;;.                      ..,:lc:,',,;
                   .....''''',:ddoodolllc:,,';llclddoc;,,....,,,,',;::;,;;::cc:;,,'........'..            .,colcccc;.                 ..',:cloxxol,..,
                  .....',,,;:ldddoo:...;,,,'':lllloolc,,,'..'''''';oxxxolclooll:;,'.........,:'.   ..    .cdoddxooooc,....     .....';clodxdood:':,'',
                  ....'',:dxooddooc,...,,,,,;c:cllllll;',,.....,ldxxddlcccclllllc;,....... ..;,'.. ...  .:oc;'.;l;;cc:,,;;,',;;;clcccc:clodxo:;::c;;:c
                 ....'',;oOxolcc::::;..,,,',;;:c:cccll;'',;:;;lkkxxxxdloddollollc::'...... ..''.'..... .;:,.....'c,,:;.',:cllcclodoc;,,,;lloo:;ccl:;;;
                 ....',,,;ll:,........''',',;:c:cc:loc:''clldk0Okkxddolloddoollloc::'...........''... .':;.......,c:lolc:::;;,,,;clllcc:;:ccolllloc::c
                 ....',,,;,''.........''',',;:c:c;;lo::';cldxkKkOkdlollllldxxdlclcc:;............'... .';,.......,ddxxdccc;;'...,cccclcccloldooocolcld
                                                .K00OOdlcc;'.....   ...                                                                         ,l'   
                                                .O0dokxkoc:,......   ..                                                                         'l.   
                                                 kO::dlxdc:,...',,.. ...                                                                        'l.   
                                                 kk;,c:dxc,,'....;,.....                                                                       .,,.   
                                                 kx,';,cd:'......'......                                                                       .::    
                                                .ko'';';o:...      .....                                                                       .c;   .
                                                .Oo,';,,l,'.       .. ..                                                                       ,d:....
                                                '0c.';,,c,'.                                                                               ..':dk:''..
                                                ;0;.':',:'..                                                                           ..',:;;;lo,....
                                                ck'.,:';;'...                                                                        .',',::;:cxd:::;,
                                                dd..::'::'...                                                                      ..'',:::,,clko;;;;,
                                               .xl.'c:'::,...                                                                     ...,::;:,',cdOo;;;;;
                                               'xc::dc:::;....                                                                 .....,;;::,'';;ld;,ccll
                                               ;xoloxodllc,...                                                                 ....,'.,,..',,'co;::;:;
                                               lkxxOOOkc;cc,....                                                              ...';'.....,',;;od::;,'.
                                              .dx,:dddxoc;lc;,,,,........                                                    ...';,....''..';:ol,,,'..
                                              'ko':o,.'lxodxddddxookkolccl,                                                  ...,;....'....',:c;'''',,
                                              :Oococ.....',oocoxOx:do:;,,:dd;.                                               ...;,....'....';cl;''',,,
                                              d0o;;....    ,:'..cx;;....';lxo,'...                                           ...,'...'.....,;cc;'.,,,,
                                             .OOl'.....  .....'':k:.....';:lc,......                                        ....,'...,....',,;c:,',;;;
                                             l0kl,....   ....  .:O:.';;:lc,''....''''.                                      ....',...',...'',;c;''',,,
                                            .O0xo,....    ...  .oo;cccc:;;,,'.......',,'.                                   ....';....'''''';,;,..''..
                                           .d0kdo,...     .... :o,;lc,,,'',:c,......'',;;;'..                               .....''....''''',',,.';,..
                                         'odkxloc'...     ....'d:;c,.  ...',cdl;.....    ..',,.                              .....'.....''..,',;,';,,,
                                       .cl:dkdco:'..      ....cl;:.       ...;:ol;'..    ..  ..'..                           . ....'....,,'.''';:,;;,'
                                      ;d,  'xooo;'..     ...',lc:'           ...,;cc;.    ...   .....                        ............',,'',:l:;,;,
                                     co;.  ,xddl;'..   .....':l:,..              ..;l:'...   .    .....                       ...........',,,;;:lc,,;;
                                          .lkxdc;'...  ......clc''.                .,c:....... .   ....'.                     ...........';,,,;c::,,:;
                                          ,xOkoc;,..........,ool,'.............      'c;'.......     ....'.                    ...........',;;;;:cc::c
                                         .lkkdoc,,,.......,;dxddol,...............    ll;...........   ...'.                    ........'..';:,';cl::l
                             .....      .cxxxdoc;,,,...;lddxxxdxkxd,................  .cl:.......''...  ..''..                   .......''..'...,;cc::
                         .......... ..';lddddxdlc;,,',dkOOxxxooodd;.......''''..........,cl,   ...''''..  ..'...                  ......''......''',''
                       .............:cclooooxkdll;.';:xkOkxxo:::;,'......'',,,''...............  ..'''''.. ..,'..                   ....'',... ....',,
                      ............,lolccodlcldxol:,,:cc:cc:;.,,,;;;,.....',;;;,''........... .........,,.''...,,,.                    ..,;,.    ...';:
                    ............;looolcoxdlcc:c::colclc,....,;'',;;;,....';;::;,'..............       ..,,''...',;.                     ...  ...'.',,;
                    .....'''...;oollodddooc;;::cccddlc;,'...',,,,;;;:;..',;::::;,..............          .';;;'',:;.                     ...':lc:,''';
                   .....'''''':ddoooooolc:,,';clclddoc;,,....,,,,',;:c;,;;::cc:;,,'........'..            .,colc:cc;..                ..',;cldxxol,..,
                  .....',,,;:cddooo:..';,,,',:lllloolc;,,'..'''''';oxxxolclloll:;,'.........,;'......    .:dodddolodc,....     .....';clooddood:':,'',
                  ....'',;oxooddooc,...,',,';c:cllllol;,,,.....,ldxxddocccccllllc;,..........,,'.. ...  .:oc;'.;l;,cl:;,,;,,,,;;col:ccccloodd:;::c;;::
                 ....'',,oOxollcc:::;..,',,';;:c:cccll;'',;:;;lkkxxxxdloddollollc::'..........'.'..... .,:,.....'c,,::'',:cllclcoooc:,,,;lloo:;cll:;;;
                 ....',,,:ol:;'.......',',',;:c:cc:loc:''clldk0Oxkkddolloddooolloc::'............'... .':;.......'l:lolc::::;,,';cllllc;;:ccolclool::c
                 ....',,,;,,'.........',',',;:c:c:;lo::',cldxkKkOkdloolllldxdolclcc:;............'... .':,'......,ldxxdccc;,,...,cccclcc:coldooololcld
                                                .O00kOxocl;'.....   ...                                                                         ,l'   
                                                .k0dlkxkol:,......   ..                                                                         'l'   
                                                 xOc;dldxl:;'..',,......                                                                        'l.   
                                                 xk:,c:okl,,'....;,.....                                                                       .,,.   
                                                 xk;.;':dc'.............                                                                       .:c.   
                                                 xd,';';o:'..      .....                                                                       .c:   .
                                                .Od'.;,,l;'..       ....                                                                      .,x:....
                                                .Ol..;,,c,'.                                                                               ..,;oO;''..
                                                ,0;.':,,:'..                                                                           ..',;::;lo,'...
                                                :O,.,:,,:'...                                                                       ..',,,:;;:cdd;;:;,
                                                ox'.::';:'...                                                                     ....,;::;,,clko,;;;,
                                               .xl''cc'::,...                                                                    ....,::;;,',cdko;;,;:
                                               .xc::dc:::;'...                                                                 .....';;::,'';;co;;cllc
                                               ,xollxdxocc;....                                                                ....,'.,'.',,''cd:::;;;
                                               ckkxk0kkc;:c,'...                                                              ...';'....',',;;od:;;,'.
                                              .dx,;dooxoc;lc;,,,,........                                                    ...':,....''.'';:ol,,''..
                                              .kd,:l,.'cxodkdddddookkdoccl;.                                                 ...;,....'....',:l;'.',,,
                                              ;0dcoc.....',ooloxOx:oo:;,,:ox:..                                              ...;,....'....';cl;''',,,
                                              o0o,;'...  . 'c'..:k;;'..'.,cxo;'...                                           ..','...'.....,;cc;'.,;,,
                                             .O0l'.....   .....,:k:......,:lc,....'.                                        ....,'...,....',;;c:'',;;:
                                             :0ko;....    ...  .;O:..;;:lc;''.....'''.                                      ....,'...',...'',;:;'.''',
                                            .k0xd;....    ...  .od;cccc:;;,,'.......',,'.                                   ....',....'''''';,;,..'...
                                           .oKOdo,....    .... ,d,,lc;,,'',:c,.......',;;;'.                                .....''....''''',',;'';,..
                                         'ldkkllc'...     ....'oc;c;.  ...'':ol,......   ..','.                              .....'.....''..,',;,.;,,,
                                       .cl:dxxco:'..      ....:o;:.       ...,col:'..    ..  ..'..                           . ....'....,,'.'''::,;;,'
                                      ,d;  'dolo;'..     ...''lc:'           ...,;cc;.    ...  ......                        ............',,'',:lc;,;,
                                     cdc.  ,xddl;'..   .....';lc,..              ..;c:'...   ..   ...'.                       ...........',,,;;:lc,,;;
                                          .lkxdl;'...  ......clc''.                .,c:....... .   ....'.                     ...........';,,,;cc:,;:;
                                          'dOkoc;,.........''ool,'.............      .c:'.........   ....'.                    ...........',;;;;:cc::c
                                         .lkkdoc,''.......';oxddol,...............   .cl;...........   ...'..                   ........'..';:,';cl::l
                             .....      .:xxxdoc;,,,'..,codxxxddkxd,................  .:l:......'''...  ..''..                   .......''..'...,;::;;
                         ..............;cddddxolc;,,',okOOxxxdoodd:.......''''..........,ll,   ...''''..  ..'...                   .....''......''','.
                       .............;cclooooxkdll;.';:xOOkxxoc:::;'......'',,,''.............    ..'''''.....,'..                   ....'',..  .....,,
                      ............,colccoollodxolc,,:ccclcc;'',';;;,.....',;;;,''..........    .......,,.''...',,.                    ..,;,.    ...',:
                    ............,cloolcoddlcc:c::colccc,....,,'',;;:;....';;::;,'..............    .....',''....,;.                     .... ...'.'',;
                    .....'''...;lolloooddoc:;:::c:xdcc;,'..'',,,,;;;;;..',;::::;,..............          .';;;'',;;.                     ...';ccc;,'',
                   .....'''''';ddoooooolc:;,';lcllddoc;,,....,,,,',;:c:;,;::cc:;,,'........'.. .        . .,colc::c:'.                ..',;:loxkoo;..'
                  .....',,,;:cdxdooc'.';,,,',:lllloolc;,;'..'''''';oxxxolllooll:;,'.........,;'......    .;dddddooool,....      .....,:cloxdoodc':;'''
                  ....'',;lddoddooc,...,,,,';c:cllllol;,;,.....,ldxdddoc:cccllllc;,....... ..,;'.. ..   .;ol;'.,c:,:l:,,,;,'',;;cll:clc:cooddc;::c:;::
                 ....'',;oOxollccccc;..,',,';;:c:cccll;'',;:;;lkkxddxdooddollollc::,..........'.'.... ..,:,......c;'::'',:cllcccoooc:,,;;cloo::cllc;;;
                 ....',,,:olc;'.......',',',,:c:cc:loc:'':lodk0Okkxddollodddoolllc::'............'......:;'......'c:colc::::;;,,,cllllc:;;ccollcool:;c
                 ....',,,;,,''........',',',;:c:c:;loc:',cldxkKkOkxooollccoxxdoclcc:;............'... .':;'......'cdxkxc:c;,,...':ccclcc:clldoolloocco
                                                .OKOkOxdlc:'......   ..                                                                         'c,   
                                                 xKdcxdkdc:,'.....   ...                                                                        'l,   
                                                 d0c;ocokl:;'..',;......                                                                        'c'   
                                                 dO:'c;lkl;,'....;,'....                                                                       .;;.   
                                                 dk;.;,;dl,.............                                                                       .;c    
                                                 dx,',,,l:'..      .....                                                                       .c:....
                                                .kx'.;,,l;'..         ..                                                                      .,xc'...
                                                .Ol..;,,c;'.                                                                               ..,;oO:'...
                                                '0;.':,,:,..                                                                           ..';;:;;ld,'...
                                                ;O,.':,,:'...                                                                       ..',,,::;:cdd;;:;,
                                                lx'.;c';:,...                                                                     ...',;::;',clxd;;;;,
                                                do''cc,::,....                                                                   ....,c:;;,',cokl;;;;:
                                               .xl:cdlccc;'...                                                                 .....,,::;,'';;co;;cllc
                                               ,xdllxddocl;....                                                                ....,..,'.',,''cdc::;;,
                                               ckxxk0Okc;;c,'...                                                              ...';'....''',;;od:;;,..
                                               ox,;oooxdc;ll;;,,,........                                                    ...';'....''..';:ol,,''..
                                              .kd,:l;..:dooxdddddookkdoccl;.                                                 ...;,.........';;c;'.',,,
                                              ,0dcol......,ooloxOx:do:;,,:ox:..                                              ...;,...'.....,;cl;''',,,
                                              l0d,,..... . 'c''.;k:;'..'',cdd;'...                                           ...,'...'...'',;:c;'.,;;;
                                             .k0o,.....   .....';kc'.....,:lc;......                                        ....,'...,....',;;c:,.,;;:
                                             ;0ko;....    ...   ,Oc..,;:cc;''......''.                                      ....,'...',...'',;:;'.''',
                                            .xKxo;....    ...   ld:clcc::;,''.......',,'.                                   ....',....'''''';;;,..,...
                                           .l0Odo;....    .... 'd;,cc;,,',,:c,.......',;;;'.                                .....''....''''','';'';,..
                                         .cdkkllc,...     .....oc;c;.  ....,col,......  ...','.                              .....'....'''..,'';,';,,,
                                        :o:oxxco:'..      ....;d;:.       ...,col:'..    ..  ..'..                           . ....'....,;,.'''::;,;,'
                                      'o;. 'dolo;'..     ...''cc:'           ...,:cc;.    ...   .....                        ............',,'',:lc,,:,
                                     :dl.  'xxdl;'..   .....';lc;..              ..;l:'...   ..  ......                       ...........',,,;:clc,,;;
                                      .   .ckxdl;'...  ......clc,'.                .'l:......      ....'.                     ...........',;,,;:::,;:;
                                          'dOkdc:,.........''ool,'.............      .c:'........    ....'.                    ...........',;;;;:cc::c
                                         .cxkxoc,,,.......';oxddlc,...............    :l;...........   ...'..                   ........'..',;,';cl::l
                             .....     ..:dxxdol;,,,'..'cloxxdxxxxd;................  .cl:. .....''...  ...'..                   .......''..'...,;:c:;
                         ..............,cddddxolc;',,'oxOkxxxdooddc.......''''..........,ll;.  ...''''..  ..'...                   .....''......''','.
                       .............,ccllooodkdll;.';:xkOkxxoc:::;'......'',,,''.............    ..'''''.....'''.                   ....'',..  .....,,
                      ............'colcloolllxxdlc,,:cclllc:',,,;;;,.....',;;;,''...........   .......,'.''...',,.                    ..,;,.    ....,:
                    ............':ooolclddlcccc:ccllccc;'...','',;;:;....';;::;,'........... ...........,,''....,;'.                    .... ...'.'',;
                    .....'''...,llllloododc:;:::ccddcc;,'..'',,,,;;;:;..',;::::;,.................      ..';;;''';;.                     ....;ccc;,'',
                   .....'''''.,odoooooolcc;,';clclddoc;,,...',,,,',;:c:;;;:ccc:;,,'........... ...        .,colc:cc:'.                ..'';:lodxdo;..'
                  .....',,,,;:dddooc'.';,,;',:llllodoc;,;'..'''''';oxxxolllooll:;,'.........';'......    .;ododddoool,....      .....,:cloddoodl,::'''
                  ....'',;loooddool,...,,,,';c:cllllol:,,,.....,ldxdddocccccllllc:,..........,;'.. .... .,ol:,.,c:,:lc;,,;,'',;;cll:cl:ccloddc:::::,::
                 ....'',,lOxoolllccc;..,',,';;:c:cccll:'.,;:;;lkkxddxdooddollollc:;,..........,.'.......,:;......:;,;:,',:cllcccoooc:,,;,clldc::llc;;;
                 ....',,,:ddl;,'......',',',;:c:cc:loc:'';look0Okkxdodllodddoolllc::,............'... ..:;'.......c:clll::c:;;,,,:cllcc:;;ccoollool::c
                 ....',,,,,,'.........',',',;:c:c:;loc:',:ldkkKkOkxooxolccoxxdoclcc:;...................:;'......'cxdkxlc::,'...';cclll::clldoollooclo
                                                 xKOdkxxocc'......   ..                                                                         ':;   
                                                 oKx:xdxxlc;'...''.   ..                                                                        ':;   
                                                 l0o,lclkoc;,..'';'.....                                                                        'c,   
                                                 l0c':;:kd;',....,;'....                                                                        ,;.   
                                                 lO;.;,,ol,.............                                                                       .,:.   
                                                 ok;',,,lc'..      ....'                                                                       .::....
                                                 xx,.,,,l:'..         ..                                                                      .,xl'...
                                                .ko..;,'c;'..                                                                             ..',;oO:'...
                                                .O:.':,':,...                                                                         ...,;;;;;cx;''..
                                                ,O;.':,,:'...                                                                       ..',,;::;:cdx:;;;,
                                                :k,.;c';:,...                                                                     ...',:::;';coxd;;:;,
                                                od,'cl,;;;'...                                                                   ....;:;;;'',cokl,;;:c
                                               .dl::oocc:c,...                                                                 .....,,::;'',,,:o::cllc
                                               'xdolxdxo:l:....                                                               ....',..,'.',',,cdc:;,,,
                                               :kxdkOOkc;;c;'....                                                             ...,;.....'''';:od:;;,..
                                               lk,,lolxdc;cl;,,,,........                                                    ...';'....''..';:ll;,''..
                                              .xx::o:..:oddxddddddoxkxolcl:.                                                 ...;'.........';:c:'.',,,
                                              '0xcll......,ldlodOkcldc:,;:ldc..                                              ..';'...'.....,:cc:'.''',
                                              cKx;,..... . .c,'.;kc;,..'.,:dx;'...                                           ..',....'...'.,:;c:'.,:;;
                                              xKd,.....   .....',xl'.....,;ll;......                                        ....,....,...'',,;c:'.,;;:
                                             ,OOo;....    ...   'kl..,;:cc;',......''.                                      ....,'...''...'',;:;'.''.,
                                            .d0ko:....    ...   :x::llc::;,''.......',,'.                                   ....',....''''',;;;,..,...
                                           .c00xo;....    .... .o;,cc:,,',,;c,.......',;:;'.                                 ....''....''''','';'';''.
                                         .:dkkolc,...     .....ll,c;.  ...',:ol,......  ...'''.                              .....'....','..''':,',,,,
                                        ,ocoxxlo:'..      ....,d::'       ...,col:'..    ..  ..'..                           ......'....,,,.''':c;;;,'
                                      .lc. .dxlo:'..     ...''cc:;           ...,:cc;.    ...   .....                        ............',,'',;lc,,:,
                                     ;do.  'dxdl;'..   .....',lc;..             ...,cc,...   ..  ......                       ...........',,;::clc,,:,
                                     ..    :kkdl;,...  ......:oc,'.                .'cc'.....      ....'..                    ...........',;,,;:::,;;:
                                          .oOkdc:,.........''lol,'.............      .::'.......     ......                    ...........',;;;,:cc::c
                                        ..:xkxoc,,,........,ldddl:,...............    ,l;...........   ...'..                   ........'..';:,',:l:;c
                             .....     ..;dxddol;,,,'..':coxxxxdxkd;................. .:o:. .....''...  ...'..                   .......''..'...,,::;;
                         ........... ..':odddxdlc;,,,'lxOkxdxdoddxc.......''''..........,ll;.  ...''''..  ..''..                  .......'......'''''.
                       .............':cllooodkxll;.';:xkOkxxdlc:::'......',,,,''....... ...'.    ...''''.....'''.                   .....',..  .....,,
                      .............:olccoolloxxolc,,:cclollc,',,,;;,.....',;;;,''......... . .........,'..'...',,.                    ..';;.    ....,:
                    .............;loolcldxolc:cccclcccc;....',''';;::....';;::;,'........... ...........,,''....,;'.                     ... ...'.'',;
                    .....'''...'lollloodool:;:::c:docc:,'...',,,,,;;:;..',;::::;,.................      ..',,;''';;'.                    . ..,:cc;,'',
                   .....'''''',ldoooodollc;,';clccddol:,,'..',,,,'';:c:;;;:ccc:;,,'........... ...      . .'cllc::c:'.                 ..,;:lodxdo:.''
                  .....',,,,;:oxoool;,,;;,,'';cllloooc;',,...'.''';oxxxollloool:,,'.........','... ..    .,odddddoooo:....     ......,;:loddoloo,;:'''
                  ....'',,colodddol,...,,,,';::lllloll:',,'....,ldxdddocccccllllc:,..........,;,.. ..   .,ll:,.,cc;:ll;,,,,'',,;:clcclcclloodl:::::,;:
                 ....'',;lOxoolllllc;..,',,';;:c:cccll:'.';c;;lxkxddxdooddollllcc::,..........,''.......'c;... ..:;';c;',:clocccoool:;,,,:lldl::loc;;;
                 ....',,,cxdl:;''......'',',,;cccc:coc:,';loox0Okkxdddllodddoollll::,............'......;:'.......c:clllc::::;,',:cllcc:;,ccodccldo::c
                 ....',,,,;:,'.........'',',,:ccc:,coc;',;coxkKkOkxooxolccoxxddclcc:;............''.....;:'......'cddxxl:::;,....;:clll:::lldxlllooclo
                                                 dKkoOxxdcc,......   ..                                                                         .::   
                                                 lKx:ddxklc;'...''.   ..                                                                        ':;   
                                                 cKo,lclkoc;,'..';'.....                                                                        ,c,   
                                                 c0l';;:xo;',....';'....                                                                        ,:.   
                                                 cO:.,,,ll,..............                                                                      .,:.   
                                                 lO;',,,lc,..      ....'.                                                                      .::....
                                                 dk'.,,,c:'..          .                                                                      .,kl'...
                                                 xd..;,'c;'..                                                                             ..';;lO:'...
                                                .Oc..:,':,'..                                                                         ...,::;;;cx:,,'.
                                                'O;.':,,:,...                                                                       ..',,;:;,:cox:;;;,
                                                :k,.,l';:,....                                                                    ...',:::,';coxd:;:;,
                                                ld,,:l,:;;'...                                                                   ....;:;;;'';loko,;::c
                                               .doc:odcl:c,...                                                                  ...',,::;'',,,;o:;cccc
                                               .xdolxdxo:c:'...                                                               ....',..,'.','',cdc:,,,,
                                               ;kdox00kl;,c;'...                                                              ...,;.....'''';:od:,,'..
                                               ck,,locddc;cl;;,,,........                                                    ...,:.....'...';:ll,'''''
                                              .dx::o:..;odoxddddddoxkxolcc:.                                                 ...;'.........,::c:'',,,,
                                              .Okllc......,ldlodOkcldc;;;;ldc'.                                              ..';'...'.....,:cc:'.''',
                                              :Kx;'.....   .:,'.;kc;,..'.,:ox:'...                                           ..',....,...'.,:;c:'';:;;
                                              dKd;'....   .....',dl'.....,;ll;......                                        ...',...',...'',,;c:,',;;:
                                             'OOd;....    ...   'ko..';:cc;,,'.....''.                                      ....,'...''...'',;:;...'.,
                                             lKkd:....    ...   ;x:clcc::;,''.......'','.                                   ....',....''''',;,,,.',...
                                           .:00xo;....    .... .o:,cl:,,',,;c,.......',;;;'.                                 ....''....''''',.';'';,'.
                                          :dkkooc,...      ....cl,:;.  ....,:ol,....... ...'''.                              ..........','..''':;';,,,
                                        ,ocoxkll:'..       ...'d::'       ...,col:'..     .  ..'..                           ......'....,,,.''':c;;;,'
                                      .lc. .dxoo:'..     ...'':l:;           ...;;cc;.     ..   .....                        ............',,,',;lc,,:,
                                     ;xd.  .dxdl;'..   .....',lc;..             ...,cc,...   ..  ......                       ...........';,;::cl:,;:,
                                     ...   :xkdl;,...  ......:lc,'.                .'cc'.....      ....'.                     ...........',;,,;:::;;;:
                                          .okkdc:;..........'lol,'.............      .::'.......      ...'.                    ...........',;;;,:cc::c
                                        ..:xkxoc,,,........'cxddl:'...............    ,o;...........   ......                   ...........';:,.,:l:;c
                             .....      .,dxxdol;,,,'...:cldxxxdxkd:................ ..:o:. .....''...  ...'..                   .......''..'...,,::;;
                         ..............':odddxdlc;,,,'cxOkxdxdoddxl.......''''..........'ll;.  ...''''..  ..'...                  .......'......'''''.
                       .............'::llooodkxll;.';:kk0kxxxlccc:'......',,,,''....... ...,.    ...''''.....''...                  .....',..  .....',
                      .............;olcclolloxxolc,,:ccloolc,,,',:;,.....',;;;,''.......... ..........''..'...',,..                    .';;.    ....,:
                    .............;loolccdxlcccllcclcccl;'...',''';;::'...';;::;,'........... ...........,,''...'';'.                     ... ......',;
                    .....'''...'colllooodol:::::c:docc:,'...',,,,,;;::'.',;::::;,..............         ..',,;''';;'.                    . ..,:lc;,'',
                   .....'''''''looooodoolc;,,,clccodol:,,'..',,,,'';:c:;;;:ccc:;,,'........... .          .'cllc::c:,.                 ..',:codxdoc..'
                  .....',,,',:lxdool;,,:;,,'';clllodoc;',,'..'.''';oxxxollloool:,,'.........','... ..    .,odddddoooo:....      .....';:lodxoloo;,:'.'
                  ....'',,cllldddol,...,,,,';c:lllooll:,,;'....,ldxdddocccccllllc:,..........';'.. ..   .,ll:,'':c;:ll;,,,''',,;:cl::ccclloodl:::::;;:
                 ....'',;ckxooollll:;..,',,';;:c:ccclo:'.,;::;lxkxddxdooodollllcc:;,..........,''.......'c;......::,,c;',:clolcclool:;,,,;codo::col;;;
                 ....',,,cxdoc;,'......,',',,;cccc:coc:,';loox0Oxkxdddllodddooollc::,............''.. ..;:'.......:cclolc::c:;;,';cllcc:;,:codlcldoc::
                 ....',,,,::,'.........,.,',,:ccc;,coc;,';coxkKOOkxooxolccoxxdxcccc:;.............'.....;:'.......;ddxxo:::;,'...,:clll:::clodoocldllo
                                                 lKklkkkdlc;......   ...                                                                        .::.  
                                                 :Kx:dddkoc:'....'.  ...                                                                        '::.  
                                                 :Kd,cclkdc;,'..';,.....                                                                        'c;.  
                                                 ;Ko';;;xx:''.....;'.....                                                                       ,c.   
                                                 :0c.,,,lo,... ..........                                                                      .,:.   
                                                 cO:',,,cl,..      ....'.                                                                      .:c....
                                                 oO,.,;'cc'..          .                                                                      .;ko'...
                                                 dd..;;'::'..                                                                            ...,;;lOc....
                                                .kl..:;':;...                                                                         ..',;:;;:lx:,,''
                                                .O:..c,,:,...                                                                       ..'';;:;,:cox:,;;'
                                                ;k,.'l';:,....                                                                    ...';::;,';coxx:;;;,
                                                cd,,:l,:;;'...                                                                   ....::;:;'';clkl,;:cl
                                                ddc:odlocc;...                                                                  ...',,::;'',,,;d:;ccc:
                                               .ddolxxko;c:'...                                                               ....',..,'.','',cdc;;,,'
                                               ,kxlxO0Ol;,c;''...                                                             ...,;.....'''';:od:,,'..
                                               ck,'locddc;:l;;,,,........                                                    ...,;.........';:lc,'''''
                                               dk::o:..,ddoxdoooddoxkxolcl:.                                                 ...;'.........,::c:'',,,,
                                              .Oklll'.....'cdoodkklldl:;;;cdl'.                                              ..';'...'.....,:cc;'.''',
                                              ;Kk,''.... . .:,'.,kl;,..'.';ox:'...                                           ..',....'...'.,;;c:'';:;;
                                              oKx;.....   .....',do'.....';cl;'.....                                        ....,...',...'',,;c:'.,;;:
                                             .kOd:....    ...   .xd..';:cc:,,'.....''.                                      ....,....''...'',;:;...'.,
                                             c0Odc....    ....  ,xc:lcc::;,''.......'','.                                   ....',....''''',;,,,.',..'
                                            ;00xo:....    .... .lc,:c:;,,',;:;.......',;;;'.                                 ....,'....''''.'.';'';,''
                                          :dkkooc,...      ....:o,:;.  ....':ol,...........,''.                              ..........','..''':;';,,,
                                        .ocoxkol:'..       ...'dc:'       ...,coo:'..     .  ..'..                           ......'....,,,.''':c;;,;'
                                      .cc. .oxoo:'..     ...'':l:;           ...;;cc,.     ..   .....                        ............',,,,,;lc,,:,
                                     ,dd'  .dxdl;,..   .....',lc;'.             ...,cc,...   ..  ......                       ...........,;,,::cc:,,;;
                                     ...   ;xkdl;,...  ......;oc,..                .'cc'.....      ....'.                     ...........';;,,;:::;;::
                                          .okOdc;;'........'.lol,'.............      .:c'.......      ...'.                    ...........',;;;,:cc::c
                                         .;xkxoc,,,'.......':dddl:'...............    'l;...........   ......                   ...........',;,.,:cc:c
                             ....   .   .,okxdol;,,,'...;:ldxxxdxkdc................ ..;o:. .....'....  ...'..                   ......'',......,,::;;
                         ...............;odddddoc;,,,':xkkxxxddddxl'......''''..........'ll;.  ...''''..  ..''..                   ......'......'''''.
                       .............'::llooodxxol;.';:kk0Oxxxlccc:,'.....'',,,''....... ...,.    ...''''.....''...                  .....','.  .....',
                      .............;llcclooloxxdlc,,:clloooc;,,',;:;'....',;;;,''......... ...........,'..'...',,'.                    .';;.    ....,;
                    .............,coolccodlcccllcclcccl;'...',''';;::'...';;::;,'........... ........ ..','''..'';'.                     ... ......',;
                    .....'''....clllllodddlc::::c:docc:,'...',,,,,;;;:'.',;::::;,..............         ..',,,''',;,.                    ....';cc:,'',
                   .....'''''''coollodooll:,',ccc:odol:,,'..'',,,'';:cc:;::ccc:;,,'.............        . .':lll::::,.                 ..',;cldkxoc.''
                 ......',,,,,;lxdool:;;:;,,'';llllodol;',,'..'.''';oxxxolclloolc;,'.........'''... ..     ,odddxdoloo:'...      .....',:lodxdlod;,:,''
                 .....'',,:llldddol;...,,,'';cccllooll:,,;'....,ldxdddocccccllclc:,..........':,.. ..   .'ll:,'':c;;ll:,,,''',,;:clc:clccloodocc:::,,:
                 ....'',;ckxoooooll:;..,',,',,:c:ccclo:'.';:::lxkxddxxooodoolllcc::,..........,''.......'c;......;c',::',:clolcccodl:;,,,;lodoc:col::;
                 ....'',;ckxoc;,,'''...'',,,,;cccc;col:;.,clox0Oxkxdodllodddoooloc::,............''. . .;:,.......;c:lolc::c:;;,,;cllcc:;,:cldlclooc::
                 ....'',;;cc:,........',',,,,:ccc;,coc;,';coxkKOOkxoodolccoxxdxclcc:;.............'... .;:,.......;ddxxo::::,'...':clllc::clodoolldlld
                                                 cXkcxkxxlc;......    ..                                                                        .;c   
                                                 ;Kx:oddkdc:'...''.   ..                                                                        .:c   
                                                 ,Kx,:cckxc;;'...;;.....                                                                        'c;   
                                                 ,0o',;,dx:''.....,'.....                                                                       ,c.   
                                                 ;0c.,;,co;... ..........                                                                      .,:.   
                                                 :0c',;,:l,..      ......                                                                      .:c....
                                                 cO,.,;':c'..          .                                                                     ..:ko'...
                                                 ox..;;'::'..                                                                            ..',;;lOc....
                                                .xo..:;':,...                                                                         ..',;:;;:lkc,,,'
                                                .k:..c,':,...                                                                       ..',;;:;;:cox:,;;'
                                                ,k;.'l,;:,....                                                                    ...';::;,',coxx:;;;;
                                                :x;,:o;:;;,...                                                                  .....:;;;;'';llxl,:ccl
                                                ldc:odlocc;...                                                                 ....',,::,'',,,;oc:::c:
                                               .dxdlxxxd;:c'....                                                              ....,'..'..',',,cxc;;,''
                                               'xdcdO0kl;,::'....                                                             ...,;.....'''';;od;;,'..
                                               :k:'co:odl;:o;;,,,'.......                                                    ...,;.........';;lc,'''''
                                               oxc:o:..'odoxdoooddodkxolcc:.                                                 ...;'.........,::c:'.,,,,
                                              .kklll'.....'cxoodkOlcdl:;;;cdl'.                                              ..';..........,:cc;'.,,,,
                                              ,Kk;.'....   .:,'',xo;;..'.';oxc'...                                           ..',...''...'.,;;c:'';:;:
                                              lKx;'....   .....',od,.....';cl;'.....                                        ....,...',...',,,;c:'.';,:
                                             .k0d:'...    ...   .xd'.';:cc:,,'.....''..                                     ....,....''...'',;:;.....'
                                             :0Odc....    ....  ,kc:lcc::;;''.......'','.                                   ....',....''''',,',,.',...
                                            ,OKxo:....    .... .lc,:c:;,,,,,:;.......'';;;'.                                 ....''....'''..'.';'',,''
                                          ,okkolc,...      .'..;o,::.  ....';ol,...........','.                              ..........'''..''':;,,,,,
                                        .llodkolc,..       ...'oc:,       ...,coo:'..     .  ..'..                           ......'....,,,.''':c;,,;'
                                       :l' .oxoo:,..     ...'':l::.          ...,;cc,.    ..    .....                        ............',,,,,;lc,,:,
                                     'dx'  .dxdo;,...  .....',lc:'.             ...,cc,...   ..  ......                       ...........,;,,;:cc:,,;;
                                     ...   ,xkxl;,...  .....';lc;'.                 'cc'.....       ...'.                     ............;;,,;:::::::
                                          .lkOdc;;'........'.cdl,'.............      .:c,.......      ...'.                    ...........',;;;,:cl::l
                                       . .;xkxoc,,,'.......';dddc:'...............    .l:...........   ......                   ...........',;,.,:cc:c
                                        .'oxddol;,,,'...;:coxdxdxxdc..............  . .;o:. .....''...  ...'...                  ......'',......,,::;;
                         ...............;odddddoc;,,,':dkkxxxxddxxo'......''''......... .ll;.  ....'''..  ..''..                  .......'.... .'''.'.
                       ..............;:llododxxol;..,:kkOOkxxoccc:,'.....'',,,''........ .';.    ...''''.....''...                  .....','.  .....',
                      .............,llccloolodxdlc,,:cloodol;,,',;;;'....',;;;,'............ .........,'..'...',,'.                    .';;.    ....,;
                    .............,coolccodolccllcclcccc:''..',,',;;::'...';;::;,'........... .....    ..','.'..'';,.                     ...  ...'.',;
                    .....'''....:lllllloddlc::::c:oolc:,'...',,,,,;;;:'.',;::::;,..............         ..',,,''',;,.                    ....';cc:,'',
                   .....'''''..:dolloodoll:,',ccc:odol:,,'..'',,,'';;cc::;:ccc:;,,'........... .        . .':lll:::c,.                 ..',;codxxdl.''
                 ......',,,',,cddooo:;::;,;'';clllodol;,,,'..'.''';oxxxolllloolc;,'.........','..         'ldddxdoooo:'...      ......;:lodxolod;,c'''
                 .....'',,:clldddol:...,,',',ccclloool:,,;'....,ldxdddocccccllclc:,..........';'.. ..   ..coc,'':c;;lo:,,,'.'',,;clc:clcclloxocc::c,;;
                 ....'',;:xkdooooll:,..,',,',;;c:cc:lo:'.';:::lxkxddxxooodoolllcc::,..........,,'........c;......;:',::,':clllcclodo:;,,;,clddc:col;;;
                 ....'',;lkdol:;,''''..'',,',;cccc;:ol:;',clox00xxxdodlloddxoooloc:;,............'.. ...;:,.......,c:colc::c:;;,,;cllcc:;,;cldlclodc::
                 ....'',;;loc,........',',',,;ccc;,coc;,.;coxk0kkOxdoxolccoddodclcc::'...........''.....;:,.......,oddxo::::,'...';clooc:::lodoocldolo
                                                 :KOcdkkxoc;'.....    ..                                                                        .;:.  
                                                 ,Kk:ldokxl:,...',.   ..                                                                        .;c.  
                                                 'Kx,:c:xkl:;'...,;......                                                                       ,lc   
                                                 'Kd',;,lxc''.....,,.....                                                                       ,c.   
                                                 '0l'';,:o;... ..........                                                                      .,:.   
                                                 ;0l'';,;l,..       .....                                                                      .:l....
                                                 :0;.';':c'..          .                                                                     .';xd'...
                                                 lk'.,;'::'..                                                                            ..',,;ckl....
                                                 dd..;;':;'..                                                                         .'',;:;;clxc;,,'
                                                .kl..c,':;...                                                                       ..',;;:,,:cox:,,,'
                                                'k:.'l,,:,'...                                                                    ...';::;,';loxx:;:;;
                                                ;x:,:o;::;,...                                                                  .....:;;;,'';lldl;:ccl
                                                ldlclxlocc;...                                                                 ....',,::,'',,',oc:;::;
                                               .dxdoxxxd;:c'....                                                              ....,,..'..',',,cxl;,,'.
                                               .xdcdO0kl:,::'....                                                             ...;;.....'''';;lo:,''..
                                               ;k:'co:lxo:;lc;,,,'........                                                   ...,;.........';:cc,'''''
                                               lkc:lc..'oxoddoooddodkxolccc'                                                 ...;..........,::c:'.,,,,
                                              .kOocc'.....,cxoodkOlcdo:;;;cdl'.                                              ..';..........,::c:'.,,,,
                                              ,0O:.'....  ..:,,''xo,;....',ldc'...                                          ...',...''...'.,;,::'';:;:
                                              cKk:'....   ......'ld,.....,;:l;'.....                                        ....,...',...'',,;c:'.,;,:
                                             .x0xc'....   ...   .dx'.';:cc:,,'.....''..                                     ....,....''...',;;;,.....'
                                             ;0Odc....     ...  .xcclc:::;;''.......'','.                                   ....',....''''',,',,.',...
                                            'kKko:....     ... .cl,:c:;,,,,,::.......'',;;'.                                 ....''....'''..'.,;'',,,'
                                          ,okOdll,...      .'..,o;::.. ....';ll,...........','.                              ..........'''..''':;,,,,,
                                        .llldOolc,..       ....ll:,.      ...,coo:'...    .  ..'..                            .....'....,,'.,,':c;,,;,
                                       ;l, .oxoo:,..      ..'';o::.          ...,:cc,.     ..   .....                        .  .........',,,,,;lc,,:,
                                     'ox,  .okdo:,...  .....''c::'.              ..,cc,...   ..   .....                       ...........,;,,;:cc:,,;;
                                     .'.   ,xkxl;,...  ......,lc;'.                 .:c,.....       ...'.                     ............;;;,;::::;::
                                          .ckkdl;;'..........coo;'.............      .:c,.......      ...'.                    ...........',;;;,:cl::l
                                          ,dkxdc,,,'........;dddl;'...............    .l:...........   ......                   ...........',;'.,:cc:c
                                        .'lxxdol;,,,'...,:clxxxdxxdl..............    .,oc. .....''...  ...'...                  ......'',......',::;,
                         ...............,ldddddoc;,,,':dkkxxdxdoxxo,......''''......... .lo;.  ...''''..  ..''..                  .......'.... .'''''.
                       ..............;:clddodxxol;..,:kk00kxxoccc:;'.....'',,,''........ .';'    ...''''.....'''..                  .....','.  .....',
                      .............,clcclooloxxdl:,,:llodxdo:;,',;;;'....',;;;,'........... .       ..,'.'.....,,'.                    .';,'    ....,;
                    .............':looccodolcclllclcccc:''..',,'',;::,...';;::;,'..........  ........ ..','.'...';,.                     ...  .....',;
                    .....'''....;loollllddlc::::c:oolc:,''..',,,,,;;;:,.',;::::;,.................      ..';,,''',;,.                      ..';cc:;'',
                   .....'''''.':oolloodoll:,';ccccoddl:,,'..'',,,'';;cc:::clcc:;,,'........... ...        ..:lll:::c;.                 ..',;cloxxdl'''
                 ......',,,',,cddooocc:c:;,'',clllodol:,,,'..'.''';oxxxdlllloolc;,'..........,'... ..    .'ldddxdooooc'...       ....',:codxdlodc'c,''
                 .....'',,;clloddol:...',',',:ccllooolc,,,'....,cdddddocccccllccc:,..........';,.. ..   ..coc;'';l;;coc,,,'..',,;:lc:clcccllddccc:c,,;
                 ....'',;:xxooooool:,..,',,',;;c:ccccoc'.';c::cxkxddxxooodooollcc::,..........','....   .::......,c',::,,;clolcccodo:;,,,,cldxc:col;;;
                 ....'',;lkxdl::;,,,'..'',,',;cccc;:ll:;.,clox00kxxdodoloddddollllc;,............''. . .,:,.......,c:cool::c:;,,,,:llcc:;;;cldlclodl::
                 ....'',;;lol;........',',',,;ccc;,coc;,.,coxk0kkOxdodolccldxodllll:;'...........',... .;:,.......'odxko::::,....';clooc:::loddollollo
                                                 ,XOcokxkocc,.....    ..                                                                        .;:.  
                                                 '0k:cdokkl:,'..',.   ..                                                                        .:c.  
                                                 .0k;;l:xOl;;'...,;'.....                                                                       'lc.  
                                                 .0x,';,cxc''.....,,.....                                                                       'c'   
                                                 '0o'';':o;... ..........                                                                       ,c.   
                                                 ,0l'';';l;..       .....                                                                      .:l....
                                                 ;0;.';';l,..          .                                                                     .':xd'...
                                                 ck,.,;';:'..                                                                            ..,;,;ckl....
                                                 dd..;:';;'..                                                                        ..'',;:,;:lkl;;,'
                                                .xl..c;':;...                                                                      ...',;;:,,ccok:,,,,
                                                .k:''c;,:;'...                                                                    ...';::;,.,loxk:,;;:
                                                ,x:;:o:c;;,...                                                                  ....':;;;,',;c:dl;:cll
                                                cdlclxldlc;...                                                                 ....',,c:,,,,'';dl:;;:;
                                                oxxoxxkd;;c,....                                                              ....,'.''.'''.,,cxl;,''.
                                               .xd:oO0kl:,::'....                                                             ...;,....'''.,;:oo:,'...
                                               ,kc'co;cdo:;l:;,,,'........                                                   ...;;.........';;cc,''',,
                                               ckc:lc...ldoddoooododkxolccc'                                                 ...;..........,:;c:'.',,,
                                              .xOlcc'.....'cxoodxOocdo:;;,col'.                                              ..';..........,::c;.',,,;
                                              '0O:.'....   .:,'''dd,;'....;cdc''..                                          ...',...''...'.,;,::'',:;:
                                              :Kk:'....    .....'ld,.....';:l:'......                                       ....,....'...'',,;::'.',,:
                                              d0xc'....   ...   .ok,.',;cc:,,'......'..                                     ....,....''...',;,;,..'..'
                                             '0Odc....     ...  .xlcccc::;;''........','.                                   ....',....''''',,',,.',...
                                            .xKko:....     ...  :o,:lc;,'',,::.......'';;;'.                                 ....,'.....''..'',;'',,,'
                                          'lkOdll;...      ....'o;;:.  ....',ll,...........,,'.                              ...........,'..''':;,,,,,
                                        .clodOolc,..       ....cl;;.      ...,coo:'...    . ...'..                            .....'....,,,.'',:c;,,;,
                                       ,l; .lxoo:,..      ..'';l::.          ...,:cc,.     ..   .....                        .  .........',,,,,;lc,,:,
                                     .lk;  .oxdo;,...  .....'':c:'.              ..,cc,...   ..   .....                       ...........,;,,;:cc:,,;;
                                     .'.   'dkxo;,...  .....',ll;'.                 .:c;.....       ...'.                     ...........';;;,;::::;:c
                                          .ckkxl;;'........'':oo;'.............      .;c,.......      ...'.                    ...........',;;;,:cl::l
                                          'dkxdc;'''.......',oddc;'...............    .c:...........   ......                   ...........',;'.,:cc::
                                         .lxxddl:,,,'...';cldxxddxdl..............   . ,oc. .....''...  ...''.                   ......'',..'...,,;:;,
                         ...............'ldddddoc;,,,':okkxxxxddxxd,......''''...........ll;.  ...''''..  ..'....                 .......'...  ...'''.
                       ..............,;clododxxol:..,:kkO0kxxollcc;'.....'',,,''........ .,;,    ...''''... .'''..                  .....'''.  .....',
                      .............'clccloolodxdl:,,:loodxdo:;,',;;:'....',;;;,'.......... ..       ..,'.'.....,,'.                    .',,'.   ....';
                    ..............;lolccodolcloolccc:cc;'''.',,'',;;:;..'';;::;,'..........  ........ ..','.....';,.                     ...  .....',;
                    .....'''....,lolllllddlc::::ccldlc:;''..',,,,,;;;:'.',;::::;,.................      ..',,,''.';,.                      ...,:c:;,',
                   .....'''''..;oolloodoolc;';ccccoddl:;,'..',,,,'';:cc:::clcc:;,,'...............      .. .:lll:;::;..                ..'';cloxkdl'.'
                 ......',,,,,,:ddooolc:::;,'',clllodol:',;'....''';oxxxdlclloolc;,'..........''... ..     .ldddxdooool,...       .....,;codxdoldl'c,''
                 .....'',;;:ccdddoo:...',',',:ccllooooc,,,'....,cddddddcccccllccc:,'..........;,.. ..    .coc;'';l;;clc,,,'..'',,;cc:clcclloddlcc:c,,;
                 ....'',;:dxdlooool:,..'',,',;;c:clccoc,.';c::cxkxddxxooodoolllcc::,..........','....   .::......'c,,::,';clllclcodo:;,,,,:ldxl:clo::;
                 ....'',;lkxdlc:;;,,,..,'''',;cc:c;:llc;.,:lox00kxxdodoloddxdoolllc;,............''. . .,:,.......'c::loc::c:;,,,,;llllc:,;cldoclodlcc
                 ....'',;:odo:'........,''',,;ccc;,:ol:,.,coxk0kkOxdodolccldxdolclc:;'...........',... .,:,.......'lddkdcc::,.....;ccllc:::loddolloolo
                                                 .KOcokdkxlc,......   ..                                                                        .;c.  
                                                 .0O::olkOo:,'.'','.  ..                                                                        .:l.  
                                                 .Ok;;c;dOo;;,...':'.....                                                                       'cl.  
                                                 .Ox,';':dc'......',.....                                                                       'c,   
                                                 .0d'';';o;...  .........                                                                       'c.   
                                                 '0o'';';o;..       .....                                                                      .:d....
                                                 ,0:.';';l,..          ..                                                                   ..,:xx'...
                                                 :O,.,;';:'..                                                                           ..',;,;cko....
                                                 lx'.;:':;'..                                                                        ..'',;;;::ckl;;;'
                                                 xo..::':;'...                                                                     ...',;::,;clok:,,;,
                                                .k:'.l;,:;'...                                                                    ...,:::;,.,loxx:,;::
                                                ,x:;:o:c::,...                                                                  ....';;;:,',;c:ol;:lll
                                                :xlclxodcc:'...                                                                ....,',c;,',,'.;dl:;;;;
                                                lxxdxkkd,;c,....                                                              ....,'..'.'''.,,cxl;,'..
                                               .xd;lkOko:,;c'....                                                             ...;,....'''.,;:oo;,'...
                                               ,kc.co;:do:;l:;,,,'........                                                   ...;,.........,;;c:,''',,
                                               cOl:ll...lddddoloddodkxolccc,                                                 ..',..........,::c:'.'',,
                                               d0occ,......:ddookOocdoc;,,:oo,.                                              ..',....'.....,::c;.',;,;
                                              .00:.'....   .;;,''od,;.....,cdl,'..                                          ...''...''...'',;,::.',:::
                                              ;0Oc'....    .....'cd,.....';:c:,......                                       ...''...''...''',;::'.',,;
                                              o0xc'....   ....  .lk,.',;:c:,,'......'..                                     ....,....''...',;,;,..'..'
                                             .O0xl....     ...  .xocccc::;,''........','.                                   ....',....''''',,',,.,,...
                                            .dKOoc....     ...  ;o,;l:;,,,,,::........,;;;'.                                 ....'.....'''..''';'',','
                                          .lxOxol;...      .....o:;:'. ....',ll,...........,,'.                              .....'.....,'..''':;,,,,,
                                        .:lldOolc,..       ....cl;;.      ...,coo:'...    . ...'..                            .....'....,,,.',,:c;,,;'
                                       .l;..oxoo:,..      ..'',l::.          ...,:c:;.     ..   .....                        .  ....'....',,;;,:l:',:,
                                     .lk:  .lxdo;,...  .....''cc:,.             ...,:c,...   ..   .....                       ...........,;,,;:cc:,,;;
                                     .,.   .xkxo:,...  .....',lc:'.                ..:c;.....       .....                     ............,;;,;::;:::c
                                          .:kkxl;;'.........':dl;'.............      .;c,.......      ...'.                    ...........',;;;,;cl::l
                                         .'dkxdc,'''.......''oddc;................    .:c...........   ......                   .........'.',;'.,:c:::
                                       ...lxxddl:,,,'...,;:cdxdddxdl..............  .. 'l:. ....'.....  ...''..                  ......'',......,,;;;,
                         ...............'cdddddoc:,,,';dkxxxdxddxxd;......''''...........co;.  ....'''..   .''...                  ......'.... ....''.
                       ..............,;:looodxxol:..,:kkO0kxxollcc:'.....'',,,''..........;;,    ...''''... .'''..                  .....'''.  .....',
                      .............':lccloolodxdl:,,:codxkdoc;,',;;:'....',;;;,'............ ...  ....''.......,,'.                    .';;'.   ....';
                    ..............;lolccldolcloollcl::c:'''.',,'',;;:;...';;::;,'..........  ...........,,'.'...',,.                     ...  ......,,
                    .....'''....,colllllddoc::::ccldlc:;''..',,,',;;;c,..';::::;,.................      ..',,,'''';;.                      ...,:c:;,',
                   .....'''''..,oolloodoolc;';ccc:lddl:;,'..',,,,'';;ccc::clcc:;,,'...............      ....:lccc;:c:'.                ...';:lodkdl,.'
                 ......',,,,',;odoooolccc;;,',clllodol:,,;'....''';oxkxdlclloolc;,'..........'..          .cdddxxdoldc,..        .....';cldddolol,c;''
                 .....'',,,;cloddooc...',',',:ccllooooc,,,'....,lxdddddccclclcccc:;'..........,,.. ..    .cdl;'';c:;cll;,''...',,;cl::llcclodxlcccc;,;
                 ....'',;:dxdlooool:'..',',',;;ccclcloc,.';c::cxkxddxxolodooollcc:;;'.........';'....   .;:'.....'c,';:;,;:llolccldo:;,,,,:loxlcclo:;;
                 ....'',;lOxolcc:;;;;..''''',;:ccc;:ll::',:loxO0kxxxodlllodxdoolllc;,.............'.. ..,:,.......'c:clllc:c::;,,,;llllc:;;cldoclodl::
                 ....'',;:ddoc,........,'''',;ccc;,:ol;;',:lxk0kOkxdodolccldxdolclc:;,............,'....,:,.......'cddkdc:c;,.....,:llllc;;llddollddlo
                                                 .00lckxkkcc;......   ..                                                                        .;:.  
                                                 .O0:;ocx0o:;'.'','.   ..                                                                       .:l.  
                                                 .OO;,c;okd;;,'..':,.....                                                                       .:c.  
                                                 .Ok,';,:dc'......','....                                                                       'c,   
                                                 .Ox,';,;o:'..  .........                                                                       'c..  
                                                 .0d'.;,,l;..       .. ..                                                                      .:d'...
                                                 ,0c..;',l,..          ..                                                                   .',:xx,'..
                                                 ;O;.':';:'..                                                                           ..';;,;:ko'...
                                                 ck'.,:';;'...                                                                       ..'',::,::cko;;,,
                                                 do..::':;'...                                                                     ...',;:;,;clox:,;;'
                                                .xc''l;,::,...                                                                    ...,::;;,.,clxx:,;::
                                                'x:;:dcl::;...                                                                  ....':;;;,'';::ol::llc
                                                :xlccxodccc'...                                                                ....,',c;,',''';do:,;;,
                                                lkxdxkxd,,:;....                                                              ...','..'.'''',,cxc;,'..
                                               .dd;cx0ko:,;c''...                                                             ..':,.....''.';;lo;''...
                                               'xl':o;:do:;lc;,,;'........                                                   ...;,.........,:,c:'.',,,
                                               :kocll...cddddlloodookxolccc,                                                 ..',..........,::c;'.'',,
                                               d0o::,......:ddodxOd:doc;,;:lo,.                                              ..',....'.....,::c;.';;;;
                                              .O0c.'.....  .;;,'.lx,;.....,:do,'..                                          ...''...''...'',;,::.';:;:
                                              ;0Oc'....    .....'cd;.....',;c:,......                                       ....'...''...''',;::'.',';
                                              l0kl'....   ....  .ck;..,;:c:;,,......'..                                     ....,....''....,;,;,.....'
                                             .k0xl....     ...  .docccc::;,''........','.                                   ....',....'''.',,.,,',,...
                                            .oKOoc....     ...  ,o,;lc;,,,,,::.......'',;;'.                                 ....'.....'''..'.,;',,,,,
                                          .cx0xll;...      ....'l:;:'. ....',ll,...........,,'.                              .....'....','..'''::,,,,,
                                         ;oodOdlc,..       ....cl;;.      ...,cooc'...    .....'..                            .....'....',,'',,:l;,,;'
                                       .l:..lxdo:,..      ..'',o::.          ...,:c:;..    ..   .....                        .  ....'....',;;;,:l:,;:,
                                     .:xc  .lxdo:,...  .....',:c:,.             ...,cc,...   ..   .....                       ...........,;,;;:cc:,,;;
                                     .;'.  .dkxo:,'..  .....',lc:'.                ..:c,.....   .   ...'.                     ............,;;,;:::c::c
                                          .:kOxl;;'.........';ol:'.............      .;c;.......      ...'.                    ...........',;:;,;cl::l
                                          'okkdl;','........'oddl,'...............     :c'..........   ......                   .........'.',,'.,;c:::
                                        ..cxxdol:,,,'...';:cdxxddxdl..............     .lc. ....'.....   ..''..                  ......'',..'...',;;,'
                         ................cdddddoc:,,,';oxxxxxxdddkd:......''''...........co;.  ....'''..   .''...                  ......'.... ....''.
                       ..............';:looodxxol:..,:xkO0kxxollll:'.....'',,,''....... ..;:;.   ...''''... ..,...                  .....'''.  ......,
                      ..............:lccloolodxdl:,,:cddxkxoc;;',;;:'....',;;;,'.............. .  ....''.......,,..                    .';;'.   ....';
                    ..............;lllccldolcloollcl:cc:,,''',,',;;:c;...';;::;,'.......................,,'.'....,,.                     ...   .....',
                    .....'''....,colllllddoc::::ccldlc:;''..',,,',;;:c,..';::::;,.................      ..',,,'''',;.                      ...':cc;,',
                   .....'''''..,lollloooolc;',:cc:lxdl:;,'..',,,,'';;ccc::cllc:;,,'...............         .:cccc;:::'.                 ..',:codkdo;.'
                 ......',,,,'';odoooollcc:;,',cllloddl:,,;'....''';oxkxdlclllooc;,'..........'..          .cdddxxdolol;..        .....',coddxoooo,::.'
                 .....'',,,;:coddooc...',',',;ccllooooc,,,'....,lxddddolcclccllcc:;'..........,,.. ..   ..:ol:'.;l:;cll;'''...',,;cc::llccllodlcl:c:,;
                 ....'',;;lxdloddol:'..',',',;;ccclcloc,.';cc:cxkxdddxolodooollcc:;,'.........';'....   .;:'......c;';:;',:llocccldoc;,,,,:coxocclo:;;
                 ....'',;ckxdlcc::;;;'.''',',;:ccc;:ll::',:loxO0kxxxodollodxdoollcc;,..........'..'..  .':;........c:clolc:c::;,,,;cllcc:,;:lddllodoc:
                 ....'',;:kxdc;'.......,'',',;ccc;,:ol;;',:lxk0kOkxxooolccldxddoccc:;,.........'..''. ..':;.......':ddddlcc;,'....,:clolc;:clodlccoolo
                                                 .O0cckdOkoc;......   ..                                                                         ;c.  
                                                 .O0c;ocxOdc;'''',,.  ...                                                                       .:l.  
                                                  k0:'c;lkd:;,....:;.....                                                                       .:c.  
                                                  kO;.;,;ol'......','....                                                                       .c,.  
                                                 .kk;';,,l:'.    ........                                                                       'l'...
                                                 .Od'.;,,l;..       .....                                                                      .:x'...
                                                 .Oc..;',l,..          ..                                                                   .',;dx,'..
                                                 ,O:.':';:'..                                                                           ..';;,;:ko'...
                                                 :k,.,:';;'...                                                                       ..'',:;;;:lko;;;,
                                                 od..;:';;'...                                                                     ...',;:;,;cllxc,;;,
                                                .xl''c:,:;,...                                                                    ...;:;;;,',lldx:;;::
                                                .xc;:dclc:;....                                                                .....,:;;;,'';::ll::ccc
                                                ;xollxoxc:c'...                                                                ....,';c;,','',;do:,,,,
                                                cxxdxkxd,,:;....                                                              ...','.''.'''',;lxc;,'..
                                               .dx;:dOOo:;,c,....                                                            ...':'.....''.,;:lo;''...
                                               .kl':o;;od:;lc;,,;'........                                                   ...;'.........,:,::'.',,;
                                               ;Oolll...:ddddollodooxxdlccc;.                                                ..',..........,::c;'',,,,
                                               oKd::,......:ddodxOd:odc:,;:lo,.                                              ..',....'.....,:;c;.';;;;
                                              .O0l.'....   .;;,'.lx,;'....,:dd,'..                                          ...''...''...'',;,c:'';;;:
                                              ,0Ol'....    .....':x;.....';;cc,......                                       ....'...''...''',;:;..''',
                                              l0kl,....    ...  .:O;..,;:cc,,,......'..                                     ....,....''..'',;,,,.....'
                                             .k0xl'...     ...  .od:ccc::;,''........','.                                   ....',....''..',,.,,',,...
                                            .lKOo:....     ...  ,d,;cc;,,,',::........',;;'.                                 ....'.....''...'.,;',,,,,
                                          .:dOkol;...      .....lc;c,. ....',lo,...........,,'.                              .....'....,;,..'''::,,,,,
                                         ;oooOdll,..       ....;o;;.      ...'cooc'...    .. ..'..                             ....'....',,'.,,:l;,,;'
                                       .cc..lxdo:,..   .  ..'''l::.          ...,:c:;..    ..   .....                        .  ....'....',,;:;:l:,;:,
                                     .:xl   cxdo:,...  .....'':c:,..            ...,:c,...   ...  .....                       ...........,;;,;:cc:,,;;
                                     .;'.  .dkxo:,'..  .....''cc:'.                ..:c,.....  ..   ...'..                    ............,;;;;;::c::c
                                          .;xOxl;;'.........';ol:'.............      .;l;.......      ...'..                   ...........',;:;,;cl::l
                                          .okkdl,','.........lddc,................     ;c'..........   ......                   .........'.',,'.,;c:::
                                         .:xxdol:,,,'...';::oxxddxdl..............     .lc'.....'.....   ..''..                  ......'',..'...',;;,'
                         ................cdxdddoc:,',';oxxxxdxddxkx:......''''...........:o;. .....'''..   .''...                  ......'.... .....'.
                       ..............';:lodooxxol:'.,:xkO0kxxdlllcc,.....'',,,''....... ..;::.   ...''''... ..'...                  .....'''.  ......,
                      ..............;lccloolodkdlc,,:ldxxkkdl:;,,;;:,....',;;;,'.......... .. .   ....''.......,,'.                    .';;'.   ....';
                    ..............'colccldollldoolll::c:,,,'',,,,;;::;...';;::;,'.......................,,'''....,,.                     ...   .....',
                    .....'''....':lollllodol::::ccldlc:;,'..',,,,,;:;:,'.';::::;,.................      ..',''''.',;'.                     ...';cc;,,,
                   .....'''''..'lolllooooll;';:cc:lddl:;,'..',,,,'';;clcc:cllc:;,,'...............         .:cccc::::'.                 ..',:codxxo:..
                 ......',,,,'',odolooollc;;,',cllclddl:,,;,....''';oxkxdlclloolc;,'..........'..          .:ddddxooooo;..        .....',:lddxoood;:c'.
                 .....'',,,;:codoooc'..,,','';ccllodooc,',,....,lxddddolccclllccc:;'..........,,.. ..    .:ol;,',l:;cll;'''...',,;cl::llclllodlcl:cc,;
                 ....'',,;lddloddol:...,,',',;;cccllllc,'.;cc:cxkxdddxolodooollcc:;,'..........;,....   .;:'......c;',::,,:lloccclodc;,,,,;llxoccloc;;
                 ....'',;ckxdlllc::::'.''''',;:ccc;:ol::'';loxO0kxxxodollodxdoollcc;,..........'..'.. ..':;........:::lolccc::;,,,;cllcc:;;:cddlcldoc:
                 ....'',;ckxdl;''......,'''',;ccc;,:ol;;.,:lxk0OOOkxoodlccldxdooccc:;,............''....':;.......';odxxlcc;,'....,:clolc:;clodollodoo
                                                 .O0l:xdkOdc;'.....    ..                                                                       .,c.  
                                                  x0c,lcdOxc;'..',,..  ..                                                                       .;c.  
                                                  d0:':,cxd;,,....;;'....                                                                       .::.  
                                                  d0;.;',lc,.......'.....                                                                       .c,.  
                                                  xO;';,,l:'.    ........                                                                       .o'...
                                                 .kx'.;,,l:..        ....                                                                      .:k,...
                                                 .Oo..;',c;..          ..                                                                  ..';;dx,...
                                                 'Oc..:',:,..                                                                          ...,;;,;:xd,...
                                                 ;O;.,:';:'...                                                                       .''',:;,;ccxo,;;'
                                                 ld'.;c';;'...                                                                     ...';::,';colxc,;;,
                                                .dl''cc,;;;...                                                                    ...;:;;;,',lldx:;;:c
                                                .xl;:dclc::....                                                                .....,:;:;'',;:;llc:cc:
                                                ,dolcxddc:c,...                                                                ....,';c;'',.',;do:,,,'
                                                cxkxxkxd;,;;....                                                              ...',..''.'''';;lxc:,'..
                                                ox,,dOOd::,c,'...                                                            ...':'......'.,;:lo;'....
                                               .ko':o;,ldc;ll;,,,,. ......                                                   ...;'.........,;,::'.,,,;
                                               ,kdlll...:ddddlllodooxxdlccc;.                                                ..',.........',::c:'',,,,
                                               lKd;;,......;ddodxkdcodc:,;;lo,.                                              ..,,....'.....,:;c;.';;;;
                                              .k0o''....   .,;''.ck;;'....':od,'..                                          ...''...''...'',;,::..,,;:
                                              'O0l'....    ... .';x:'.....,,cc,......                                       ....'...''...''',;:;..''',
                                              c0kl,....    ...   :k:..,;:cc;,,......'..                                     ....,....''...',;,,,.....,
                                             .x0xl'...     ...   ld:ccc:c;,,.'.......','.                                   ....''....''..'',.,,',,...
                                            .cKOo:'...     ...  'o;,cl:,,,,,::'.......',;;'.                                 ....'.....''...'',;,,',,,
                                          .;d0kol;...      .....lc;c,.  ....,cl;...........,,'.                              .....'....,,,'..',::,,,,,
                                         ,oookxll;...      ....;l;;.      ...'cooc'...    .....'..                             ....'....',,'.,,:l;,,;'
                                       .cl..lxdoc,..   .  ...''cc:.          ...,:c:;..    ..   .....                        .  ....'....',,;:,:l:,;:,
                                      ;do   :xdo:,...  ......';l:;..            ...':c;...   ...  .....                       ...........,;,,,:cc:,,;;
                                     .;,.  .okxo:,'..  ......,clc'.                ..;c;.....  ..   ......                    ............,;:;;;::c::c
                                           ;xOxl:;,.........';oo:'.............      .,c;.......      ...'..                   ...........',;:;';cl::l
                                          .okkdl;'''.........cddc,................     ,c,........ .    .....                   .........'.',,'.';c:::
                                        ..:xxdol:,,,'...',;:lxxddddl'.............     .lc'...........   ..'...                  ......'',..'...'';;,'
                         ................;dxdddoc:',,',oxxxxdxddxkxc......''''.......  ..:o;. .....''...   ..'...                  ......''... .....'.
                       ...............,:codooxxol:..,:xxO0kxkdllllc,.....'',,,''....... ..:cc.   ...''''... ..'...                  .....',,..  .....,
                      ..............;lccloolldkdlc,,:ldxkOkdl:;,,;;:;....',;;;,'...............   ....''..... .,,'.                    .';;'.   ....',
                    ..............'colcclddlccddolll::c:,;,'',,,,;;::;...,;;::;,'.......................,,..'...',,..                    ...   .....',
                    .....'''....':lollccoxol:::cccldllc;,'..',,,',;;;c;..,;::::;,.................      ..',',,..',;'.                      ..';cc;,,,
                   .....'''''..'colcloooool:,,:cc:lddl:;,,..'',,,'';;clcc:cllc:;,,'...............        ..;ccc:;;::,.                 ...,:codkxoc'.
                 ......',,,,'',ldoooooolc:;,''cllclddlc,,;,...'''';oxkxdlclloolc;,'..........'..        . .:ddxxxooolo:..        .....',:lodddood:;l'.
                 .....'',,,,;:odoool'.',;',',:clllodooc,',''...,cxddddolccccccccc:;'..........,,.. ..    .;ol;,',lc;:cl;'''...'',;cl::cllcllodoclclc,;
                 ....'',;;cdoloddol:...',',',;;cccllllc,'.;cc:ldkxdddxolooooollcc:;;'..........;,....   .,c,......::',::,,:cloccclodc;,,,,,clddc:ldl;:
                 ....'',;ckxdlllcc:::'.''''',;:ccc;:ll::'';coxO0kxxxodollodxdoollcc;,'.........''.'.. ..':;........:c:cooccc::;,,,;cllcc:;,:codlclddc:
                 ....'',;ckxdl;,'......,'''',;:cc;,:ol;;.':lxk0OOOkxoodlccldxddoccc:;,............''. ..':;.......',xddxoc:;,'....':llolc:;clodollooll
                                                  x0l:xox0dc;'...'.    ..                                                                        ,l'  
                                                  d0l,l:oOkl;,'..,;..  ..                                                                        ;l'  
                                                  oKc':,;dx;,;....,:'....                                                                       .::.  
                                                  o0;.;',ll,.......'......                                                                      .c;.  
                                                  dO;';,,lc'..   ........                                                                       .o,...
                                                  xk,.;,,c:'..       ....                                                                      .:k;...
                                                 .Od..;,,c;'.          ..                                                                  ..';:ox;...
                                                 .Oc..:,,c,...                                                                         ...,:;,;:xd;'..
                                                 ,O;.'c',:'...                                                                       .''';:;;:ccxo;;,'
                                                 cx'.;c';:'...                                                                     ...';::,';lolxl;;;,
                                                 oo,'cc;:;;...                                                                    ...;:;;;'',cldx:;;:c
                                                .dl::olll::'...                                                                .....,;;:;'',;:,loc:cc:
                                                ,xolcxxx:;c,...                                                                ....,';c;'',.',:xoc,,''
                                                :kxdxkxd,,;:'...                                                              ...';..''.','';;cxc;''..
                                                lx,,okOd::,c,....                                                            ...':'....''..,;:ll;'...'
                                               .xo':o;,ldc;cl:,,,'........                                                   ...;'.........,;,::'.,;,;
                                               'Odlol...;odddlllodooxxdlccc;.                                                ..,,.........',::::'',,,,
                                               cKd;;,......;dxddxkxcodl:,,;co;.                                              ..,,.........',;;:;.';;;;
                                               xKo''....   .,;''.:k:;'....';ox;'...                                          ..''...''...'',,,::'.,,;:
                                              'O0o,.....   ... .';x:'.....,,cc,......                                       ....'...''...''';;:;..'.',
                                              :0kl,....    ...   ,O:..,;:cc;,,......'..                                     ....,....''..'',;,,,.'...'
                                              d0xo'...     ...   lxcccc:c:,,.'........''.                                   ....''........'',',,',,'..
                                             :0Ooc'...     ...  .d;,cc;,,,',;c'.......',;;'.                                 ....'.....''...'.,:,,',,,
                                          .;oOkol;...      .....cl;c,.  ....,cl;...........,,'.                              .....'....,,,...',::,,,,,
                                         'oookxll,...      ....,l;;.      ...'cooc,...    .....'..                             ....'....',,'',,:l;,;;'
                                        :l..cxdoc,..   .   ..''cc:.          ...,:c:;..    ..   .....                        .  ....'....',;;:;:l:,;:,
                                      ,od   :xxd:;...  ......,;l:;.             ...':c;...   ...  .....                       ...........,;;,;:cc:;,;:
                                     .:;.  .okxo:,'..  ......'ccc'.                ..;c:.....  ..   ...'..                    ............,;:;;;:cc::c
                                           ,xOxl:;,.........',olc'.............      .,c;.......      ...'..                   ...........',;:;';clc:c
                                          .lkkdl;'''.........:doc,................     ':,.........     .....                   .........'..,,..';cc::
                                         .;xxdol:,,,'...',;:lxxxddol'.............     .cc'...........   ...'..                  ......'',..'...'';;,.
                         ............ ...;dxdddoc:,',,;odxxdxxddxkxc......''''.......  ..:o;. .....''...   ..'...                  ......''... .....'.
                       ...............,;codooxxolc'.,:xxO0kxkdllllc;.....'',,,''..........:cc'   ...''''..  ..'.'.                  .....',,..  .....,
                      ..............;lccloolodkdlc,,:lxkkOkdoc;;,;;:;....',;;;,'................  ....''..'.. .','.                   ..';;,.   ....',
                    ..............':llcclddlccddolll::c:;;;,',,,,;;:c;...,;;::;,'.......................,,'.'....,,..                    ...   ..'..',
                    .....'''.....;loolc:oxol:::ccclollc;,'..'';,,,;;;:;'',;::::;,....................   ..',',,..',;'.                      ...,cc;,,,
                   .....'''''...clllllloool:',:ccccddlc;,,'.'',,,'';;clccclllc:;;,'...............      ....;ccc:;;::,.                 ...,;cldxxol'.
                 ......',,,,'',lolloodoll:;,''cllclddlc;;;,...'''';oxkxdlccloolc:,'..........'..          .:ddxxxdollo:..         .....,:lodddlld:;l,.
                 .....'',,,,;:lxoool,'',,','':cllloddoc;','....,cxddddoc:cccccccc:;'..........,,..       .;ol:,',cc;:lo:'''....',,:l::clccllodoclccc,,
                 ....'',,;cooloddol:...',',',;;cccllloc,'.;ccclxkxdddxdlloddoolc::;,'..........,,....   .,:,......::',::,,:clllcccodl;,,,,,:lddccloo::
                 ....'',;ckkdoollccc:'.''''',;:ccc;;loc:'.;coxO0kxxxddollodxdoollcc;,'.........''.'...  .:;........::;cllcccc:;,,,;cllcc:;,:codlclddlc
                 ....'',;ckxdl:;,'.....,'''',;:cc;,;ll:;.':lxkOOOOkxooolccldxdddccc:;,............''....':;.......';dxxxoc:;,'.....;clolc::ccodolloooo
                                                  dKo;dod0xl:'....'.   ..                                                                        ;l,  
                                                  oKo,lcoOkl:,...,;..  ..                                                                        ;l,  
                                                  l0l';;;od:,,....':,....                                                                       .:c.  
                                                  l0:.;,,cl,.......'......                                                                      .c:.  
                                                  o0:';,,cc'..   .........                                                                      .o;...
                                                  xO,.;,'c:'..       ....                                                                     ..ck:...
                                                 .kd'.:,'c;'..         ..                                                                  .',;;ox;...
                                                 .kl..:,,:,...                                                                         ..',:;,;:xx;''.
                                                 'O:.'c,,:,...                                                                       .''',:;,;ccxo,,''
                                                 :x,.,l';:,...                                                                     ...'::;,';lllxl,:;,
                                                 oo,,:l;:;;...                                                                    ...;:;,;'',cldx:;:cc
                                                .dl::oollc:'...                                                                .....;;;:;'',;;,odc::c:
                                                'xdlcxxx:;c,...                                                                ....,';c;,''',;:xo:,''.
                                                :xxdxkxd;,;:'...                                                              ...';..''.','';;ldc;''..
                                                lx,.okkd::,c,.....                                                           ...,;.....'...,;:cl,.''.'
                                               .xd':o:'cdl:cl:,,,'. ......                                                   ...;..........,;,::'',,,;
                                               'Odool'..,ododlccoooodxdlc:c:.                                                ..,,.........';::::'',,,;
                                               cKx;,,......;dxddxkxcodl:;;;co:.                                              ..,,..........;;,c;.';::;
                                               x0d''....   .',''.:k:;,....';ox;'...                                          ..''...,'...'',,,:;'',,;;
                                              .O0o,.....   ... .';xc'.....,,cl,......                                        ...'...''...''';;;;.....,
                                              ;0Oo;....    ...   'kc..';::c;,,......'..                                     ....,....''..'',;',,.'...'
                                              o0ko,...     ...   :xcccc:c:;,..........''.                                   ....''........'''',,',,'..
                                             ;00dc'...     ...  .d:,cc;,,,'';c'.......',;;'.                                .....'.....''...'',;,,,,,,
                                           ,oOkol;...      .....:l;c,.  ....,cl;..........',,..                              .....'...',,,..',,::;,,,,
                                         .looxxll,...      ....'o:;.      ...':ooc,...    .....'..                             ....'....',,'',,:l;,;;'
                                        ;o'.cxdoc,..       ..'':c:'          ...,:c:,'.    ..   .....                        .  .........',,;c;:c:,;:,
                                      'ld.  ;xxd:,'..  ......,;l:;..            ...':c;..    ...  .....                       ...........';,,;:cc;;,;:
                                     .::.  .lkxd:,'..  ......'clc,.                ..;c:'....  ..   ...'..                    ............,;:;;;::c::c
                                           ,xOkl:;,.........',olc'. ...........      .,c:.......      ...'..                   ...........',;:,',clc:c
                                          .lkkxl;'''.........:ddc'................     'c,.........     .....                   .........'..,,..';cc:;
                                         .;xxddo:,,,'...',,:lxxxddol'.............     .cl'...........   ...'..                  ......'',..'...'',,'.
                         ................;oxdddoc:,',,;odxxxxdddxkxc......''''.......   .:o;. .....'''..   ..'...                  ......''... ....''.
                       ...............,;codoodxolc'.,:dkO0kxkdllllc;.....'',,,''........ .:cl,   ...''''..  ..''..                  .....'',..  .....,
                      ..............,cccloolodkdlc,,:lxxkOkxoc;;,;;:;....',;;;,'.......... .....  ....''..'.. .',...                  ...,;,.   .....,
                    ...............:llc:lddlclddolll::c:;:;,',,,,;;;c;'..,;;::;,'.......................',..'....,,'.                    ...    .'..',
                    .....'''.....;lollccodolc::ccclollc;,'...,;,,,;;;:;'',;::::;,....................   ..','',..',;'.                      ...,:c:,',
                   .....'''''..':lllllloool:,,:ccccddoc;,,'..',,,'',:cllcclllcc;;,'...............      ....;ccc:;:::,.                  ..,;cldxkol''
                 ......',,,,'''cooloodool::,.':llclddoc;,:,...'''';oxxkdlccllolc:,'..........'..        . .:ddddxdoolo:..        ......';codddoloc;l,.
                 .....'',,,,;;cdoool;'',;','';cclloddoc;,,'....,cxddddoc:cccccccc:;,..........',..       .,ol:,',cc;:loc,''....'',:l::cllclloooclccl,;
                 ....'',,;:ooldddolc...',',',;;cllllllc;'.;ccclxkxdddxdllooooolc::;,'..........,,.....  .,:,......;:',;c;,;clllcccldl;,,,,,:codlccdd::
                 ....'',;ckkdooollcc:,.''',',;:ccc;:lo::'';clxO0kxxxddollodxdoolllc;,'.........',.....  .:;........;c;:olcccc:;,,,;:lllc:;,:codollddlc
                 ....'',;ckdolc:;,''...''',',;:cc:,;lo;:'';cxkOOOOkxooollclddoodccc:;,............''..  ':,.......',oddxdcc:;'.....;clolc:;:cldolclolo
                                                  cXd,ood0kl:,'''''.   ..                                                                        ,c:  
                                                  cXo':cckkl:,...';'.....                                                                        ;c;  
                                                  :Kl';;,ld:',....':,.....                                                                      .:c'  
                                                  :Kc.;,,;l,... ...'......                                                                      .lc.  
                                                  c0c.,,';c'..    ........                                                                      .o:...
                                                  oO;.,,'::'..       . ...                                                                    .'ck:...
                                                  xk'.;,'c;'..          .                                                                 ..,,;;ox;...
                                                 .kd..:;,:,...                                                                         ..';;;,:cxx;','
                                                 .kc..c,,:,...                                                                       .,'';:;,:ccdd,'''
                                                 ;k;.,l';:;...                                                                    ....,:;;,';lllxl,;:;
                                                 cd,,cl;:;;...                                                                   ...'::,,;'';ccldc;:ll
                                                .oo::oool:c'...                                                                .....;;;:;,,,,;,lxc:::;
                                                .xdlcdxd:,::....                                                               ...',.;c;',,'';:xd:,'..
                                                ,kxdxOxo;,,:,....                                                             ...,,..''.','';:ldc,'...
                                                ck,.cxkxc;,:;'....                                                           ...;,.........,:;:c,.''''
                                               .dd,;o:.:dl::l;,,;,........                                                   ..';.........',:;::'',,,;
                                               .kdool'..'lddxolclooldxdlc:c:.                                               ...,,.......'.';:::;'',,,;
                                               ;0O;,,.. ...,oxdddkk:ldl:;,;:o:.                                             ...,,.......'..;;,c;.,;;:;
                                               o0d,'....   ..,',';kc;;....',lxc'...                                          ..'....,....'',,,:;'.,,;,
                                              .k0d,.....   ... ..,xl'.....',:l;......                                       ....'...''...''';;;,.....'
                                              ,OOo;....    ...   .ko..';::c;,,......'..                                     ....'....''..'',;',,''...'
                                              l0ko;....    ...   ;kcccc:c:;,'.........''.                                   ....''....'....''',,,,,'..
                                             ,k0dc'..      ...  .oc,cl:;,''';c.........';;'.                                .....'.....''...'',;;,',,,
                                           'lkOoo;...      .....;o;c;. .....,cl;..........',,'.                              .....'...'',,'..',::;,,,,
                                         .looxkll;...      .....l:;'      ...':ooc,...    .....'..                             ....'....',;'',,:l:,;:'
                                        ,o,.cxdoc,...      .''.;l:,          ...,:c:;'.    ..   .....                        .  .........',;;c;cc:,;:,
                                      .cd.  ,xxdc;'..   ....',,l:;.             ...';:;..    ...  ......                      ...........':;,;:c::;;;:
                                     .:c'  .lkxdc;'...  .....':lc,..               ..;c:'...   .    ......                    ............,;;;;;:cl::c
                                           'dkko:;,.........',loc,.............       ,c:.......      ......                   ...........',;:,',clc:c
                                          .ckkxo;'''.........;ddl,................     .c;...........   .....                   .........'..,'..';cc:;
                                         .,xxddoc,,,'...',,;:dddddoc'.............      ;c'...........   ...'..                  .......','.'. .'',,'.
                         ...........  ...,oxdddoc:,',,,oddddxdddxkko......''''.......   .:l;. .....'''..   ..'...                  ......''... ....''.
                       ...............';:odoodxolc'.,:dkO0kxkdooool:.....'',,,''..........;ll;.  ...''''... ..''..                  .....'',..  .....'
                      ..............'cccclooodxdlc,,:cdkkOkxdl:;,;;:;....',;;;,'...............   ....''.'... .','..                   ..,;,.    ....,
                    ...............;clc:coolclddolllc:c::::;,,;,,;;;c:'..,;;::;,'.......................''.......','.                    ...    ....',
                    .....'''.....'collcclddlc:cccclllll:,'..',;,,,;;;::'.,;::::;,.........................','',..',;'.                       ..,:c:;',
                   .....'''''...;lllllloooo:,,:ccccddoc;,,'.'',,,'',:cllcclllcc;;,'...............        ..;cccc;;::,.                  ..';cloxkol,.
                 ......',,,,'..:oolloooolc:,.':lcclddoc;,:,...''',:oxxxdlccclllc:;'..........'..        . .;oddxxdooloc'.         .....,;coddxoloo;l;'
                 .....'',,,,,;cdoool:;,;;','';:llllddol;','.'..,cxdoddolcclllcc:::;'..........',..       .,ol:,,,cl;;col,''.....'';lc::clcllodocllcl,,
                 ....'',;;;llloddolc...',',',;;cllllllc;'.;ccclxkxdddddlldoooolc::;;,..........,;.....  .'c;......;:'';:;,;ccllclcldo:,,;;,;cldlccod::
                 ....'',;:xkdoollllc:,.''',',;:ccc;:loc:,';clxO0kxxdddoloodxdoollc:;,'..........,''...  .;:'.......,c;:lolccc::;,,;:llcc:;,;cldolloxoc
                 ....'',;cOxdlc:::;;,'.''',',;:cc:,;ll:;'.;cdkOOOOkxooolc:ldxoodcc:c;'............''..  .:;'.......,lddxdlc;;'.....,clolc::;cldolcldoo
                                                  ;Kd,llo0kl:,.',''.   ..                                                                        'cc. 
                                                  ;Kd,:ccxOo;;'..';,.. ..                                                                        ,cc. 
                                                  ;Ko.,;,:d:',.....;;'....                                                                      .;l'. 
                                                  ;Ko';,,;l,... ..........                                                                      .cl.. 
                                                  :0l',,';c'..      ......                                                                      .oc...
                                                  l0;.,;';:'..         ...                                                                   ..,ckc...
                                                  dO,.;;':;...          .                                                                 ..,,,,lx;...
                                                  xd'.:;':,...                                                                        ...';:;;:cxx:,''
                                                 .kc..c,,:,...                                                                      ..'.';;;;:ccdd,','
                                                 ,k;.'l,;;;...                                                                    ....,::;,';lllxl,;:;
                                                 :d;,:l::;;'..                                                                   ...'::,,;',;cclxc:cll
                                                 ldc:ldoo:c,...                                                                ....';;::;,,,,;,lxc;;:;
                                                .ddllxxx:,;:....                                                               ...,,.;c,',,.';cxd:,'..
                                                'xdoxOko;,':,....                                                             ...,,..''.''.';:ldc,....
                                                :k;.cxxxc:,::.....                                                           ...;,.........,:;:c,.''',
                                                dd,;lc.:do;:l;,,;,.. .....                                                   ..';.........';:;::'',,,;
                                               .kxooo'..'ldoxlllcooldxdlc:c:.                                               ...,,.........';:;:;'',,;;
                                               ;KO;''.. ...,oxdddkxcldo:;,;:o:.                                             ...,'...'...'.';,,c;.,;;:;
                                               lKx,'....   ..,',,;kl,;'...';cxc'...                                          ..''...,....'',,,:;'',,,,
                                              .x0d,.....   ... ..;do,.....',:l:'.....                                       ....'...''...'',;;;,.....'
                                              'OOd;....    ...   .xo'.';;:c:,,.........                                     ....'....''..'';;',,''...'
                                              c0ko;....    ...   ,xlcccc::;,''........''.                                   ....''....'...'''',,,,','.
                                             'k0dc'..      ...  .oc,cl:;,,,';:'........';;'.                                 ....'....'''...'',;;,',,,
                                           .ckOdo;...      .'...,o;c;. .....':l:..........',,..                              .....'....',,'..',::;,,,,
                                         .coodklo;...      .'...l:;'      ...':ooc,...    .....'..                             ....'....',;,';,:l:,;:'
                                        'o;.cxxoc;...      .''.;l:,          ...,:c:,'.    ...  .....                        .  .........',;;::cc:,;:,
                                      .:d.  ,xxdc,'..   ....',,l:;.             ...':c;..    ...  .....                       ..........',:;,,:c::;;;:
                                      :c,.  cxkdc;'...  .....':lc;'.               ..,c:'...   .    ...'..                    ............,;;;;;:cl::c
                                           .dkko:;,.........',loc,.............       'c:'......      ......                   ...........',;:,',clc:c
                                          .:kkxo;'',.........,ddl,................     .:;........ .    .....                   .........'..,'..',cc:;
                                          ,dxddoc,,,'...'',;:dxdddoc'.............      ;l'...........   ...'..                  .......','.'. .'',,'.
                         ............ ...'oxdddol:,',,,oddddxdddxkko'.....''''.......   .:l;.  ....''...   ..'...                  ......''... .....'.
                       ...............',:odoodxol:'.,:dkk0Oxxdooolo:.....'',,,''..........;ll;.  ...''''... ..''..                  .....'',..  .....'
                      ...............:cccodoodxdlc,,:ldkkOkxdl:;,;;::....',;;;,'................   ...''.'... ..,'..                   ..,;,.    ....,
                    ...............,lll:coollldddlllc:c::c:;,,,,';;;cc'..,;;::;,'.......................''.......','.                    ....   ..'.',
                    .....'''.....':ollcclddlc:cclclllll:,'...';,,,,;;::'',;::::;,.........................','',..',;,.                       ..,:cc;,,
                   .....'''''...;lllllloodo:,;:ccc:ddoc;,,'..',,,'',:cllclllllc:,''...............         .;cccc:;::;.                  ..';:lodkdl;.
                 ......',,,,''.:ollllooolc:,.';llllddoc;,:;...''',:oxxxdlcccllll:;'..........'.. ..       .;odddxdooloc'.          ....',coodxoloo,c;.
                 .....'',,,,,,:dooooc;;;;','';:llllddol;',,.'..,cxdodddlccllllcc:::'..........''..       .'oo:;,,cl:;col;''.....'';cc::clclloodcllco:,
                 ....'',;,;clloddooc....,.,'';;:llloooc;'.;clclxkxxddddllooooolc::;,,..........';'....  .':;......,:,';c:,;:cllclclooc,,;;,,clxlccldc:
                 ....'',;:dkoolooolc:,.,'.,',;:ccc;;loc:,',clxO0kxxddddloodxdoollc:;,'..........,''...  .;:'.......,l;:lolccc::;,,;;llcc::,;cldolloxoc
                 ....'',;cOxdoccc:;:;'.,'.,',;:cc:,;ll:;'.,cdkOOOOkxooolc:ldddddcc:c:,'.........'..'..  .;;'.......'lxoxdlc;;'.....'clolcc;;cldooccdoo
                                                  ;Kx,clo00o:;.',,'.    .                                                                        'cl. 
                                                  ,Kx';c:oko:;'...;;..  .                                                                        ,cl. 
                                                  ,Kd.,;':o:,''....;;'....                                                                      .;o,. 
                                                  ,Xo',;,;l,... ........'.                                                                      .:o.. 
                                                  ;Ko.';',c'..      ......                                                                      .ol...
                                                  c0:.,;';:'..         ...                                                                   ..,ckc'..
                                                  oO,.;;';:...          .                                                                 .',,,,lx;...
                                                  dd'.:;':;...                                                                        ...,;:;,:cxk:,''
                                                 .xl..c;,:;...                                                                      ..'',;:,,:ccdd;,''
                                                 'x:''l,,;;...                                                                    ....,:;;,';lllxo;,;:
                                                 :d;,:o:c;:'...                                                                  . .'::;;,'';c:cdc:clc
                                                 ldc:ldod;c,....                                                               ....';;::;,,,,,,oxc;;;,
                                                .dxocdxk:';:'...                                                               ...,,.:c',,'.,:cxd:,'..
                                                'xdldOko:,':,'...                                                             ...;,...''''.';cldc,'...
                                                :k;.:xxkl:,;c.....                                                           ...;;.........,;;:c,'',,,
                                                ox;:oc.;oo;:l:,';,.. .....                                                   ..';.........,;:;:;''',,;
                                               .kkool'...cdoxolclooodxxoccc:'                                               ...,,.......''';:;:;',,;;;
                                               ,0O:''.. ...,oxdddkklldo:;,;:oc.                                             ...,'...'...'.';,,:;',;;:;
                                               lKk;'....   ..'',',xl,;'.'.',cxc'...                                          ..'....,....'',,,:;'',,,,
                                               d0d;'....   ...  .,oo,.....',:l:'.....                                       ...'....''...'',;,;,.....'
                                              'OOd:....    ...   .dd..',;:c:,,'........                                     ....'....''.'.';,'',,'...'
                                              :0ko;....    ...   'klcccc::;,.'........''.                                   ....''....'...'''',,,,',,.
                                             .x0dc,..      .... .ll,cl:;,,,';:'........';;'.                                 ....'....'''...'',;;,',;,
                                           .ckOdo:'..      .'...,o;::. .....':l:..........',,'.                              .....'....',,'..,,::;,,,'
                                          :oodxlo;..       .'...cc;'      ....:ooc;...    .....'..                             ....'....',;,',,cl:,;:'
                                        .o;.:xxoc;'..      .''',l:;          ...':cc,'.    ...  .....                        .  .........',;;::cc:,;;;
                                      .;d'  'dxdc;'..   ....',,c:;'             ...':c;..    ...  .....                       ..........',:;,,:c::;;;c
                                     .:c;. .:xkdc;'...  .....':lc;'.               ..,c:,...   .    ...'..                    ............,;;;,;:cl:;c
                                           .dkko::,..........'lol,.............       'cc.......      ......                   ...........',;:,',clc:c
                                          .:xkxo:'','........,ooo,................     .:;......... .   .....                   .........'..,'..',cc:;
                                        ..'dxxdlc;,,,...''',:oxxdooc'.............      ,l'...........   ...''.                  ......'''..'...'',''.
                         ................'lxdddol:,',,,ldoodxdddxkko'.....''''.......  ..;l;. .....''...   ..'...                  ......''... ....''.
                       ................':odoodxolc'.,:okkOOxxxoooooc'....'',,,''..........;ol;.  ...''''... ..''..                  ..'..'',..  .....'
                      ...............:c:codoodxdlc;,:cdkkOkxdoc:;;;;:'...',;;;,'.............'...  ...''.''.. ..,'..                   ..,;,.    ....'
                    ...............,clc:coolccdxdlll::ccccc;,,;,';;;:c,..,;;::;,'............ ..........''.......','.                    ....   ..'.',
                    .....'''......:ollc:lddlc:cllclllll:;'...';,,,,;;::'',;::::;,.........................','',...';,.                        .':cc;,,
                   .....'''''...,lllllllodoc,;:ccc:ddlc;;;'..',,,'',;cllllllllc:,''...............         .;ccc:;;;::'                  ..',:codxdl;.
                 ......',,,,''.;olllloodoc:,..;lllcddol:,;;'....',:dxkxdlcccllol:;'..........'.....     . .,oddxxdollol,.          ....',:lodxoloo;::.
                 .....'',,,,,,:dooooc:;;;,,'';:llllddol:',,''..'cxdodddcccllllc::c:,..........''...      .'loc;;,cl:;cll;''.....'',cc::clclloodlcocl:,
                 ....'',;;,:cloddolc....,.,'';;cllloool;'.;clclxkxxddddllooooolc::;,,..........';'....  .':;.... .,:,';c:,;:cllccclooc,,;;,,:cxlccldc:
                 ....'',;:dkdooooolc:,.',.,',;:ccc;;loc:,',cldO0kxxddddloodxdodolc:;,'..........,''...  .;:'.......,c:;colcccc:;;,;;clcc::;;:ldolloxol
                 ....'',;lOkdolccc:::;.',.,',;:cc:,;ll::,.,:dkOOOOkxoodlc:ldddddcc:c;,'...... ..'..'..  .;;'.......'cxddxoc:;'.....':lolcc:;:lddoccooo
                                                  '0k,:llk0d:;''';,..  ..                                                                        'co. 
                                                  '0x,;c:lko:;'...;:... ..                                                                       ,ll. 
                                                  'Kd.';';o:','....,;'....                                                                       ;d,. 
                                                  'Kd',;,,l,... ........'.                                                                      .:o.. 
                                                  ,Ko.';',c,..       .....                                                                      .lo...
                                                  :0:.';';:'..          ..                                                                   ..,ckl...
                                                  lO;.,:';:'..          .                                                                ..',,,;lx:...
                                                  ox,.;:,:;...                                                                        ..',;:;;:cxxc;,'
                                                 .do'.c;,:;...                                                                      .''.,;;,;:ccdo,'''
                                                 .xc''l;;;;...                                                                    ....;::;,';cllxo,,::
                                                 ;d;;:o:c::,...                                                                  ...,:;,;,'';c:cdc:clc
                                                 cdc:lxoo;c;....                                                               ....';;::;,,,',,oxc;;,,
                                                .dxdldxxc',:'...                                                              ....,,.::'','',:cxd:'...
                                                .xdldOkd:;':;'...                                                             ...;'..''.''.';ccdc'....
                                                ;x:.;ddklc;;c.....                                                           ...;,.........,;;::,',,,;
                                                ox;;oc.,oo:;l:,,,,'. .....                                                  ...',.........,;:;::''',,;
                                               .xkool,...cdddollcooldxxoc::c,                                               ...,'.......''';:;:;',,;;;
                                               '0O:.'.... .'lxdddkxlldo:;,;:ol.                                             ...,'...'...'.';,,:;',,;:;
                                               cKk;.....   ..'',',xo,;'.'.',cxl'...                                         ...'....,....'',;,:;'.'','
                                               d0x;'....   ...  .,od,.....',:l:'.....                                       ...'....''...'',;,;,.....'
                                              .kOd:....    ...   .dd'..,;:c:;,'........                                     ....'.......'.';,'',,'...'
                                              :0Oo;....    ...   .xlcccc::;,..........''.                                   ....''....'...'''',,,,',,.
                                             .xKxc'...     ....  ll,:lc;,,,';:'........';;'.                                 ....'....'''...'',;;,',;,
                                           .:xOxo:'..      .....'d:::.  ....';l:..........,,,'.                              .....'....',,'..',:c;',;'
                                          ;oodxll;'..      .....cl;,.     ....:ool;....   .....'..                             ....'.....,;,';,:l:,;:'
                                        .l:.:xkoc;'..      .''',l:;          ...':cc,'.    ..   .....                        .  .........',,;cccc:,;;;
                                      .'d'  .dxdc;'..   ....',':c:'             ...':c;..    ...  .....                       ...........';;;,;::::;;c
                                      :lc.  ;xkdc;,...  .....';lc;'.               ..,c:,...   ..   ...'..                    ............,;;;;;:cl::c
                                           .okko:;,'.........'lol,. ..........        'cc'......      ...'..                   ...........',;:,',clc::
                                          .;xkxo:,','........'odl,................     .::.........     .....                   .........'..,'..',:c:,
                                        . .dxxdoc,',,...'.',;odxdolc'.............      'l,...........   ...''.                  ......''''.'...'.,''.
                         .................lxdddoc:;,,,,looodxdddxkkd'.....''''.......   .;l;. .....''...   ..''..                  ......''...  ...''.
                       ................';lddodxolc,.':lkkOOxxxoooooc'....'',,,''..........;ol;.  ...''''... ..''..                  ..'..'',..  .....'
                      ...............;c:codoodxdlc;;:cdkO0Oxxlc:;;;;:'...',;;;,'.............,.    ...''.''.. ..''..                   ..,;,.    ....'
                    ...............'cll:coollldxdlll::ccclc:;,;,,;;;:c,..';;::;,'.................... ..''.......','.                    ....   ..'.',
                    .....'''......;lllc:lddlc:cllllllll:;'...';,,,,;;::,.,;::::;,.........................','',...';,.                       ...;cc;,,
                   .....'''''...,cllllllodoc;;:ccc:ddoc;,;,..',,,'',:cllllllllc:,''............ ..         .;ccc:;;;::'.                 ..',:codxxl:.
                 ......',,,,'..,lolllodoolc;..;lllcddol;,;;'....',:dxkxdlcccllol:,'................       .,oodxxxollll;.         ......,:lodddllo:::.
                 .....'',,,,',;odlooc::::,,'',:llllddol:',,''..'cxdodddlccclllcc:c:,..........''...      .'lo:;;,:l:;:ll;''.....'',:c;::lclllodlcocl:,
                 ....'',,,;;cloddooc....,.,'';;cllloool;'.,clclxkxdddddllooooool:;;,'..........';'....  ..::.... .'c,',c:,;:cllclclooc,,;;,,:cdocclxl;
                 ....'',;;okdooooolc;,.',.,',;:ccc;:loc:,',:lxO0kddddddooooddodolc:;,'..........,'....  .;:,.......,c:;colc:cc:;;,;;clccc:;;:ldolloddl
                 ....'',;cOkdllcccccc;.',.,',;:c::,;lo::'.':dO0kk0Oxoodllcldddddlc:c:''...... ..'..'..  .;;'.......':ddxxolc;'.....':lollc;;:lddoccool
                                                  .KO;;l:x0dc;..':;. .  ..                                                                       'cd. 
                                                  .0k,,:;cxd:;,...,:... ..                                                                       'll. 
                                                  .0x'';,,o:'''....,;,....                                                                       ;d;. 
                                                  .0x,,;,,c,... ..........                                                                      .;d...
                                                  'Ko.';',c,..       .....                                                                      'ld...
                                                  ;Kc.';',:'..          ..                                                                  ..';cxl...
                                                  c0;.,:';;'..          .                                                                ..,,,';lx:...
                                                  ok,.;:':;'..                                                                        ...,;;,;ccxkc,,'
                                                 .dd'.c;,:;...                                                                      .''',;;,;cccdo;,,'
                                                 .xc''l;;:;'...                                                                   ...';::;,';lllxo;;cc
                                                 ,d:;:o:l::,...                                                                  ...,:;;;,,';c;cdccclc
                                                 cdlclxod;:;....                                                               ....,;;::;,,'',;oxc;,,'
                                                .oxdodxxc'':'...                                                              ....,'.c:'','',;:xd:'...
                                                .dx:okOd:;':;....                                                            ....;'..''.''.,;:co:'....
                                                ,xc.;ddxl:;;c.....                                                           ...;,.........,;,::,',,,;
                                                lx:;ol.'ld:;l:,,,,'. .....                                                  ...,,........',;:;:;,'',,;
                                                dOdol'...:oodocccooooxxocc:c'                                               ...,'.......''';;;:,',;;;;
                                               .00:.'......'lxdddxklcdd::,;:ll.                                             ...,'...'...'.';,,:,',,;:;
                                               :0O;......  ..'.,,'dd,:'.'.',:xl,...                                         ...'....,....'',;;:;..'.,'
                                               oOx;'....   ...  .'ld,.....',;l:'.....                                       ...'....''...'',;,;,.....'
                                              .k0d:....    ...   .ox,..,;:cc;,'........                                     ....'.........';,'',,'...'
                                              ;0Oo;....    ...   .xoc:cc::;;'.........''.                                   ....''....'....''',;,,',,.
                                             .d0xc,...     ....  cl,:lc;,''',:,........';;'.                                 ....'....'''...'',:;,',;,
                                           .:dOxo:'..      .....'o:::'  .....;l:..........',,'.                              .....'....',,'..',:c;,,,'
                                          ;dookol;'..      .'...:l;,      ....:ool;....   .....'..                             ....'.....,,,,;;cl;,::'
                                        .l:.;xkdl;'..      .''''c:;.         ...':cc,'.    ...  .....                        .  .........,,,;:ccc:,;;;
                                       .d,  .dxdl,'..   ....''':c:'.            ...':c;'.    ...  .....                       ...........';;;,;::::;:c
                                      ;oc.  ;xkdl;'...  .....';oc;'.               ..,cc,...   ..   ...'..                    ............,;;;;,:cl::c
                                           .okkd:;,'.........,cdl,............        ':c'......      ...'..                   ...........',;:,',:cc::
                                          .,xkxo:,','........'odo;................     .;:......... .   ......                  .........'..,...',:c;,
                                       .  .okxdoc;,,,...'.',;lxddolc,...............    'l,...........   ....'.                  ......''''.'. .'''''.
                         .................cxdddoc:,',,,looodxdddxkkd,.....'''''......  ..;l:.  ....''...   ..''..                  ......''...  ....''
                       ................';lddodxolc,.':lkkOOxxxoooool'....'',,,''..........,ol;.  ...''''... ..''...                 ..'..'','.  .....'
                      ...............;c:codoloxdlc;;:cdkkOOxxoc:;;;;:'...',;;;,'.............,..    ..''..'.....''..                   ..,;,.    ....'
                    ...............':lc:coollldxolclc:cccll:;,,,',;;:c,..';;::;,'............ ..........','......','.                    ....   ...'',
                    .....'''......,lllc:lddlc:cllllloll:;'...';,,,,;;::,',;::::;,.........................',.''...',,'                       ...;:c:,'
                   .....'''''...':lllllcoddc;;:ccc:oxoc;,;,..',,,'',:clollllllc:,,'............ ..         .;ccc:;;;::'.                 ..',;codxxlc.
                 ......',,,,'..'lollloooolc;..;lllcoxol:,;;'....',:dxkxdlcccclolc;'................       .,oodxxdoolll;.          .....';lodddllo:;:.
                 .....'',,,,',;ldooolcc::,,'',:llllddol:',,''..'cxdodddlcccllllc:c:,..........''...      .'lo:;;,:l:;:ll;'......'',:c:::lllllodlcoclc,
                 ....'',,;;;:clddooc....,.,'';;cllloool;'.,clclxkxddddxllooooool:;;;,..........';'....   .::.... .'c,',:c;;:cllclccodl;,;;,,;:doccldl:
                 ....'',;;lxdloooolc;'.',.,',;:ccc;;loc:,',:ldO0kdddddxollodddoolc:;,'....... ..,,'...  .,:,.......'c:;coocccc:;;,;;cllc::,,:cddlloddl