:;;,,.``                                                                                      
                                                       .*;:;;:::::.                                                                                   
                                                   `.,:;i*i;ii;;::;:                                                                                  
                                                 ,iii+z**#ii;::::::,.                                                                                 
                                           `,:;,;n**i+*i;;::,::::::::,`                                                                               
                                         `,::;ii#*;i*i;;;;;;ii:::::::,,`                                                                              
                                      `::;:::::::;;i::::;+++##i:::::;:::                                                                              
                                      ;;:;::::::;;;;::;i+#z####;:;ii;;,:,                                                                             
                                    `.;;;;;;+z;;:;ii:;i+zznzzn#;,;#zz++#i.     ```  .:.                                                               
                                  `.::ii;::i+:;*iii;:;;;i++zMMnii::;+zzz#i`  `,;;i;+##*;.`                                                            
                                 ;i::;;;;:i+*i#n*i;;;;ii*z**xWni*i:;++nzz*::,,::;;znnnzz#i.                                                           
                                .:;;;;::;;;;i+**iiii**++nni*:::#ii;;iiinz*::::,;;+nnxxxxxz,.`                                                         
                             `.:;;:::;;:;iiii;;;i*++#zzzx#;,,.,;i**ii*;+z;;;;;;;;izMMxMMMxi:,,`                                                       
                            .;**;;::;;;;;iii*#i;ii+n#zxxz;:,,,,;*ii;;i+x#;;::::i+*+nznWWM*;:,::,`                                                     
                           `;***;::::::;*i*+zni;i;+n##x#i;:,,,,,:::::i#M#;i;:::;ni;;:;zzi;+i:::,,.                                                    
                          ,i**+i;:;:::::;*+*+n;::;*zn++i;;:,,,,,,,,::iin#;#i::,:++*iiii+zz##i:,,:,`                                                   
                        `;*i;i*i;:;::;:;i;;*++;;:;i#zi+;;i;::,,,,::;;;iii*n*;:+nxnnnz###nnxxx+:::,.                                                   
                        ,+i;;:ii;i;::;;;;:;#z*i*;:;nM+*i*i,:::,,:::;;;*iinx+i:+xMxn*#nnnnnxxnn;,,:,`                                                  
                       .+i;;::*iii;:iii;;::i;;;;;;;n@#;;i::;::::;;:::;;i*nnz#*;;i::iMWznxnnnnni,:,,.                                                  
                      :ii*;;i;:;i:;ii+;;;;:,,:::;i*zz+i;;:::::;;;;;;;;****++*i;::;;+MWWMMWMMnz*::::,                                                  
                     .i:;ii;;;::i;;;::::::::,,:::;***i*i;:::;;;:;:;;;;+++**ii;;::i+#MWWMMMMMMz+:,::,                                                  
                    `:i;;i;;;;::;;;ii:::::::;;;;;i###**ii;;i#n#*:::;;izz+#+ii;::::+*#WWWMMMnxz*::::,                                                  
                   `;ii;::::::::;i+i;:;i;;::**ii*#nn#:;i;;innzn*;:;;;i##+#z*;::,.,;;*nWWMWWxxz;::::;                                                  
                   ,i;i;:::;;;;iiiii;::::;;*#+;i#zzz#:;;*:+Mnnz*;:;;i+n#+iii;;,,,,,:*zMWxxMxnz::*#;+i:.`   ..`                                        
                 ``:;:::::::;;i*+*+*i::::;*#+;*#zzzz*;;;;:innnz**;;i+z#+*ii*;;ii:,:izxxWxMxzn*;:#**#++*;...::,.                                       
                .*;:;;;i;;::;i+#z##++;;:ii*#iizxnxn#i:;;;;ii+*i*;;i+x#+*iiiiii;*;:*znz#nxn#iz+*:i+nnnzz+i:::i;:,.....                                 
               `i;;:;:;i;::::;;*#zzz+*i;**;i#znxx#*;:;iiiii;;;::;;+xnz+iii;;:::*+;;;;;;i*;;;:+*i+nxMxnnz#ii*#z+**:::i:.  `                            
               :iii;;:::i;:i*;:;::::::;*iiii#xxz+*i;i**i;i*i;;::;+nMxzz+*i:;;:;*#++i*i;i;;;;;*+++#zxxxxxn+ii+#*ii::::;i;**i;:`                        
              .;;i;;;;:;;ii+i::::::;;i;i;;;;zMWz++**+**i;*ii*i:;+nnnxnz+i;:*i#zn#zz**i;i*i;;+##+**i#MMMxx#;:i;;;:::;;;;+###+*:`                       
             `;;;i;;i;:;:;ii;:::;i+*+*i;;;i;MWx#++**i**iiii*+i;iMnxz#z##*;:+nz+xxxz*i;;*i;;+z+#+*i;ixWMMx+;:;;::;;;;;;i*+n#+z*:`                      
            `;ii;;i;;*i::;;i;;;;#znz++*;;:i;zx##+#zz+**i**+++iizzzxn#+***inW+;:nxxnz#;;i*;*zz++***i;iii*;;;;;;:;*z+iii+*ii++Mz+,.`                    
            .**iii+***i:;ii*;;+znnz#+*ii;;;;*#++#znn#iii**++*i+zz#z##+i;i:xxzi+xxx#z;;;*ii+#z+***#+*i;;:;:::;::;+*::+;;;;i*inMx*:,`                   
            .i*;ii++*i;;i#;;i#znzz#**ii;:::ii**+#++++***i+#*i*nn#zn*+#+**;****znxx+*i;;;;+#**i*+i+z*ii;;:,:;::,;i:izz*i;i*;;+zMz:,,`                  
            :i;;;;iiiii*ii*xxMnxnz#*i**;::;i***++++**+***zz#zzznz#z#+*+*;:i+*#xxxzn#*i;i*z*+***++**i;;;*::,,::,:,:xxxzi:i+i,:;#x+,,.                  
           `**ii*ii**;;;;izMxxMMMz#+++i;ii***i****+*****+#nnznn#z++#++#;i;;+;nxnxn#i;;i*xMn++#++++**;:i*:,,,,:,,::*xz+:,;;i:;;:;i,,.                  
           ;##*i****iiii;+nnnzxxxx#+**++i##*i*****++*iiii#nnnzzz+#+*iii;i;;:;zxMn#;;ii#MWMx***#z*i;ii;::,,,,,:,,:;:,,::,:;;*zx#+;;i,                  
          `#n#****#+*i;;*+zxnxxxxn+;i**#i####**i*+#+**ii*nznn#z#*z+i;ii;;;i;i#xxzi;i+nWxMn+i;++i*ii;;:,,,:::,:,,,:,:::,,::::;MWnzzzz*.                
           *x**++*+#i;;;i*xxxnxMMi;;i*+#*+;+n#i**+#**ii+z#nzz#+**+#i;;i;::::i*zi;;i+W@MMz++i;+*i**+:::,;:;,:::::::,:;;:::::::+Wzzz#z#*.               
           iz*#*iii;;****nxMxxxxi**iii++*+iii***+#+*i*nnz#nz#++**++*;:;;::,:;;*;i+zzzxxMn##*i#nzzz#++:::::::,:;;:;*n#i::;:,,:,inxzz##i:,              
           :+#++*+*i*+z+znxxxxxz*+*ii;*i**iii;##z#+*#xnn##n#+*++***i;;;:::::;;izxn#zz##M#+#+#znnxxxn#,,,,:i::;:::;;**;::;::::::#nz++i:;:`             
           ,#+++++***+zizzxnMMni**+**iii*iiii+++zz+nxxMxzzn+****i**;i;;;::;;;+MMn#znz#z###++zz#+n#z#i::,:::ii:,:;;::ii:::::::::::*;:;;;:`             
           `*++++*+++#+***+nMWz*++++**iiiiii***+#nWWMxxn#+***iiii**;;;:;::;i#MMxn#znz+z#++ii;**i*+++*:;:,:::::::;:::+i::::::;:;;::;;ii:;`             
            ,******+##+****+zx+**+*****i**i****zxMWWMxn#*z#;;iiii*iii;::;*znMxznzn#nn+z*+*;i**i;i**i;;*+*:::;:::::;ii::::i:;:;;;;;;ii;*;`             
            `.*+****#++********i******++***+*+xMWWWWx##zxWWn;:i*iiii;:;#xMnMxnnxxxzzz#+++**+++;;iz+i*zzzz*:;;;;;;i;;i;;i:i;;;;i*;;;;i;i;              
            ``,*****++#**+**i**i****++*****+nxxMMMMxz#nMWWxWn;;+iiii:*xMxnxxnxxxnnnznz+##+*+++i;;;#ixMx#xn*#;iii;;i;;;*zi;;;;;;;;;;;;;;:              
           ```.;i****+****+*****+++*+***++zxxnxxxMMnn#MMMxxxM#*##ii+nWMMxnznnnnnnznznzzn#++###*;;::nWM##xn#+*i;*iiiiii#**iiiii;;;;i;i*;,              
           ```.:i*******++++*****++****#nnnnxxxnxxxxxxMMMxnnn#nnnxxWMMMxMxnxnnzzzz##zzzn####zz+i;i;inxzz#nzn#+*#i**;ii*+ii+i;;ii;;;:*;;.`             
          ````.,i*+********+++*+**#++zxxxxMxnnnnxnzxMMxxxnzxxxxxxxMWWMxMxxxnzzzzz##++######zz#++*;izxxnx##+z##***z+iz****ii;;;;:;;;;;;;``             
         `````.:i*+##z+++***+**+*#zMxMxxMWMxxxxzxxnWMxMnnxnxxxxxxxMWWMMMxxxxxnzz#++++++++##zz#+++i;inxxxnnxxzz;;izn+**+i*iiii;;;;;;ii;,``             
         `````.:i*++##zzzz####znxMMMWMMMxxnnnnnnznxMMxxzzzznnxxxxxMWWWMxMxnnzzzz###++++++++#+#++++*+++zxxxxxzn*i;i*#***iiiii;;;;;;iii:.`              
         `````.,:i*++####zzznnxxxMMMMMxxnnnnnnnnnzzMxxnz####zznnxxMMWWWMMMxnzzzz####+++++***+#+###++++zxxMxxnz#;i;i****iii;;;i;;;iii,.``              
          `````.,:i*++++####zzznxxxxnnnxnnnnnnzz###zzz++++++++##znxMMMWWMMxxnzzzz####++#*+#+*+##+###++*#z#nnnn#*ii*i*i*+iii;;;iiii;,.`                
            ````..:;i**++++####zzznnnzzzzz####+++++++************++znxMMWWMxxnnnzzz##z###+#+++++++++#+*****+ii#**i**+#+*iiii*i**;:.``                 
             `````.,:;i***++++++############++++*******iiiiiiiiiiiii*+#znMMMMxxnnnnzzzz###++*++++++++#+*+****;**i*+##+ii*i***i:,.``                   
               `````.,:;iii******+++++++++++++****iiiiii;;;;;;;;;;;;;;;ii*+znMMMxnnnzzzz####++##+##++++++**+**++#+++++*+**;:,..`                      
                 `````..,:;;iiiiiiii**********iiiii;;;;;;;:::::::::::::::::::;*#nxxnnnzzzz########+##++++++######++##+*;:,..``                        
                   ``````..,:::;;;;;;;;;;i;ii;;;;;;::::::::,,,,,,,,,,,,..........,:i*#znnnnzzzzzzzzzz#z#nnnzzzzz#+i;:,..```                           
                       `````..,,,:::::::::::::::::::,,,,,,,,..........`````````````````..,:;;ii*****ii;;;;;::::,..```                                 
                           `````.......,,,,,,,,,,.............```````````````                 ``````````````````                                      
                              ``````````...........```````````````````                                                                                
                                  ````````````````````````````` `                                                                                     
                                                ````