`,:.                                                                                          
                                                        +z##*``                                                                                       
                                                       .z###+##+*i**i;;:,,,.`                                                                         
                                                       ;#++#####+++++#######+*i;:,`                                                                   
                                                       ;++##############znnzzzz##zz#:                                                                 
                                                      `*++############zznxxzzz#####zni                                                                
                                                     .*++########zz###zzzxxxn##zz###zn;                                                               
                                                    `**++#z############zzzxnz#zzzzz#zxn*.                                                             
                                                   `i***#zzz###########zz#znz##znnnzzxxn#.                                                            
                                                   :***+#zzz###########zz##z###zxxnz#nxxn+`                                                           
                                                  .i;**+zzzz############zz##z##nzzn##zxxxn;                                                           
                                                  iii**+zz###++++#######zz###zz##zz++zxMxnz,                                                          
                                                 `+*i*++####++*+########zzz##zzz##z+#nxMxnnz.                                                         
                                                 ,#+i*++#++++++**++####zzzzz#zzzzz#z+nMMxnnzi                                                         
                                                 +Mz**++++++###+****###zzzzz##znznnz#xMMxnnnz.                                                        
                                                 #Mx**++++*+#zxnnnzz#zzzzzzz###nnnxxxMMxnnzzn+                                                        
                                                 zMz++++++znMWMWMWWxz##zz######znnnnxxxxnnzznz,                                                       
                                                `#z####zznxnxMMWWM#*iii*+#######nnnnnnxnnnzzzz+                                                       
                                                .#zzzznnxxn#*++#+**ii;;;i+++####zzzznnnnnnzzzzz`                                                      
                                                ,znnnxnnnnz+*******i;:::;i++###zzzzzzzzzzzzzzzz;                                                      
                                               `*nxxxnnnnz#*i;;iii;;:,,:;i*++##zzzzzzzzzzzzzzzz#.                                                     
                                              `innxxxnnzz#+*i;;:;:::,,,,;;i*++###zzzzz#zzz##zzzz#.                                                    
                                             `+nxxxnzzz#+++*i;::::,,,,,,:;i**+####z#zzz#z###zzzzn#`                                                   
                                            `*nxMMxnz#++++**i;;:::,,,,,,:;ii**++########z###zzzznn+`                                                  
                                            *xMMMxxnz#+++++***ii;;::,,,,,:;ii**+######zzz##zzzzznnz#.                                                 
                                           :WWWWWMxz++++###*+##*i;::,,:::;;;ii*++###zzzz###zzzzzzzzzz,                                                
                                           #WWMWWWWn+++++++*#z#+*i;;;;;;;;iii***+##zzzzz#zzzzzzzzzzzzzi`                                              
                                           xWWWWWWMz#++++*##nxn#+ii;i;;;;;;i**+++#zzzzzzzzznzzzzzzz#zz##,                                             
                                           #WWWWWMxz#+**+##nMMxz#*i:::;:;;ii**+++##zzzzzzzznzzzzzzzzzzz##:                                            
                                           .xWWWMxn#*+#+zznMMMn#+*;::::;;iii*+++##zzzzzzzznnnzzzzzzzzzz##z:                                           
                                            ,zMxxxxz##zzznMMnz#++i;::::;;;i**+++##z#z#zznnnzzz#zzzzzz##z###:                                          
                                             `:znxxxxnnnnMnz###+i;;::::;;ii**++####zzzznnnnzzzz#zzzzzzz##zz#:                                         
                                                `,,:+znnzz###+*i;;:::::;i**++++####zzzznnnnzzzz##zzz###zz####,                                        
                                                    ,#######+ii;;;:::;;ii**++++#zzzzzznnnnzzzzzzz#####zzzzzz##.                                       
                                                     *+++++*ii;;;;;:;;;;i***+##zzzznzznnnzzzzzzz###zzzzzzzzzz#*`                                      
                                                     i*++**i;;;;;;;;;;ii***++#zzznnzznnnnzzzz##zz#zzz####znnz#z;                                      
                                                     ;iiiii;;;;;;;;;;;ii*++###zzzzzzznnnzzzz##zzzzz####znnxnnzz#.                                     
                                                     :iiii;;;;;;;;;iii**+###zzzzzzzznnzzzzz#z##zzzzz###znnnnnnnz*                                     
                                                     :iiiii;;;;;;iiii**++##zzzzzzzznnzzz############zzzznnnnnnxn#,                                    
                                                     :;;iiii;;;;ii*i***+++#zzzzzzzzzzz################znnnnnnnnnz+                                    
                                                    `:;;;;i;;;;;;ii***+++###z#zzzzzzz################znnnnnnnnnnzz.                                   
                                                    `;;;;;;;;;;;;;ii***+++###########+#+++++++######zxxnnnnnnnnnzz;                                   
                                                    `:;;;;;;;;;:;;;;i***++++####++++#+++++++++####zznxnnnnznnnnnzz*                                   
                                                    `:;;;;;;;::::::;ii****+++#+++*+****+***+++###zznnnnnnznnnnnzzz#`                                  
                                                     ::;;;;;;;;::::;;i*****+++***********++++++##znnnnnnnnnxxnnzzzz,                                  
                                                     ::;;;i;;;;::::;;;ii*********iiii******++##zznnnnnnznnnxxnnzzzz*                                  
                                                     ::;;;ii;;;:::::;;ii******iiiiiii******++##znznzzznnnnxxnnnzzzzz`                                 
                                                     :::;;;;;;;:::::;iiiiiiiiiiiiiiii****+#+##zzzzzzznnnnxxnnzzzzzzn:                                 
                                                     ::::;;;;;;:::::;;iiiiiii;;;iiii***+*++#####zzzznnnnxxxnnzzzzzzz#                                 
                                                    `:;;;;;;;;;::::::;;;;;;;;;;;ii****+++++######zzzzznnxxnnnzzzzzzzx,                                
                                                    `::;;;:;;;::::::::;;;;;;;iiii***+++++++######zzzznnxMxnnzzzzzzznx+                                
                                                    `:::::::;;:;;;;::::;;;;iiii******+*++++*++###zzzznnxxxnzzzzzzzznxx.                               
                                                    `:;::::;;;;;;;;;:::;;iiii****************++#zzzzznnxxxnzzzzzzznxxx*                               
                                                    `;;;::::;;;;;;;;;:;;;ii**iii**ii*****ii**++#zzzzznnxxnnzzzzzznnxxxx`                              
                                                    `;;;;:::::;;;;;;;::;;;iiiiiiiiiii*i**ii**++#zzzznnxxxnzzzzzzznxxMxx;                              
                                                    `;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;iiiiiiii*+#zzzzznnnxxnzzzzzzznxxxxxz`                             
                                                    `;;;ii;;;;;;;;;;;;iii;iii;;;;;;;iiii;ii**+#znzzznnnnnzzzzzzznxxxxxxx.                             
                                                    `;;;iiii;;;;:::;;;;;;;;;;;;;;;;;;;;;;iii*+zzzzznnnnnnzzzzznnnxxxxxxn:                             
                                                    `;;;iiiii;;:::::;;;;;;;;;i;;;;;;;;;iii**+zzzzzzznnnnnzzzzznnnxxxxxnzi                             
                                                     ;;;iiiiii;;::;;;;;;;;;;;ii;;;;;;;;iii*#zzzzzzznnnnnnzzzznnnnxxxnnzz*                             
                                                     ;iiiiiiii;;;;;;;;;;;;;;i;;i;;;;;iiii*##zzzzzznnnnnzzzzzznnnnnxnnzzz#                             
                                                     :iii****i;;;;;;;;;;;;;;;i;i;;;;;ii***#zzzzzzznnnnnzzzznnnnnnnnnnnznz                             
                                                     :**++***ii;;;i;;;;;iiiiiiiii;;;iii*++#zzzzzznnnnnnzzzznnnnnnnnnnnnnn                             
                                                     ,**+++++*ii;;;;;iiiii*iiiiiiiiiii**+#zzzzzzzznnnnnzzzznnnnnnnnnnnnnn`                            
                                                     .***++++**ii;;iiiiiii*iii*iiiii**+++#zzzzznnnnnnnnznznznnnnnxnnnznn#                             
                                                     .+****+++**i;;;ii*iii*****i**i**+++##zzzznnnnnnnnzznnnznnnnnnnnnnnn+                             
                                                     .++*********i;;;i**************+++###znznnnnnnxnnzzznnnznnnnnnnnnnn;                             
                                                     .#+*********iii;iii***********++###zzzzzzznnnnnnnnnznznnnnnnnnnnnnn,                             
                                                     ,#+*********iiiiiiiii******+*+#####zzzzzzzzznxnnnnnzznnnnnnnxnnxnnn`                             
                                                     ,#+*****i*i****iiiiiii******+++##zzzzzzzzzznnxxnnnnzznznnxnnnxxxnnz                              
                                                     :++****iiii*******iii*iii***++##zzzz#zzznnnnxxnnnnzzznnnxnnnnxxxxx+                              
                                                     ,++***iiiii**********i*iii*+++##zzz#zzzznnnxxxnnnnnnnnnxnnnnnnnnnn,                              
                                                     ,#*i***iiii*****+++*****i**+++##zzzzzzznnxxxxxnnnnnnnnxxnnnnnnnnn+                               
                                                     ,#+**iii;ii*+++++*+*********+++#zzzzzzznnxMMxxnnnnnnxxxxnnnnnnnnn.                               
                                                     ,#**iii;;ii*+###++++++++++***++###z#zzzznxMMxxxxnxxxxxxxnnnnnnnn:                                
                                                     ,+*iiii;;;i*#znnz#++#+++++***++###z#zzzznxMMMxxxxxxxxxnnnnnnnnn+                                 
                                                     :+*iiii;;ii+#zxxz#++###++##***++####zzzznxxMMMMxxxxnxxxnnnnnnnn.                                 
                                                     :+**iii;;i*+znMMxz++##++###+**++#####zznnnMMMMMxxxxxnnnnnnnxxx*                                  
                                                     :+*iiii;;i*#zxxMxn##+++++##+**++#####zzznnMMMMMxxxxnnnxnnxnxn#`                                  
                                                   .:i+**iii;ii+#zxnnxxn#++++++#+*i*+#####zznnnMMMMMxxxxxxxnnnnnnz.                                   
                                                `.;***+*iiii;i*+znnnnxxn#++++++#+***++####zznznMMMMMxxxxxxxnnnnxn,                                    
                                             `,i*+#++++*iiii;ii+znnnnxxxz#+++++#+**+++####zzzznMMMMMxxxxxxxnxnnn,                                     
                                         `.,;**++#####+*iiiiii*#znnnxMxnzz#++++++i*++++##zznnnnMMMMMMxxxxxxxxx#.                                      
                                       `:ii**++#######**iii*ii+#zxxxMMn#++++*++++i*+++###zzzzznMMMMMxxxxxxxxM+`                                       
                                     `,*iiii*+#zz##z##*ii*i*i*+#znxxx#+++**********+++##zzzznnnMMMMMMxxxxxxM*                                         
                                    `;i***+*###zzz+, ,*****ii*##znnz#+++*******i****++##zznnnnnxMMMMMxxxxMM;                                          
                                    ,#+*+z####+i,.   .*****i*+#znnz#++*******iiii**+++##znnnznnxxMMMMMxxMz.                                           
                                    iM#+nWn+:`       ,*ii*+*++znnz#++*******iiiii***++#zznnzznxxMMMMMMxx+`                                            
                                    `;*:*zi`         :*i**+++#zzzz#+***iiiiiiiiii***+##zznnnnnxMMMMMMMn:                                              
                                                     *****+##znnz#+***iiiiiiiiiii**++##zznnnnnxMMWMMn;`                                               
                                                    ,#*****##znnz+*iiiii;;;;;iiii**++##zznnnnxMMWWM*`                                                 
                                                   ,++***++##nnz#*iiiiii;iiiiii***++####znnznxMWM+.                                                   
                                                `,i#+****++##zz#*i;;;;;;;iiii**++*++###znnzznxM#.                                                     
                                            `:;*+##+****++##zzz+;;;;;;iiii***++#+*++##zznnznn#,                                                       
                                        `,;i######+******+:  `,:,,.```.,;;;i*+zn#*+++#zznnzn:                                                         
                                     ,;;*#++#####********i                   `,*#*++##zznnni                                                          
                                    .x#+*++*+###********i`                      ;+++##znnn+                                                           
                                    #Mx#+***+##*i***i**i.                       :+++#zznxn.                                                           
                                   `nz#+***++*i;iii*iii.                        ,+++##znx+                                                            
                                    i*++**+*i***iiiii;`                         `++++#znx;                                                            
                                    ,#*+++i****i**iii`                          `*+++##zx:                                                            
                                     :++i****iii***i`                           .*+####zn,                                                            
                                      ,*********++i`                            :*+####zn,                                                            
                                      `z+i*++#*++*`                             i*++##zzn:                                                            
                                       ,i**+zn+*:`                              *+++##znn*                                                            
                                         ....``                                `*++###zzn#                                                            
                                                                               `++++#zznn+                                                            
                                                                               ,++++#zznn;                                                            
                                                                               ;+++#zzzxn`                                                            
                                                                               i++++#zzn#                                                             
                                                                              `;**++##zn+                                                             
                                                                              `iii**##zni                                                             
                                                                              :*****+#zz,                                                             
                                                                             ,i**ii*+#zz`                                                             
                                                                            `;******+zz#`                                                             
                                                                            ,*******+#z+                                                              
                                                                            #+****+#+++,                                                              
                                                                           `Mz***+#Mn,`                                                               
                                                                            .+#M#**i`                                                                 
                                                                              `:,`