.,`                                 `,:,         **                                                                                           
       `:::,                               .;:::.        zM+                                                                                          
       `:,,::`                            .:,,,:,        nnn;                               ,*`                                     ```               
        ::,,,:`                          ,:,,,,;,        znzn,                             izxi      `                             `...               
        ::,,,:;.                        ,:,,,,:;:       `nnnnz`                          `*#+z*      `.`                         `..,,.`              
        .:,,,,:;,`                     ,;:,,.,::,       `zznzx*                          *+**#i       ,.``                       .,:;;,`              
        `:,.,,,:;:.`                 `,;:,,,,:::.        #nnnnx;                        *#*i*+i       ::,.``                    .,::;i:.              
         :,,..,::;;i::,..,,,:,,,,,,,::i;:,,,,:,:.        +nnnznx;`                     i#+***+:       ,;::,``                  .:::;;i;.              
         .:,.,,,:;iiiii;i;;;i;;:::;i;ii;:,,,:::;`        *nnnznMx+i:``                i#****i+.       ,;:::,.``               .,:,,:;i;,              
          ,:,,,,:;ii*+i;i:;;;;;;;i*ii*;:::,,::;:         :znnznMMzxn#+**ii,......:;*#z#+*****+`       ,:::::,.````    ```````.,::,,:ii;,              
          .::,::;;****iii;iiii;ii**++*i;:::;:;;,         :nnxnnxMzzM+**+#zzznnnz##xWMz+*++*ii*        .;:::,,:.`..````......,::;,,,:ii;,`             
          ,,::::;i*+**i**ii*****i*+#+**;;::i;:::         ,nnnnxMMnzn###zzznzzzzz#+xMz+*+#+*i*:        `;:,,,,,,.`.`````.`..`.,,:,,,,;;;,`             
          .::::;;iii**i*+ii**i+********i;;:;i;::         .nMxnxMxnnzznxxxznnzzzxnznzzz###+**+,        `,,,,,.,,,..```````````.,,,:,,,,:,`             
          `;ii;:;i*i**ii*:i*iiiiii****i;;;iiii:.         `nxxnnnnxxxnxxxxnxnzzznxxnnznz#z##++.        `,::::::,,.``...````````.,,:::;::,.`            
           :i;::;;iiiii*+;*+;i**iiiiiiii;::;i;:           nMMMMxxMxMxxxxnxnxnzznnxxMMxnnznz+*`       `..,,,,:,,..`...`````````...,:::,:,`             
           :*::;;;i;;i*;+i*+;**i*i*iiii;;;:;ii,           +MxxxMMMMxzzz##xnxnzzznxxMWWMxnzz#+        ``.;:,,.,....,....````````...,.,::..`            
           ,+;;;;i*;;i+;**i+;+;i+i;i*ii;;;ii+#.           ;MMMMMxxxn**++*zzzzz#znnxMMWWMxnzz;       ``.,:::,......,...`````````.....,,,..`            
           :*;::;i*;:i*:ii*+;+;i+i;*++i;;;iii#:           *WWWMxxxzz*;**+z#+z#++nnnxMMMWWxzz,        ..,:;:,,....,,...```````............``           
           :i;:;;;ii:**:*;i+;i;i+i;*i;i;;;;i;i:          `nWMxMxxn#+*;*+zz*z##+*##znxxMWMMx#        `.:;;:::,,..,,,...``````.............`            
           :i:;::::;:i+;i;;ii;;i#iii;::;;;;;i;,          :xMMMMMnz*+*i+nnziz+#*+*i#nxxxMMxMz       `.:;;;;:,,,..,,,....`````.............             
           :;:;::i*i;:;;i;;i;ii;i:;ii;::ii;;;;:          *nxznxn+##z##xMMz;++++z+*##znxxnznx.       .::::::,,,.,,.,....`````.....``````..             
           :;;ii;#+WM+,,;;;;;i:,:+xx+#i;ii;;i;:         `nnz#nnzn+**#nMMM#;+i*zxzz####nxz#+zi       ,::::,,,,,,,,...`....`........```````             
          `:;**;;inzn*+.:i::;;,.*z#zni*:i+*;;;,         `znzzz+i#;i#:*xWWz;*ii#n*;;:**+nz#*+;      `,:::,,,,::i:,...`......:zx+:..```````             
          `:;;,,;*nWW#z,:;:;;;,:#zWWxi+,::;ii;,         `zznxz*i#;i#;ixWx#i*;i#+,:+`.*;*zzii;      `,::::,::i#nW#:..`.....,xMn*;,````````             
          .:i;:,:+*xn+x;:;:;:;,;z*xM++*,:::i*;,         innxnx#i+;i*i*MMn+;*i;+#.:*`.#++z#*i*`      .::::,,,;#nM@z;,.`....:nWW#;..```````             
          ,i::;;;;###nzi;;;;;;:;z#++++::;i;:;i:        `*nxMMMx+*+ii*n@xn+;i*i#n,,,,iz+#zz*i*`      .,:::,..,+#@@z*:.````.i;xx;:.```````              
          `;:,i**i:;*ii+*iii;i+i;*#+;;i**i;,:i:         :nxMMMMMn**+zxxxzii*+z#z#;;+n#nxzz+**`      `,,::,...,*#zn+:,````.:i:;,..```````              
           ::,;*+*i;:;*+*i**ii++*::;i****;,,:;,         ,nxMMMxMMn###zxnzii*+zn#nxxMxxxnzz#+;        .,,,,,...`:i**:,.```.,.....````````              
           .,,:*+***ii++**+***+++ii**ii*;::::;`         `nxnxMxnnnz#+#nnx**+#nnnxMMMMz##zz#+`         .,,,,...``.:;:,.```````..`````````              
            :;ii*++*i*+++****+#++i*****i:;i;;:           #xxxMxnnxz+++zzx+##nnnnxMMMn##znz#;          `.,,,,..``.,::,.```````...````````              
           `:****++***+**i**i*+*+*i***iii;;i;`           ,MMMMMxxxz+znzxx+z#+nznnxMxnzznnz*.          `..,,,.....,::,...`````.....`````               
            `;;;**+*****i***i*+*******ii;;i,`            `nMMWWWMxMMn++nMz##inznznnxnznzzz,`          ``.,,..,,.,,:;:,,,.`````.....`````              
             .;;;;;i*+***+**+***ii**;::::;.               :xxMWWMxnn+#z+MM##zxz##nnzzzz##*,`           `.....,,,,::+i;;i:.`````....````               
              `,:::;i***#+*+*+ii*ii;:,,::.``               :xxMMWx#++#nz#xz#xx###zzzznz#;.            ```....,,,,,:iz*+i.``````....```                
             ```.:,:;i*i;*++;i;ii;;:,,::``                  ,nMxxn+++**+#innz##nnz++#z#:                ``..,,,,,,,,;#*....``````..``                 
                `:::;iii;:*i:;;;i;;:,,,`                     `*xMx#z##z#**xnnz####+##+:                  ``......,,,.;i...........``                  
               ```,:;;iii:;;;;;;;;::,.                         :#nz##znn#z#nnz#zz#++*.                   ```......,,,;+,........``                    
                ````,;ii;;::;;;;;:,,.``                          :#nxnxxxzii*#zzz##;`                     ``......,,:;;:,:::,,.``                     
              `      `:;;;:,:;;;:,.                                ;nxnxnz+**iii+#;`                       ````...,,,,,,..,,..``                      
                       .::,,,:,.`                                   .+xnn***iii+i,                           ````..,,,,......``                       
                         ``.``                                        :++*iii+*,                               ``........`````                        
                                                                         `:;,`                                  ```...``````                          
                                                                                                                  ```````                             
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                `````  ` `` ` ````  `  ` `                 ` ` ````` `` `` ``` ``    `` `````                     ``  ``  `  ```                      
                ,``,`, : ,``,.` , ,`:  ,``                 , .,```,`,`..,  ..` ,,` : `:```,``                  `, ,  .``., ,`,``                      
                ,.`,,. , :. `,. , .`,  `,                  , `.,  , : `,,  ... :: `..``,` ,`                   `: ,  :  :, ..:.                       
                ,` ,`,`:`,``. , :`,`:`.`,                  , . , `: .`.`,`....`,... :.``. ,`                  ``..,`..`.`.`. :