``                           .                                    `                                              
                                     ,:`                         .:                                   `.                                              
                                    .,:,                         :i                                  `.`                                              
                                   .,,::.                        *+`                ..`             `..`                                              
                       .`         `,,,:;:`                      .++,                .,.`           `...                        `                      
                       `,,`       ,,,,:;;,                      :++;                ,:...`        `....                       `,`                     
                        .,,,.`   ,,,,:;;;;.                    `i++i                ,:,....      `.....                      .,,`                     
                        `,,,,,.`.,,,,:;;;;;`           `,..``  .++++`               :::.....`   `.....`                     .,,,.                     
                         `,,,,,,,,,,,:;;;;;:           `++++++**++++i;;;;:::.      `:::,......``......`                    .,,,,.                     
                          .,,,,,,,,,,:;;;;;;.           ;#+++++++++++++++++#,      .::;:..............                    .,,,,,,                     
                           ,,,,,,,,,,:;;;;;;;`          `##++++++++++++++###.      .::;;:.............                  `,:::,,,,`                    
                           `,,,,,,,,,,,,:;;;;:           ;zz#++******+++####`      ,::;;;,............                 `,:,::,,,,`                    
                           `,,,.,,,,,,,,,,:;;i,          `#zz#++++++++######       ,:;;;;:............`               `,::::,,,,,.                    
                           .,,.`.,,,,,,,,,,:::;`          :zz#+*+**+*+zzzzz+       ::;;;i;,............`         .````,:::::,,,,,.                    
                          `,,.```.,,,,,,,,,:ii*;          `#z+++++++++#zzzz*      `:;;;ii;,..............`      ,*;,,,,,,,,,,,,,,.`                   
                       ``.,,,.```,,,,,,,,,,;+***,          :z+++++++++#zzzz;      .:;;;i;,.................`   ,***i,,,,,,,,,,,,,,,.........          
                       ,,,,,,,...,,,,,,,,,,i##***`          ++++#nz++++zzzz: ````.,::;i;.....................`,*****i:,,,,,,,,,,,,,,,,,,,,.           
                       .,,,,,,,.,,:,,,,,,,,*###+*;          i++zznz#*iiii;*,:,,,,,,,,i:.......................,i*****i:,,,,,,,,,,,,,,,,,.`            
                       .,,,,,,,.,:*,,,,,,,,+####++, ``......+#zznn;,,,,,,,i.;,,,,,,,,;,..................,,,:::i*******;,,,,,,,,,,,,,,.`              
                      .::,,,,,,,:++,,,,,,,:######*;,,,,,,,,:+zznnni,,,,,,,;`i:,,,,,,,:,.............;;:;;;;;;;*+********;,,,,,,,,,,,,.`               
                      .;i,,,,,,,,*+,,,,,,,;#####*,,,,,,,,,,,,iznnn*,,,,,,,: *:,,,,,,,:,...,,::.....:++;;;;;;i++++*+******;,,,,,,,,,.`                 
                        .,,,,,,,,i*,,,,,,,i####*,,,,,,,,,,,,,,innn*,,,,,,,:`+;,,,,,,,;;;ii**+i....,+++i;;;;*++++++++++++*,,,,,,,,,,.                  
                         .,,,,,,,;i,,,,,,,*###+:,,,,,,..,,,,,,,+nn+,,,,,,,,.#;,,,,,,,;+****++*:..,*++++iii+++++++++++++*;,,,,,,,,,,.                  
                     `    ,,,,,,,:i,,,,,,,+#zzi,,,,,,.``.,,,,,,:zn#,,,,,,,,.zi,,,,,,,;++**+++*i.,*+++++**+++++++++++++*i,,,,,,,,,,,,                  
                     .:.  .,,,,,,,i,,,,,,,#z#z:,,,,,,.,i,,,,,,,,#nz,,,,,,,,,n*,,,,,,,;+++++++**,i+++++++++++++++++#++*i;,,,,,::,,,,,`                 
                     .:;:``,,,,,,,:,,,,,,:zzzz,,,,,,,,*x:,,,,,,,*nz,,,,,,,,,x+,,,,,,,:+++++++***+++#+++++#+++++++#++*ii:,,,,;ii;,,,,.                 
                    `.,;;i:,,,,,,,,,,,,,,iznz#,,,,,,,,*M;,,,,,,,inn,,,,,,,,:x+,,,,,,,:+++++++**#####+++++++++++++++*ii;,,,:iiiii;,,,.                 
                    `.,;;iii,,,,,,:,,,,,,*znnz,,,,,,,,*M*,,,,,,,;zn:,,,,,,,;x+,,,,,,,,++++++**######++++++++++++++**ii:,,;**iiii;;,,,                 
                    ...;;;ii:,,,,,,,,,,,,+nnnz,,,,,,,,*M+,,,,,,,;zn;,,,,,,,ix+,,,,,,,,+++++**####++++++++++++++++**iii,:i**iiiii;;;,,`                
                   `...:;;ii;,,,,,,,,,,,,#nnxn,,,,,,,,iM#,,,,,,,:nzi,,,,,,,;x+,,,,,,,,*+++**+#++++++++++++++++++***ii;i**iiiiiiii;;;,`                
                   `...,;;;ii,,,,,,,,,,,:znnxx:,,,,,,,;Mz,,,,,,,:nzi,,,,,,,;n#:,,,,,,,*****#z#+++++++++++++++++***iii***iiiiiiii;;;;;,                
                   .....;;;ii:,,,,,,,,,,;znnxx;,,,,,,,:Mn,,,,,,,,+xi,,,,,,,:+z;,,,,,,,i***+nnnz#++++++++++++++*********iiiiiiiii;;;:,`                
                  `.....:;;iii,,,,,,,,,,iznnxxi,,,,,,,,xx,,,,,,,,+#*,,,,,,,:*n;,,,,,,,;***nnnnnnnz#+++++++++++******iiiiiiiiii;:,.`                   
       ```````    `.....:;;iii:,,,,,,,,,*nnxxx*,,,,,,,,nM,,,,,,,,++*,,,,,,,,+xi,,,,,,,;**znnnnnnnnnn++++++++++*****iiiiiii;:,`  .,,                   
        `................,,,,,,,,,,,,,,,#nnxxx+,,,,,,,,zM:,,,,,,,+z+,,,,,,,,+M*,,,,,,,;iznnnnnnxxxnz++++++++++**iiiiii;:,`   .,:;:,                   
         ``....................,,,,,,,,,znnxxx#,,,,,,,,#M;,,,,,,,*x#,,,,,,,,+M*,,,,,,,;#nnnnxxxxxnnz+++++#+++++*ii;:.`    .,;;;;:,.                   
           `...................,,,,,,,,,znnxxxz,,,,,,,,+Mi,,,,,,,iMn:,,,,,,,+M+,,,,,,,:nnnxxxxxnnnnz++++####+++*.`  .:;.,;;;;;;:,,.                   
            `.................,:,,,,,,,,#nnxxxn,,,,,,,,*M+,,,,,,,iMM:,,,,,,,+W#,,,,,,,:nnxxxxxnnnnzz+++######+++,`,iiii;,::;;;;:,,.                   
              `..............:ii,,,,,,,,+nnxxxx,,,,,,,,iM#,,,,,,,iMW;,,,,,,,iW#,,,,,,,,nxxxxxnnnnnz#++#########+**iiiiii:,,,:;:,,,`                   
               `...........,;i**,,,,,,,,*nnxxxx:,,,,,,,;Mz,,,,,,,iMW*,,,,,,,:#;,,,,,,,,zxxxxnnnnnnz#+######+++******iiii;,,,,,,,,,`                   
                ..........,*++++,,,,,,,,innxxxxi,,,,,,,:Mz,,,,,,,;MW+,,,,,,,,,,,,,,,,,,zxxxnnnnnnzz#+##*;:;***********iii:,,,,,,,,`                   
               `...........i*+++:,,,,,,,iznnxxx#,,,,,,,,+;,,,,,,,+MWn,,,,,,,,,,,,,,,,,,#xxnnnnnnnzz+:.`:i***************ii:,,,,,,,,.`                 
               `...........;i**+:,,,,,,,;znnxxxx:,,,,,,,,,,,,,,,:zxMWi,,,,,,,,;:,,,,,,,+nxnnnnnz+i:.,i++++++++************;,,,,,,,,,,,.               
               ............,i***;,,,,,,,:znnxxxx+,,,,,,,,,,,,,,,#xxMWx;,,,,,,ini;i*++#znnnn#i:.`   ;++++++++++++++++++***i:,,,,,,,,,,,,,.             
              `.....,:,.....ii**;,,,,,,,,zznnxxxx*,,,,,,,,,,,,;+nxMMMMM*;;;i*Mn+#xxxxn#*;.         `+++++++++++++*****iii:,,,,,,,,,,,.``              
              `....:;;;,....;i**i,,,,,,,,#znnnxxxx+:,,,,,,,:;+nxxMMWMnxxi+znzn+**#i..```           `;+++++++++++***iiiii:,,,,,,,,,``                  
              ...,:;;;;;:...,ii*i,,,,,,,,+zznnnnxxxxz#+**+#znnxxMMMWnz*z#;+#n;;:.    `````       `.,+######+;::,,,,,:ii:,,,,:,,,,.`                   
             `..,::;;;;;;;...ii*i,,,::;;i+zznnnnxxxxxxxMMMMxnnnn++*+#+i;::i+;,`     ``..,;i**+#zznnnzznnnzz#,,,,,,,,,i;,::;ii;,,,.                    
             ..::::;;;;;iii:.;i*****ii;;*+zzzzzznzznxxxMxnzzz#+***i:....` ```...,:::i+zznxxxxxxxxxxxnnnnzzz#,,,,,,,,,i;iiiii;;:,,.                    
            `,:::::,,,,,...``,i*******i;i+znnnnnnnnnxxxxxxnnz+*;`    `  ` .;;::::,,,*z#znnnnnnnnnnnnnnnzzzz#:,,,,,,,,iiiiiii;;;,,`                    
                             `::,..`    ,++nnnnnnznnnnnxnnnnxxnn;`  `,,,:::#:,,,,,,,;++#nznnznzzz###########:,,,,,,,,iiiiii;;;;:,`                    
                                        ,++#nnnnznnnnnnxnnnnxxxnz+*i+*ini;;+;,,,,,,,;*+*####z#zznzzznnnnnnzz;,,,,,,,,;;ii;;;;;;;,`                    
                                        ,+++znnnznnxnnxnnnnnxnnx++#+i*xz+i##i,,,,,,,;;;:i+########ii;;i#nnnzi,,,,,,,,,,,:;;iii;;:`                    
                                        ,+++#nzz#znxnzzzzznnxxxnz++zzWz#z###*i*+###izxi,;i;i**ii;:,,,,,,innn+,,,,,,,,zzzzzzzzzz#+i                    
                                 `..,:;i*++++#nn+z##++#nznnxxMz+##nxMxnznzz#nnnnz+*i;n+..,,,,,,::,,,,,,:,*xn#,,,,,,,,zzzzzzzzzzzz#,                   
                    ``.,::;i*++#znnnnnnnz+++++#+i++++#znnnnx#*znnnxMnz#+*iiii:,,,,,,,xn;,,,,,,,:,,,,,,,,,:xnz,,,,,,,,zzzzzzzzzzzz#+.`                 
                    izzzzzzznnnnnnnnnnnn#+++++i;:i+#zzzznxn**+*ii+MW*,,,,,,;;,,,,,,,,nM*,,,,,,,,,,,,,,,,,,nxz,,,,,,,,znzzzzzzzzzz#####+*ii;::,        
                    :#zzzzzznnnnnnnnnzz#+++***;.`:***ii+xM*,,,,,,;MWi,,,,,,;i,,,,,,,,zM+,,,,,,,,;+,,,,,,,,#xn:,,,,,,,znnnzzzzzzzz############,        
                    :+#zzzzzznnnnzz##++++++**i:.`..,,,,ixM*,,,,,,:MWi,,,,,,:i,,,,,,,,zM#,,,,,,,,zx:,,,,,,,+xn;,,,,,,,znnnnnzzzzzz###########;         
                    ,++zzzzzzzz#++++++++++++++i;..,,,,,:xMi,,,,,,,nW;,,,,,,,;:,,,,,,,#Mn,,,,,,,,zx:,,,,,,,*xni,,,,,,,znnnnnnnzzzz#######+##*`         
                    .+++zzzzzzzzz#++++++++++++**,,,,,,,,nMi,,,,,,,#M;,,,,,,,;:,,,,,,,+Mn,,,,,,,,zM;,,,,,,,ixn*,,,,,,,#nnnnnnnnnzz###+++###+.          
                    `++++zzzzzzzznzz#+++++++++++;,,,,,,,#Mi,,,,,,,*M:,,,,,,,::,,,,,,,*Mx,,,,,,,,#Mi,,,,,,,ixn#,,,,,,,#nzzzzzzzzzz###+#+###,           
                     +++++zzzzzzzzznnzz#++++++++i,,,,,,,*Mi,,,,,,,;M:,,,,,,,,:,,,,,,,iMx:,,,,,,,+M*,,,,,,,;xnz,,,,,,,#zzzzzzz####+##+#+##i            
                     *++++#zzzzzzzznnnnn++++++++*:,,,,,,;Mi,,,,,,,,x:,,,,,,,,:,,,,,,,;MM;,,,,,,,*M*,,,,,,,:xxz,,,,,,,+zzzz######++#+####+`            
                     i+++++#zzzzzzznnnnn+++++++++i,,,,,,,xi,,,,,,,,n:,,,,,,,.;,,,,,,,:MM;,,,,,,,iM+,,,,,,,:xxn:,,,,,,+zzzzz######+#######:            
                     ;++++++#zzzzzznnz#++++++++++*,,,,,,,n;,,,,,,,,+:,,,,,,;#i,,,,,,,:xMi,,,,,,,;M#,,,,,,,,xxn;,,,,,,*zzzzzzzz#######++###,           
                     :+++++++zzzzznz#+++++++++++z#:,,,,,,+;,,,,,,,,i:,,,,,,+z+,,,,,,,,nM*,,,,,,,;Mz,,,,,,,,nxni,,,,,,*#zzzzzzzzz#######++#+`          
                     ,++++++++zzz#++++++++++++#nxx;,,,,,,i;,,,,,,,,;:,,,,,,+z#,,,,,,,,zx+,,,,,,,:Mz,,,,,,,,zxn*,,,,,,i#zzzzzzz#z###+#+*####i`         
                     .+++++++++#+++++++++++++#nxxxi,,,,,,:;,,,,,,,,::,,,,,,+z#,,,,,,,,zx#,,,,,,,,xn,,,,,,,,zxn+,,,,,,:*#zz#zz########, `:*+#;         
                     .++++++++++++++++++++++zxxxz+*,,,,,,,:,,,,,,,,,:,,,,,,+zz:,,,,,,,#x#,,,,,,,,nx,,,,,,,,+xx#:;i*i:.,i#z#zz#######;     `:i,        
                     `++++++++++++++++++++#nxxxx;**,,,,,,,:,,,,:,,,,,,,,,,,+zz:,,,,,,,*xz,,,,,,,,zx:,,,,,,,*nnnz+i;:,`.:;;*########*`                 
                     ,+++++++++++++++++++#nxxxxx,**:,,,,,,,,,,,:,,,,,,,,,,,#zz:,,,,,,,;#n,,,,,,,,zx;,,,,,,,*nz;,,,,,..,;;,`i######+.                  
                  `:*++++++++++++++++++#zxxxxxxn.:*;,,,,,,,,,,,;,,,,,,,,,,,#zz;,,,,,,,;;n,,,,,,,,#n;,,,,,,,inzi,,,,,,.:i:.` .i####;                   
               `.;++++++++++++++++++++#nxxxxxxxz.,ii,,,,,,,,,,,i,,,,,,,,,,,#zzi,,,,,,,::+:,,,,,,,+ni,,,,,,,:+zi,,,,,,,;i,.`   .*#*`                   
             `,*++++++++++++++++++++++nxxxxxxxzi..,*:,,,,,,,,,,*;,,,,,,,,,,#zzi,,,,,,,::::,,,,,,,;zi,,,,,,,:,i*,,,,,,,:;...     ,.                    
           .;*+++++++++++++++++++++++znnnnnxn+*;...;:,,,,,,,,,,**,,,,,,,,,,#zz*,,,,,,,:*:,,,,,,,,:;*,,,,,,,::,,,,,,,,,:,...,`                         
        `,i++++++++++++++++++++++++++#nnnnnn*ii;...,;,,,,,,,,,,##,,,,,,,,,,#zz+,,,,,,,,z:,,,,,,,,:::,,,,,,,,*;,,,,,,,,:....::,`                       
       :*+++++++++++++++++++++++++++++#nnnziiii:....:,,,,,,,,,,#z:,,,,,,,,,zzz+,,,,,,,,z*,,,,,,,,:i,,,,,,,,,**i;iiiiii:....,:::,`                     
       ``,;i+++++++++++++++++++++++++++#n+iiiii:....,,,,,,,,,,,#+;,,,,,,,,:zzz#,,,,,,,,++:,,,,,,,:i;::;;iiiiii****+**i.....,:::::,.                   
            `.:;*+++++++++++++++++++++++*;;;iii:....,,,,,,,,,,,#i;,,,,,,,,:zzzz:,,,,,,,*+i:;:`````.ii*****;;;;iiii***;......::::::,,.                 
                 `,:i*+++++++++++++++++i;;;;;;;,....,,,,,,,,,,,#;:,,,,,,,,:zzzz::;;ii***++++;      ;iii***i,......,,,,......:::::,,,,,.               
                     `.++++++++++++++*;;;;::,,.......,,,,,,,,,:*;.:,,,,:i*+zzzzz++++*******+z.     `iiiii**i:.........................``              
                      `*++++++++++++*:,,..............,,,,,,:::i: ``   ;zzzzzzzz+++++**+**++#+      .iiiiii**;.......................`                
                       *+++++++++++++i:...............,,,,;;;;;;:      izzzzzzz#++++*++++++###;      :iiiiiiii;....................`                  
                       *++++++++++++i*+*;,...............;;;;;;;,      +zzzzz#++++*++*+*++++###.     `iiiiiiiiii,................`                    
                       i+++++++++++;  .:i*i:.............:;;;;;;.     `#zzz#+++++++++++++++++##*      ,iiiiiiiiii:..............`                     
                       i++++++++++;`     `.:;;,..........,;;;;;;`     .zzz#++++++++++++++*++++##:      :;;iiiiiiii:...........`                       
                       ;+++++++++;`         ``............:;;;;:      :z#++++++++++++++++++++++++`     `;;;;;;;;;;,..........`                        
                       ;++++++++;             `............:;;;,      :***++++++++++*********++++i      ,;;;;;;;;;............                        
                       :+++++++;              .............,:::.           ```..,:+*++++**++++++++,      :;;;;;;;,............`                       
                       :++++++;`              ......  `.....:::.                 `+++++*```.,::;ii*`     `;;;;;;;.............`                       
                       ,+++++;                .....     `....::`                  *+*++:                  ,;;;;;:.....` `.....`                       
                       ,++++;                 ....        `..,:                   ;+++*`                   :;;;;....``    .....                       
                       .+++;`                `...`          `.,                   :+++;                    `::::...`       `...`                      
                       `++;                  `..`                                 .+++.                     .::,..`         `..`                      
                       `+:                   `.`                                  `*+i                       ::.`            `.`                      
                        :`                   ``                                    *+,                       `,`              `.                      
                                             `                                     ;*`                                         ``                     
                                                                                   :;                                                                 
                                                                                   ..