███████╗██╗     ██╗   ██╗██╗██████╗ ███████╗██████╗  █████╗  ██████╗███████╗
██╔════╝██║     ██║   ██║██║██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔════╝██╔════╝
█████╗  ██║     ██║   ██║██║██║  ██║███████╗██████╔╝███████║██║     █████╗  
██╔══╝  ██║     ██║   ██║██║██║  ██║╚════██║██╔═══╝ ██╔══██║██║     ██╔══╝  
██║     ███████╗╚██████╔╝██║██████╔╝███████║██║     ██║  ██║╚██████╗███████╗
╚═╝     ╚══════╝ ╚═════╝ ╚═╝╚═════╝ ╚══════╝╚═╝     ╚═╝  ╚═╝ ╚═════╝╚══════╝
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:;,.',;:cloooolll