``.....,,,,,,.....```                                                       
                                                 `.:;;ii;;iiiiiiii;;;;;;;ii;:,..          `                                       
                                   `          .:;;;;;i**+***i***+**iii;;iiiii;;:;:.`    `   ``                                    
                                          `,i+*iiiiii*#nnzz####zzz##++**+++***ii;;;;:.`                                           
                                       `.*nn#+##++*i*+zxMMxxxnnnnnzzzzzzzzzz#+*ii;;i;;::.`                                        
                                     `.;#nxxznnnnz#+#znxMMMMxxxxnnnnxxxnnxxMxnz#*;;;;;ii;:.`                                      
                                   `,:;i+nxxxMWWMxnnnxxxMMMMxxxMMMMxxxxnxxMWWWxn+i;;;;;;;;;:.                                     
                                 `.;#+ii+zxMWWWMMMxnnnnnxxxMMMMWWWWMMxxnnxMMWWMMn+i;;;;;;;;;;:.                                   
                                `:;*#+*##zxxMMMMxxxxnnnxnxxMMWWWWWWWMMxxnnnxMWWWMz+i;;;;;;;;i;;:`                                 
                              `,;;i+#zznxnnxMMxxxxxxnnnnnnxMWWWWWWWWWMMxxnnnxMWWWxz+i;;i;;;;;;;;;,`                               
                             .:;;;i+znnMMxnnxxxxnnnnzznnnnxxMMMWWWWWWWMMxxnnnxMMMMxn+i;;;;;;;;;i;;:.`                             
                           `.;i;;i*znxxMMxnnxMMxnnnzzzzznnnxMMMWWWWWWWWWMMxxxxxMxMWMn+i;;;;;;;;i;ii:,`                            
                          `,;;;:;i#nxxxxMMxxxMMxxxnzzzz##znxMMWWWWWWWWWWWWMMxxxxMMMMxn#*i;;;;;;;;;;;;,`                           
                         .:i;;;ii+zxxxxxxMMxxMMMMxnnnnz##znMMWWMMMMMMWWWWWWMMMxxMMMMMMn#*i;;;;;;;;;;i;:.                          
                       `.:i;;*++#zxxxnnxxxxxnxxMMMMxMxn#znxMMMMMMMMMMMMWWWWWWMMMxMMMMMxxn#*i;;;;;;;;;;;;,`                        
                      `,:;;:iznnxMMxnznnxxnxnxxxMMWWWMnznxxnnnnnnxxnnnxxMMMMMMMMxxxxMMMWWxn#*;;;;;;;;;;;:,`                       
                      ,;;;:;*zxMMMMxnnnnxnnxxxxxxMWWMxnzxxn#+++##zz###zznnxxxMMWWxxxxMMMWWMn#*;;;;;;;;;;;;,`                      
                    `,;;:;;;+nxxxxxxnnnnnnnnxxMxMMMMxzznxz#+****+++++++###znnxxMMMxxxxMMWWWMx#*;;;;;;;;;;;;:`  `                  
                   `,;;::;i+zxMxnnnnnnnxnnnnnxxMMxxxnzznz#*iiiii*******+++###znxMMxxxxMMWWWMMn+*;;;;;;;;i;;;,`                    
                  `,;;;;:;*nMxxxnnnnnxxxnnnzznnnnnnzzzzz+*iiiii;iiiiii*****++##znxMMMMMMWWMMMxz+i;;;;;;;i;;;;,`                   
                 `,;;;;;:izMMxnnxnnnxxxxxxxxnnnzzzzzzzz#*i;;;;;;;iiiiiii*****++#znxMMMMMMMMMMMxz+*;;;;;;;;;;;;,                   
                 .;;;::;;+xMMxxxxxxxxxnnxxMxxnnzzzzzzz#*i;;;;;;;;;;;iiiiii****++#znxMWMMMWWMMMMnz+i;;;;;:;;;;;;,                  
                ,:;;;;::;#xMxxMMMxxMMMxnMMMxxxxnnnz##+*i;;;;;;;;;;;;;iiiiii*****+#znMWWWMWWMMWMxn#*;;;;;;;;;;;;;.`                
               .;;;;;;;;*zxMxMMxxxxxMMxxMMMMMMxnnz#+*ii;;;;;;;;;;;;;;;iiiiiii****+#zxMMWWWWWWWWMxz+ii;;;;;;;;;;i:.                
           `  `:;::;;:;i#nxMMMMxnnnxxxxxnnnnnnz###+*i;;:;::;;;;;;;;;;;;;iiiiii***++#znMMWWWWWWWMxz+*i;;;:;;;;;;:i,`               
             `,;;;;;:;i+nxMMMMxxnnnnnnzz#########+*i;::::::;;;;;;;;;;;;;;;iiiii***+##zxMW@@WWWWWMnz+*ii;;;;;;;;;:i:  `            
             .:;;;;;;;*#xxMMMxxnnnnzzz##########+*i;;::::::::::;;;;;;;;;;;;iiiii**++#znxWW@WWWWWWxnz+*i;;;;;;;;;;;;,              
            .:;;;::;:;*zxMMMMxnnzzz##++#######++*i;:::::::::::::;;;;;;;;;;;;;iiii**++#znMWWWWWWWWMxn#+*ii;;;;;;;;:;;.             
         ` `,;;:;::;:;*nMMMMxnnnzzz#++++####++*ii;:::::::::::::::::::;;;;;;;;;iiii*++##zxMWWWWWWWMMxz#*ii;;;;;;;;:;i,`            
           .:;:;;:;;:;+nMMMMxxnnz###++++****ii;;;;::::::::::::::::::::;;;;;;;;;iii**++#znxMWWWWWWWWMnz+*i;;;;;;;:;;;;,            
          `:;::;;::::;+nWMMMxxnnz##+++**iiii;;;:;;::;;::::::::::::::::;;;;;;;;;iii***+##znMWWWWWWWWMxz#*i;;;;;;;:i;:;:`           
         `,;;::;:::::i#xWMMMxxnnz##+++**iii;;;;;;;::::::::::::::::::::;;;;;;;;;iiii***+#znxMWWWWWWWMxnz+i;;;;;;;;;;;;;,`          
         `:;::;:;;;:;*nMWMMxxxnzz##+++**iiii;;;;;;::::::::::::::::::::;;;;;;;;;iiii***++#znMWWWWWWWWMxn#*i;;;;;;;:;;;;:.          
      ` `,;::;;::;::i#xWWMMxnnzzz##++***iiiii;;;;;:::::::::::::::::::::;;;;;;;;iiiii***+#znxxMWWWWWWMMnz*i;;;:;;;;;;;;::   `  `   
        .:;:::;::;:;*zMWWMxxnzzzz#+++***iiii;;;;;;:::::::::::::::::::::;;;;;;;;iiiii***+##znxMWWW@WWMMxz+i;;;;;;;;;;;;::.         
        ,:;::::::::;+nWWMxnnnzzzz#++****iiii;;;;;;::::::::::::::::::::::;;;;;;;iiii****++#zznxWWW@WWMMxn#*;;;;;;:;;;;;;;, `  `    
    `  .:::::::::::i#xWWMnnnnzzzz#++****iii;;;;;;:::::::::::::::::::::::;;;;;;;iiii****++#zznxMW@@WWMxxxz+;;;;;;:;;;;;;;;.        
       ,;::::::::::i#MWWMnznnnnnz#+*****iii;;;;;;::::::::::::::::::::::::;;;;;;iii*****++##znxMWW@WWMMxxz+i;;;;;::;;;;;;;,        
      `::::::::::::izMWMxnnnnxnnz#+***iiiii;;;;:::::::::::::::::::::::::::;;;;;;iii***++++#znxxMWWWWWMMxn#*;;;;;;;;;;;;;;:`       
      ,;::::::::::;*zMMxxnnxxxxz#++***iiii;;;;;:::::::::::::::::::::::::::;;;;;;iii****+++#zzxxxMMWWWMMxxz+i;;;;;;;;;;;;;;,       
     `,;:;::::::::;*zxxxxxxxxMxz#+****i*ii;;;;::::::::::::::::::::::::::::;;;;;;;iii***+++##zxxxxMWWWWMxMn#i;:;;;;;;;;;;;;:       
     .::::::::::;::*zxxxxxxxMxz#++***iiiii;;;;;::::::,,:,,,,,,::::::::::::::::;;;iiii**+++##zxxxxxMWWWMxxxzi;;;;;;;;;;;;;;;,  `   
     ,:::::::::::::*zxxxxxxMxxz#++***iiii;;;:;:::::::,,,,,,,,,::::::::::::::::;;;;iii**++++#zxxxxxMWWWMxxxz*;;:;;;;;;;;;;;:,      
 ` ` ::::::::::::::*zxxMxxMMxn#+++***iiii;;;;;;;;;;;::::,,,,,,,,,,::,,::::::::;;;;iiii**++##znxxxxMWWWMxxxz*;;::;;;;;;;;;;::`     
    `:;::::::::::::izxMxxxMMxz#+*****ii;;iiiiii*iiiii;;;::,,,,,,,,,,,,,::::::;;iiiiiii**++##znxxxxxMWMMxxx#i;;::;;;;;;;;;;;;.     
    ,:;::::::::::::*zxxxxxMMnz++*****iiii***+++++*****iii;::,,,,,,,,,,,:,:;;iii**********+###nxxxxxMMMxxxn+i;::;;;;;;;;;;:;:,     
    ::;:::::::::::;+nxxxxxMMn#++++******+++#####+++++++++*i;:,,,,,,,,,:::;i*+*++++##++***++##znxxxxMMMxxxn+;;::;:;;;;;;;;:;::     
   `::::::::::::::izxxnxxxMxz#+*++***+++#########++###++++*i;:,,,,,,,:::;i+#######zzzz##++###znxxxxMMxxxxn+;;;:;::;;:;;;;;;:;`    
   .:::;:::::::::;*nMxnxxxMxz+***++++###+++***++#+++#+++**+*i::::::::::;i*+####zzzznnnnzz###zznxxxxMMxxMxn+i;;:;:::;:;;;;;;;;.    
   ,::;:::::::::::*zMMxxxxxnz+*+**++#++***iiiiii********i***i;::::::::;i**+##zzzzzzznnnnnnzzzznxxxMMMxxMx#*i;:;::::;:;;;:;;;::    
   ,::::::::::::::i#nxMMxxxn#+*****++*ii;;;;;;;iii*********ii;:::::::;ii**+++########zzznnnnzznnxxxMMMMMn+i;:::::::;:;;;;;;;::    
  `,:::::::::::::::i#xMMxxxn#+*******iii;;iiiiii**++++++***ii;;:::::;;i**++++++******+++#zznzzznxxxxMMMMz*;::::::::;:;;;;;:;::`   
  `,:::::::::::::::;+nxxxxxn#*******iiiiii**++**+++###+++**ii;;::::;;i**++#+++**iiiiiii**+#zzzzznxxxxMMx#*::::;::::;:;;;;;:;::`   
  `,:::::::::::::::;+nxxxxxz#**iiiiii***++######zz####++++**ii;::::;i*+++###++******iiii*+##zzznnxxxMMMx#i:::;;::::;:;;;;;:;;;`   
  .,:::::::::::::::i+nxxxxnz#**iiii***++zzzzzznxxnz#+##++****i;::::;i+######++++##++++***++###zznxMMMMMx#i:;;::::::;:;;;:;:;;;`   
  .:::::::::::::::;*+zxxxxnz+**iiii**+#zzz#++znxxn+ii*+******i;::::i*+#####++#zznzz#####+++++##znxMMMMMn+i:;:::::::;:;;;:;;;:;`   
  .:::::::::::::::i*+znxxxn#+*ii;;i**+#zzz#**#znnz*;;i*******i;;::;i*+##+++*+#nxxnzzzzzz##+++##zzxMMMMxn+;:;;::;:::;:;;;:;;;:;`   
  ,,::::::::::::::;i+#nxnnz#+*ii;;;i*+##z#+**+#z#+i;i***i****i;;::;i+##+++*ii+nxxn###znnz#++++#znxMxMWMz*;:::::;:::::;;;;;;:;:.   
  ,,::::::::::::::;i*#zxnnz#+*i;;;;ii**++++*****+*ii****i****i;;::;i+##++**ii+#znz+++znnnz#+++#znxMxMMx#i;::;::;:::::;;;;;;:;:.   
  ,,::::::::::::::;ii+znnz##+*i;;;;;;ii*******iiii******i****i;;:;;i+##+++****+###+*+#nnnz+***#znxMxMMn+;;::;::::::::;;;;;;:;:.   
  ,,::::::::::::::;;i*#nnz#++*i;;;;;;;;i*****iiiii**********ii;;;;;i*##++++*****++++##zz#+****#znxxMMxz*;::::::::::::;;;;;;:;:.   
  ,,::::::::::::::;;i*#znz#++*i;;;;;;;;;iiiiiiiii***********ii;;;;;;*+#+***********+###++**i**#znxxMMx#i;;:::::;:::::;;;:;;:;:.   
  ,,::::::::::::::;;i*+#zz#++*ii;;;;;;;;;;;;iiiiiii*iiii**iiiii;;;;;*+#+************+#++******+#nxMMxn+;;;:::::::::::;;;:;;:;:.   
  ,,:::::::::::::::;;i*+z#++**ii;;;;;;;;;;;;ii;;;iiiiiiiiiiiiiii;;;i*+++**i**********+***ii***+#nxMMx#*;;;:::;:::::::;;;:;;:;:.   
  ,,:::::::::::::::;;i**z#++**i;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiii;;;;i*++**iiiiiiii*****iiiiiii*+#nxMMn#i:::::;;:::::::;;;:;;:;:.   
  ,,,:,::::::::::::;iiii##+++*i;;;;;;;;;;;;;;;;;;;;;;:;iiiii*ii;;;ii*+++*iii;;;iiiiiiiiiii****+#nxMMx#i;:::::::::::::;;;:;:::;.   
  ,,,:,::::::::::::;iii;*#++**i;;;;;;;;;::::::::::::::;;iii**ii;;;ii*+++*ii;;;;;iiiiiiiiiii***+#nxMMxz*;:::::::::::::;;;:;:::;.   
  ,,,::::::::::::::;;i;;i+++**i;;;;;;;;;::::::::::::::;;iii**ii;;;ii*+++*i;;;;;;;;;;iiiiiiii**+#nxMMMz*;:::::::::::::;;;:;:::;`   
  .,,:::::::::::::::;i;:;+#+**i;;;;;;;;;::::::::::::::;;ii***i;;;;;i*+++*i;;:::;:;;;;;iiiiiii*+#nxMMxz*;:::::::::::::;;;:;:::;`   
  .,::::::::::::::::;i;;;+#+*ii;;;;;;;;:::::::::::::::;;ii***i;;;;;i*+++*i;;;:::::;;;;;iiiii**+#nxMxn+i::::::::::::::;;;:;:;:;`   
  .,::::::::::::::::;ii;;+#+*ii;;;;;;;::::::,,,,::::::;;*****i;;:;;;*+#+*i;;::::::;;;;;;iiii**+#nMMn#i;::::::::::::::;;;;;:;::`   
  `,::::::::::::::::;iiii##+*iii;;;;;:::::::,,,,::::,:;i****ii;::::;i+#++i;:::::::::;;;;iii***+#nMMn+;:::::::::::::::;;;;;:;;:`   
  `,:::::::::::::::::iii*#++*iii;;;;;:::::::,,,,::::,:;i****i;:::::;i*+++i;:::::::::;;;;iii***+#nMxz*;:;:::::::::::::;;;;;:;;:`   
   ,::,:::::::::::::;ii**##+*iiii;;;;:::::::,,,,,:::::i**iiii;:,.,,:i*+#+*;:,,,,::::;;;;ii****+#nMx#i::::::::::::::::::;:;::;:    
   .::,::::::::::::::;i**+#+**iii;;;;::::::,,,,,,::::;i*iiiii;::,,,:i*+++*;:,,,,:::::;;;ii****+#nMx#i::::::::::::::::::;;;;:;:    
   .::::::::::::::::::ii*+#+**iii;;;;;:::::,,,,,:::::;i******i;::::;i++++*;:,,,,:::::;;;ii****+znMx#i::::::::::::::::::;;:;:;,    
   `::::::::::::::::::;**+#+**iiii;;;;::::::,,:::::::;i***+++*i;;;;i+++++*;:,,,,:::::;;;ii***++znMx#i::::::::::::::::::;;:;:;.    
   `:::,::::::::::::::;**##++*iiiii;;;;::::::::::::::;i****+++*i;;i+#+*++*;::,,,:::::;;;ii**++#zxMx#i::::::::::::::::::;;:;;:`    
    ,:::::::::::::::::;*+##+**iiiii;;;;:::::::::;::::;i**ii**+**ii*+#***+*;:::::::::;;;;i***++#zxMx+i::::::::::::::::::;;:;;,     
    .:::::::::::::::::;i+##+**iiiii;;;;;:::::::;;;;;;;ii*iiii*****+++****i;;:::::::;;;;;i***++#zxMn+i::::::::::::::::::;:;:;.     
 ` `.:::::::::::::::::;i+++***iiiiii;;;;:::;;;;;;;;;;;;iiii;;;i**+*ii*+*ii;;;;::::;;;;;;i***++#zxxn+;::::::::::::::::::;:;:;.     
  `  :::::::::::::::::::i+++***iiii;;;;;:::;;;;;;;;;;;;;;ii;;;iiii;i****iiii;;;;;;;;;;;ii**+++#nxxn*;;::::::::::::::::::;:;;      
     ,::::::::::::::::::;*++***iiii;;;;;;;;;;;;;;;i;;;;;;;;;;;;i;;;;i**iiiiii;;;;;;;;;;ii**+++#nxxz*;::::::::::::::::::::::,      
     `:::::::::::::::::::i++**iiiii;;;;:;;;;;;;;;ii;;;;;;;;;;;;;;;;;iiii**iiii;;;;;;;;;ii***+#znxxz*;::::::::::::::::::::::.      
    ` ,::::::::::::::::::i++**iiiii;;;:::;;;;;;i;ii;;;;;;;;;;;;;:;;;iiii*****iii;;;;;;iii***+#znxxzi;::::::::::::::::::::;:       
    ` ,::::::::::::::::,:i++*iiiiiii;;;:::;;;;iiiii;;;;;;;:::;;;::;;;iiiiii***iiii;;;;iii***+#zxxx#i;:::::::::::::::::::;:,       
    ` `,:::::::::::::::::i++**iiiiii;;;:::;;;iiiiiii;;;;;;:::::;:::;;iiiii*****iii;;;;iii**++#zxxx#i;:::::::::::::::::::;:.       
       ,:::::::::::::::::;*+**iiiiii;;;;:::;;iii****iiiiii;;;;;;;;;;iiiii***+**iiii;;;iii**++#zxxn#i;::::::::::::::::::::,`       
     ` .:::::::::::::::::;*++*ii;iiii;;;::::;;ii*++++++*iiiii;;;;;;ii**i****++**iii;;;;ii**++#zxxn+i:::;:::::::::::::::::.        
        ,::,::,:::::::::,;*++*iiii;;;;;;::::;;;;;i*+###++*****ii***+++++####+**ii;;;;;ii***++#nxxn+i:::::::::::::::::::;,`        
        .,::::::::::::::,;*++*iiii;;;;;;::::;;;;;i**++++*********+++++#####++*ii;;;;;;ii***++#nxxn+;::::::::::::::::::::.         
        `,::,::,::::::::,:i++**iii;;;;;;:::::;;;;;iii***iiiiii******+++####+*i;;;::;;;ii***++znxxz*;:::::::::::::::::;:,          
         `:::::,::::::::::;*++*iii;;;;;;:::::;;;;;;;iiiii;;;;;iiiii***++#++*ii;;;::;;ii****+#znxxz*;::::::::::::::::;;,.          
          .:::::::::::::::;*++*iii;;;;;;:::::;;;;;;;;iiii;;;;;;;;iii***+++**ii;;;;;;;ii****+#nxxx#i;::::::::::::::::;:.           
          `::::::::::::::,:i++*iii;;;;;;:::::;;;;;;;;ii;;;;;;;;;;iii*********ii;;;;;iii****+znxxn#i:::::::::::::::::;:.           
           .::,::::::::::,:;*++*iii;;;;;:::::;;;;;i;;i;;;;;;;;;;;iiiii*******ii;;;;;ii****+#nxxxn+;::::::::::::::::;:.`           
           `,:,::::::::::,,;*++*iii;;;;;;::::;;;;ii;iii;;;;;iiiiiiiiii******iii;;;;;ii**+++#nxxxz*:::::::::::::::::;,`            
            `,:,:::::::::,::;#+**iii;;;;;::::;;;;;;iiiiiiiiiiiiiiiiiii*****iiiii;;;ii***++#znxxn#i::::::::::::::::;:.             
             .,::::,:::::,::;+++**ii;;;;;:::;;;;;;;;;;;;;iiiiiiiiiiiiii***i**iii;;ii****++#zxxxn+i:::::::::::::::::.`             
             `.:::,,,,:::,::;*++**iii;;;;;::;;;;i;;;;;;;;;;;iiiiiiiiiiiiiii***iii;ii***++#znxMn#*;::::::::::::::::,`              
              `,:::,:::::,:::i+++**iiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiii***iiiii****++znnxMn+i::::::::::::::::,.               
               `,,:::::::::::;+#++*iiiii;;;;;;;;;;;;;;;;;:::::;;;;;;iiiiii****iiiii****+#zxxMxz*;::::::::::::::::.                
                .,:::::::::::;+##+**iiiiiiiiii;;;;;;;;;;;;::::::;;;;;iiiii************++#nxxxn#i:::::::::::::;;:.                 
                `.,::,::::,:,;+##++**iiiiiiiiiii;;;;;;;;;;:::::::;;;;iiiii************+#znxxxz*;:::::::::::::;:.                  
                 `,::,,:::,:,:+###+***iiiiiiiiiiii;;;;;;;::::::::;;;;iiiii***********+##nnxxn#i::::;::::::::::,`                  
                   ,:,,:,,::,:+###++**iiii***iiiiii;;;;;::::::::::;;;;iii*****+++**+++#znxMxz*;:::::::::;::::,`                   
                   `.::,,,:,,;+####++**i******iiiii;;;;;;:::::::::;;;;ii******+++++++#zznxMx#i::::::::::::;:,`                    
                    `,:,:,,,:i++####++*********iiiii;;;;;:::::::::;;;;ii***+++++++++##znxMMn+;:::::::::::::,`                     
                      .,::,,:*++#####+**********iiii;;;;;:::::::::;;;ii***+++++++++##znnxMx#i:::::::::::::.`                      
                       .,:::;*++######+**********iiii;;;;;::;::::;;;iii***+##+++++##zznznxn*;::::::::::::.                        
                        .,,:i*+++++###++**********iii;;;;;;;;;:::;;;ii***++###++++##zzz#znzi::::::::::::.                         
                        ``.:*+*+++++##++************ii;;;;;;;;;;;;iiii**++####++###zzz#+#z#i::::::::::,.                          
                          .:++****++###+++**********iiii;;;;;;;;;iiii**++#########zzzz#*+zzi:::::::::,`                           
                           `:++i****+####+++****++*****iiiiiiiiiiii***++####+++##zzzz#+++zz+;::::::,.`                            
                             ,;ii****+###+++***+**++****************+++###+++###znz###***#z#i::,::,.`                             
                              `,iiii**++###++*****+++++***********+++++#++++###zzz##++**+#z#i:::,.`                               
                                .:i*ii*+++##++*****+++++**********+++++++++###zz###++**++###*;,,``                                
                                  ,:i***+++###++*******************+++++++##zzzzz#++*ii++++#+;.                                   
                                   `,;i*+++####++++******************++++##zzzz##+++*i*+*+#*,  `                                  
                             `    `   ,;i*+++##++++++***************++++###zz###+++*i*+i+;.                                       
                                    `   .:*++++####+++**********+++++#########+++++i;**:``                                        
                                           .;*++#+++++++++++++++++++#########+++***i:.`                                           
                                             `,:*++####++++++++++####zzzz#+*****;:.`   `                                          
                                               ```,;i*+###############++++++*;,`                                                  
                                            ``     ```..::;i**++++++**ii:,`                                                       
                                                       `                                                                          
                                               ` ``