:::::---------------========:       
       .%%%%%%%%%%%%%%%%%%%%%%%%%%%%+       
       .%%%%%%%%%%%%%%%%%%%%%%%%%%%%+       
       .%%%%%%%%%%%%%%%%%%%%%%%%%%%%+       
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%+       
        #%%%%%%%%*-------:::::::::::.       
        #%%%%%%%%+                          
        #%%%%%%%%+                          
        #%%%%%%%%+                          
        #%%%%%%%%*                          
        *%%%%%%%%#**################*       
        *%%%%%%%%%%%%%%%%%%%%%%%%%%%#       
        *%%%%%%%%%%%%%%%%%%%%%%%%%%%#       
        *%%%%%%%%%%%%%%%%%%%%%%%%%%%#       
        +#####################*******       
                                            
                                            
                                            
                                            
                                            
                             ...            
              ..::--==++**##%%%*=-.         
   .--==+***##%%%%%%%%%%%%%%%%%*=+++=:      
   :%%%%%%%%%%%%%%%%%%%%%%%%%%%#=++++=      
    #%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++      
    *%%%%%%%%%%%%%%%%%%%####****++++++.     
    +%%%%#####*****++++++=+**+======++:     
    .=++++++****++=========++=====--:.      
       #%%%%%%%%*+==-:.                     
       *%%%%%%%%*.                          
       =%%%%%%%%#:   ..::--==++**=:.        
       -%%%%%%%%%#*##%%%%%%%%%%%%+++=-:     
     -##%%%%%%%%%%%%%%%%%%%%%%%%%*=++++-    
     :%%%%%%%%%%%%%%%%%%%%%%%%%%%#=++++=    
     .%%%%%%%%%%%%%%%%%%%%%%%%####++++++    
      #%%%%%%%%%%#####****++++++====++++.   
      =*****+++++++=========+**+======--.   
        .:-======+*++==--:..:...:...        
            :::.::....                      
                                            
                                            
                                            
                      .:=*#*--:.            
                  .-+*%%%%%%*===.           
              .-+#%%%%%%%%%%%+===.          
          :=*#%%%%%%%%%%%%%%%%+===          
     .:=*#%%%%%%%%%%%%%%%%%##*+====         
 .-+*%%%%%%%%%%%%%%%%%%##**+====-.          
 :%%%%%%%%%%%%%%%%%#**+==++=-:.             
  :%%%%%%%%%%%##*++==-:::                   
   -%%%%%%##***+===:.            :-:.       
    =%#*****#%%%+.           :=*#%%*===:    
     ::*#%%%%%%%%=      .:=*#%%%%%%%*===:   
       :%%%%%%%%%#- .-+*%%%%%%%%%%%%%*===.  
        -%%%%%%%%%%#%%%%%%%%%%%%%%%%%%+===. 
         -%%%%%%%%%%%%%%%%%%%%%%%##*++===-: 
         -%%%%%%%%%%%%%%%%%%%##*+*+===-:.   
         :#%%%%%%%%%%%%%%##*+=====::.       
          :%%%%%%%%%%#**+===-:.             
           :%%%%%#*++=++=-:                 
            -#*++====--.                    
               ..:.                         
                                            
                   :+%%%%+                  
                 -*%%%%%%%#-                
              .+#%%%%%%%%%%%*.              
            -*%%%%%%%%%%%%#*+=              
         .=#%%%%%%%%%%%%#*+==+:             
       :*%%%%%%%%%%%%#*+==+++++             
    .=#%%%%%%%%%%%%#*++*#++++-.   -+.       
  :+%%%%%%%%%%%%%*++=++*+++=:  .=#%%%+.     
 :#%%%%%%%%%%%#*+=+++++=+-.  -*%%%%%%%#-    
  =*%%%%%%%%#+++=+++=-:   .=#%%%%%%%%%%%*.  
  .==*%%%#*++*#%*+=.    :+%%%%%%%%%%%%#*+=  
   :==+*+=+*#%%%%#-  .=#%%%%%%%%%%%%#*+==+: 
    .-==+#%%%%%%%%%++%%%%%%%%%%%%%*+==+++++ 
      .=+#%%%%%%%%%%%%%%%%%%%%%#*+=*#+=++-. 
        :-+#%%%%%%%%%%%%%%%%%#++=++**++=:   
           -*##%%%%%%%%%%%#*+==++++==-:     
            .==*%%%%%%%%#*+=++++=-:.        
              :==*%%%#*++=**+++.            
               :==+#*+=+=*#*+:.             
                 -===++++++=:               
                  .-=+++=-.                 
                    :=:.                    
                 ......                     
                =##*+===:                   
              :*%%%%%#+===-.                
             =%%%%%%%%%%*====.              
           -#%%%%%%%%%%#+===:               
         .+%%%%%%%%%%#+====.                
        -#%%%%%%%%%%*+*+=:      .....       
      :*%%%%%%%%%%#+=++:.     .+%#+===-.    
     =%%%%%%%%%%%*===:       -#%%%%#*+===:  
   :#%%%%%%%%%%#+===       :*%%%%%%%%%#+===-
 .+%%%%%%%%%%%+===-       =%%%%%%%%%%%*====.
-%%%%%%%%%%%*+*#+-      :#%%%%%%%%%%#+===-  
.=*%%%%%%%#++#%%%#=.  .+%%%%%%%%%%%*+*+=.   
   :+%%%%*+*%%%%%%%%*=#%%%%%%%%%%#==+=.     
     .=*=+%%%%%%%%%%%%%%%%%%%%%#+==-:       
          -*%%%%%%%%%%%%%%%%%%*===:         
            :+#%%%%%%%%%%%%%#+===:          
              .%%%%%%%%%%%%*=**=.           
               :+#%%%%%%%#===+:             
                 .=#%%%#+===:.              
                    :++----.                
                                            
                                            
            .+-:.                           
            *%%%%##+=-                      
           -%%%%%%%%%*                      
          .%%%%%%%%%#:        .*+=-:.       
          +%%%%%%%%%+         *%%%%%%#*+.   
         :%%%%%%%%%#:        :%%%%%%%%%#.   
         #%%%%%%%%%=         #%%%%%%%%#-    
        =%%%%%%%%%*         =%%%%%%%%%*     
       .%%%%%%%%%#:        .%%%%%%%%%#-     
       *%%%%%%%%%=         *%%%%%%%%%+      
      -%%%%%%%%%*         -%%%%%%%%%*.      
      #%%%%%%%%##+=-:.    #%%%%%%%%#:       
     +%%%%%%%%%#%%%%%%#*+*%%%%%%%%%+        
    :%%%%%%%%%##%%%%%%%%%%%%%%%%%%#.        
    :=+**##%%%#%%%%%%%%%%%%%%%%%%%=         
       ..:-=++##%%%%%%%%%%%%%%%%%*.         
               .:=+*####%%%%%%%%#:          
                     .:-=++**##%=           
                           .:--=.           
                                            
                                            
                                            
                                            
                                            
      .-----====:..      .=========::.      
      -%%%%%%%%%+=-      -%%%%%%%%%+=-      
      :%%%%%%%%%+==      :%%%%%%%%%+==      
      :%%%%%%%%%+==      :%%%%%%%%%+==      
      :%%%%%%%%%+*=      :%%%%%%%%%+*=      
      :%%%%%%%%%++=      :%%%%%%%%%++=      
      :%%%%%%%%%+=-      :%%%%%%%%%+=-      
      :%%%%%%%%%+=:      :%%%%%%%%%+=:      
      :%%%%%%%%%+=-      :%%%%%%%%%+=-      
      :%%%%%%%%%+==      :%%%%%%%%%+==      
      :%%%%%%%%%+*########%%%%%%%%%+++      
      :%%%%%%%%%+#%%%%%%%%%%%%%%%%%+++      
      :%%%%%%%%%+#%%%%%%%%%%%%%%%%%+==.     
      .%%%%%%%%%+#%%%%%%%%%%%%%%%%%+==      
      .#########+*###############*#=--      
                                            
                                            
                                            
                                            
                                            
                                            
                                            
        ---------:         --------=:       
        %%%%%%%%%+         %%%%%%%%%*       
        #%%%%%%%%+         #%%%%%%%%+       
        #%%%%%%%%+         #%%%%%%%%*       
        #%%%%%%%%+         #%%%%%%%%*       
        #%%%%%%%%+         #%%%%%%%%*       
        #%%%%%%%%+         #%%%%%%%%*       
        #%%%%%%%%+         #%%%%%%%%*       
        #%%%%%%%%+         #%%%%%%%%*       
        #%%%%%%%%+         #%%%%%%%%*       
        #%%%%%%%%##########%%%%%%%%%*       
        #%%%%%%%%%%%%%%%%%%%%%%%%%%%*       
        #%%%%%%%%%%%%%%%%%%%%%%%%%%%*       
        #%%%%%%%%%%%%%%%%%%%%%%%%%%%*       
        *###########################+       
                                            
                                            
                                            
                                            
                                            
                                            
                                            
       ---------:..       --------=::.      
      .%%%%%%%%%*=-      .%%%%%%%%%*=-      
       %%%%%%%%%*=-      .%%%%%%%%%*=-      
      .%%%%%%%%%*==       %%%%%%%%%*==      
      .%%%%%%%%%**=       %%%%%%%%%**=      
       %%%%%%%%%*=-       %%%%%%%%%*=-      
       %%%%%%%%%*=:       %%%%%%%%%*=-      
       %%%%%%%%%*=:       #%%%%%%%%*=.      
       %%%%%%%%%*=:       #%%%%%%%%*=:      
       #%%%%%%%%*=-       #%%%%%%%%*=-      
       #%%%%%%%%**########%%%%%%%%%*++      
       #%%%%%%%%**%%%%%%%%%%%%%%%%%*+=      
       #%%%%%%%%**%%%%%%%%%%%%%%%%%*==      
       %%%%%%%%%**%%%%%%%%%%%%%%%%%*=-      
       *########+*#################+-:      
                                            
                                            
                                            
                                            
                                            
                                            
                                            
       :*****++++-:.       :::.....         
       -%%%%%%%%%+=:      -%%%%%%%%%==:     
       =%%%%%%%%%==:      =%%%%%%%%%==:     
       +%%%%%%%%#==:      +%%%%%%%%#==:     
       *%%%%%%%%#*+.      *%%%%%%%%#++.     
       #%%%%%%%%*==       *%%%%%%%%#++.     
       #%%%%%%%%*=-       #%%%%%%%%*==      
      .%%%%%%%%%*=:      .%%%%%%%%%*=:      
      :%%%%%%%%%+=:      .%%%%%%%%%+=.      
      :%%%%%%%%%+=:      :%%%%%%%%%+=:      
      -%%%%%%%%%+######**#%%%%%%%%%++:      
      =%%%%%%%%#+%%%%%%%%%%%%%%%%%%=*:      
      +%%%%%%%%#+%%%%%%%%%%%%%%%%%#==:      
      #%%%%%%%%#+%%%%%%%%%%%%%%%%%#==.      
      -===++++*+=***#####%%%%%%%%%#==       
                          .....::::..       
                                            
                                            
                                            
                                            
                                            
                                            
    ---------::::::::.---------::::::::.    
    #%%%%%%%%++++++++=#%%%%%%%#++++++++=    
    #%#%%%%%#+++++++++#%%%%%%%#+++++++++-   
    #%%%%%%%%++++*++++#%%%%%%%%+++**++++=   
    #%%%%%%%%+++#%*+++#%%%%%%%%+++#%*+++=   
    #%%%%%%%%+++***+++#%%%%%%%%+++**+++=.   
    #%%%%%%%%++++++++=#%%%%%%%%++++++++-    
    #%%%%%%%%+++++++- #%%%%%%%%+++++++-     
    #%%%%%%%%+++++++=:#%%%%%%%%+++++++=:    
    #%%%%%%%%++++++++=#%%%%%%%%++++++++=    
    *%%%%%%%%+++*#####%%%%%%%%%++++*%*++=   
    *%%%%%%%%*++#%%%%%%%%%%%%%%++++*#*++=   
    *%%%%%%%%+++#%%%%%%%%%%%%%%+++++++++=   
    #%%%%%%%%*++#%%%%%%%%%%%%%%++++++++=.   
    *########++=*###########*##+=======-    
                                            
                                            
                                            
                                            
                                            
                                            
                                            
  :-----------------------::::::::::::::.   
  +#######******########****************=   
  +######********#######*****************+- 
  +#######******########******####********= 
  +#######*****#########******#####*******+ 
  +#######******########******####******+:. 
  +#######******########****************-   
  +#######******########**************-     
  +#######******########**************=-.   
  +#######******########****************=   
  +#######*****#########********#####****+- 
  +#######*****#########********#####*****= 
  +#######*****#########******************= 
  *#######*****#########****************=:. 
  +*************************************-   
                                            
                                            
                                            
                                            
                                            
                                            
              ...::....                     
   .--==+++++****##########****+++===--.    
   :****###%*****######################-    
   -*+**####*+***######################*++. 
   -****####*****########******###########. 
   =****####*****%#######%*****###########  
   =****####*****%#####################==-  
   =****%###****#%#####################     
   +****%###****#%##################.       
   +***#%###****#%#########%%%%%####==-     
   +***#%###****############*##########     
  .****#%###****############*++++######**-  
  .****###%#****###########%#############=  
  .****#####****#%#######################-  
  :****#%%%#**+*#############%%%%%%%##+--.  
  :====+*******+++++++++++************:     
             ......:::::-----.              
                                            
                                            
                                            
                                            
                                            
                                            
      :-+*==***++++====-----::::.....       
      -=#%=+%%%%%%%%%%%%%%%%%%%%%%%%*       
      -+%#=*%%%%%%%%%%%%%%%%%%%%%%%%#--:    
      =+%#=*%%%%%%%%#*##%##%%%%%%%%%%%%*    
      =+%#=#%%%%%%%%*.=*%+=#%%%%%%%%%%%=    
      =+%*=#%%%%%%%%#*##%##%%%%%%%%%***-    
     .=*%*=#%%%%%%%%%%%%%%%%%%%%%%%%.       
     .=*%+=#%%%%%%%%%%%%%%%%%%%%#:.:        
     :=*%++%%%%%%%%%%%%%%%%%%%%%#...        
     :=#%++%%%%%%%%%%%%%%%%%%%%%%%%#        
     -=#%=+%%%%%%%%%%%%-=+%#+#%%%%%#==-     
     -+%#=*%%%%%%%%%%%%-+*%#+#%%%%%%%%#     
     =+%#=*%%%%%%%%%%%%%%%%%%%%%%%%%%%*     
     =+%#=#%%%%%%%%%%%%%%%%%%%%%%%%*++-     
     :-=--=++++******######%%%%%%%%:        
                           ........         
                                            
                                            
                                            
                                            
                                            
                                            
        -------------------------:          
        %%%%%%%%%%%%%%%%%%%%%%%%%+          
        #%%%%%%%%%%%%%%%%%%%%%%%%#*#+       
        #%%%%%%%%#******%%%%%%%%%%%%*       
        #%%%%%%%%+      #%%%%%%%%%%%*       
        #%%%%%%%%#++++++%%%%%%%%%*--:       
        #%%%%%%%%%%%%%%%%%%%%%%##=          
        #%%%%%%%%%%%%%%%%%%%%%-             
        #%%%%%%%%%%%%%%%%%%%%%+-=:          
        #%%%%%%%%%%%%%%%%%%%%%%%%+          
        #%%%%%%%%%%%#......#%%%%%###+       
        #%%%%%%%%%%%#::::::#%%%%%%%%*       
        #%%%%%%%%%%%%%%%%%%%%%%%%%%%#       
        #%%%%%%%%%%%%%%%%%%%%%%%%*:::       
        *########################=          
                                            
                                            
                                            
                                            
                                            
                                            
        .:::::::::::::::---------:          
        *########################+          
       :+++++++++++++++++++++++++***+       
       +#####################%#%#*#**       
       +%%%%%%%%%%%%%%%%%%%%%%%%%***+       
       =%%%%%%%%%%%%%%%%%%%%%%%%%%%%+       
       =%%%%%%%%#*######%%%%%%%%%%%#:       
       =%%%%%%%%%*+++++#%%%%%%%%%*++.       
       -%%%%%%%%%%%%%%%%%%%%%%%%%=          
       -%%%%%%%%%%%%%%%%%%%%%####*...       
       -%%%%%%%%%%%%%%%%%%%%%#+++****:      
       :%%%%%%%%%%%%%%%%%%%%%%%%%****:      
       :%%%%%%%%%%%%#******%%%%%%#***:      
       :%%%%%%%%%%%%*=+++=+%%%%%%%%%*.      
       .%%%%%%%%%%%%%%%%%%%%%%%%%%%%+       
       .%%%%%%%%%%%%%%%%%%%%%%%%%*--:       
       .%%%%%%%%%%%%%%%%%%%%%%###-          
        .................                   
                                            
                                            
                 ......::::::---            
      .++++++*******************-..         
      .+***************************-        
      .+***********##############**+        
      .+############################.       
      :+############################:       
      :+#######********************#.       
      :+#+**************************+-      
      :+#+************************#***      
      :+#=*#########################**-     
      :+#=############################=     
      :+#=###############*############=     
      -*#=##########******##########--.     
      :**=#########################*.       
       **=######################*****-      
       -+=#########################**+      
        .+##################*#########:     
        :+#############******#########:     
        .+############################.     
         +#########################.        
         -###*******+++++=====----:         
                                            
        .::::::::::::::::::::::::.          
        =*************************          
        +************************+***.      
       .######################***+***:      
        #########################***+:      
        *###########################*.      
       :*########*******############*       
      .**************************#*=:       
      :*************************+**+==      
      =#*######################****+**      
      -#########################***=*+.     
      :############################+#+      
      .#########******#############*#+      
      .#########################***++-      
       *#####################*##***+-       
       *#####################*******=       
       +########################****=       
       =############******#########*-       
       -############################:       
       -#########################+==.       
       .++++++++++++++++++++*****.          
                                            
                                            
        :-------------------------          
        +%%%%%%%%%%%%%%%%%%%%%%%%%***       
        +%#%%%%%%%%%%%%%%%%%%%%%%%%%%       
        *%%%%%%%%%%%%%%%%%%%%%%%%%%%#       
       .+%#%%%%%%%%%%%%%%%%%%%%%%%%%%.      
       :++++++++++******+++++++++**##.      
       .++++++++++******++++++++++**=       
       :++++++++++++++++++++++*#*#%%=       
       :+++++++++*#########+++++++**-       
       :+********#%%%%%%%%%******+::.       
        =%%%%%%%%%%%%%%%%%%%%%%%%%***.      
        =%%%%%%%%%%%%%%%%%%%%%%%%%%%%.      
        +%%%%%%%%%%%%%%%%%%%%%%%%%%%%.      
        +%###%%%%%######%%%%%%%%%%%%%:      
       .=+++++++++******++++++++++*##.      
       .++++++++++******++++++++++**+       
       .++++++++++++++++++++++*#*#%%+       
       .+++++++++++++******++++++***=       
       .============+++++++++++=+-::.       
                                            
                                            
                                            
          .................::::::           
       :%#%%%%%%%%%%%%%%%%%%%%%%%***:       
       :%%%%%%%%%%%%%%%%%%%%%%%%%%%%-       
       :%%%%%%%%%%%%%%%%%%%%%%%%%%%%=       
       :%%%%%%%%%%%%%%%%%%%%%%%%%%%%+       
       .**************************##+       
        ++++++++++******++++++++++**+       
        ++++++++++++++++++++++***#%%*       
        =++++++++*#########+++++++++=       
        :--------+%%%%%%%%%+-----:          
        *#########%%%%%%%%%######*++-       
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%*       
        #%%%%%%%%%%%%%%%%%%%%%%%%#%%*       
        #%%%%%%%%%%%%%%%%%%%%%%%%%%%#       
        *########*****************###       
        =+++++++++******++++++++++++*       
        -++++++++++++++++++++++***%%%.      
        -++++++++++++******++++++++++       
        :======-------------------          
                                            
                                            
                                            
                                            
        ...............::::::::::...        
       .%%%%%%%%%%%%%%%%%%%%%%%%%%%%=       
       .%%%%%%%%%%%%%%%%%%%%%%%%%%%%+       
       .%%%%%%%%%%%%%%%%%%%%%%%%%%%%+       
       .%%%%%%%%%%%%%%%%%%%%%%%%%%%%+       
        **************************##+       
        =========+******+++====+=+++=       
        .........=%%%%%%%%%- .              
                 :%%%%%%%%%:                
                 :%%%%%%%%%:                
        =++++++++*%%%%%%%%%#******++=       
        #%%%%%%%%%%%%%%%%%%%%%%%%%%%#       
        #%%%%%%%%%%%%%%%%%%%%%%%%%%%#       
        *%%%%%%%%%%%%%%%%%%%%%%%%%%%#       
        *%%%%%%%%%%%%%%%%##########%#       
        =++++++++++++++++++===++++***       
        :-------------------------:::       
                                            
                                            
                                            
                                            
                                            
                                            
        -----------------=========-=-       
       .%%%%%%%%%%%%%%%%%%%%%%%%%%%%*       
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%*       
        #%%%%%%%%%%%%%%%%%%%%%%%%%%%*       
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%*       
        ---------=%%%%%%%%%=:----:--:       
                 :%%%%%%%%%:                
                 :%%%%%%%%%:                
                 :%%%%%%%%%:                
                 :%%%%%%%%%-                
        *#########%%%%%%%%%#########*       
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%*       
        #%%%%%%%%%%%%%%%%%%%%%%%%%%%*       
        #%%%%%%%%%%%%%%%%%%%%%%%%%%%#       
        *###########################*       
                                            
                                            
                                            
                                            
                                            
                                            
                                            
       ..-----------------=========-=:      
      .==*%%%%%%%%%%%%%%%%%%%%%%%%%%%+      
       ==*%%%%%%%%%%%%%%%%%%%%%%%%%%%+      
       ==*%%%%%%%%%%%%%%%%%%%%%%%%%%%+      
       ==*%%%%%%%%%%%%%%%%%%%%%%%%%%%+      
       :.:------=#%%%%%%%%+-----::-::.      
                :#%%%%%%%%=                 
                :#%%%%%%%%=                 
                :#%%%%%%%%=                 
                :#%%%%%%%%=                 
       --+#######%%%%%%%%%###########+      
       ==*%%%%%%%%%%%%%%%%%%%%%%%%%%%*      
       ==*%%%%%%%%%%%%%%%%%%%%%%%%%%%*      
       ==*%%%%%%%%%%%%%%%%%%%%%%%%%%%*      
       =-+###########################+      
                                            
                                            
                                            
                                            
                                            
                                            
                                            
       .:-=+#########################*+     
     =++++++%%%%%%%%%%%%%%%%%%%%%%%%%%#     
     +++++=+%%%%%%%%%%%%%%%%%%%%%%%%%%*     
     +++++++%%%%%%%%%%%%%%%%%%%%%%%%%%#     
     +++++++#####*####################*     
     ===========+********==========...      
              =+*%%%%%%%%.                  
              -+*%%%%%%%%.                  
              -=+%%%%%%%%.                  
          .:==+*#%%%%%%%%+=======----::     
     .:-=+++#%%%%%%%%%%%%%%%%%%%%%%%%%%.    
     =++++++#%%%%%%%%%%%%%%%%%%%%%%%%%%.    
     =++++++#%%%%%%%%%%%%%%%%%%%%%%%%%%.    
     -++++++#%%%%%%%%%%%%%%%%%%%%%%%%%%:    
     =+++===++++++++*****++++++++**+===.    
     .:::::::::::..:::::::::::...:.         
                                            
                                            
                                            
                                            
                                            
               ............                 
     ..::-==++**######################*+    
  .++***********########################    
  .*************########################.   
  .*************#%%%%%%%%%%%%%%%%#######.   
  .*********+++++********************###.   
   +++========+++++++++=========-......     
           =****%%%%%%*                     
           =****######*                     
           -****######*                     
           =*****######+==========-----:    
   :--==++*******#######################=   
   +*************#######################=   
   =*************#######################=   
   =*************#######################+   
   =***++++++++===++++++++++++++++======:   
   .:::::::::::::::-----:-:::::::           
                                            
                                            
                                            
                                            
                                            
                      ....                  
    ...:::--==+++****##****************+    
 :*#####################****************    
 :#####################*****************    
 .##########################*##*####*#**.   
 .##############************************.   
  +++++++*******++++======-=:.........      
        =########*#=                        
        -#######***=                        
        -#######***=                        
        :##########*--=======--------::::   
  .-==++*###############*****************   
  -#####################*****************   
  :######################****************   
  :#####################*****************.  
  .#####*********++++++=+++++===========-   
   ::::::::::::::::::::::....               
                                            
                                            
                                            
                                            
                                            
                                            
          ...:::----------=========++++     
   +***#####################%*+++++++++.    
   #%%%%%%%%%%%%%%%%%#######%*+++++++++:    
   *#####%%%%%%%%%##########%#+++++++++-    
   +%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++=:    
   =####%%%%%%%%#*+++++======-::...         
       *%%%%%%%#+.                          
       +%#%%%%%%*:                          
       =%#%%%%%%*-                          
       -%#%%%%%%*-          ......::::::    
    .::=########***********###*+++++++++:   
    #%###%%%%%%%%%%%%%%%%%%%%%#+++++++++:   
    *##%%%%%%%%%%%###########%#+++++++++-   
    +#############%%%%%%%%%%%%#+++++++++=   
    =%%%%%%%%%%%%%%%%%%%%######+===---::.   
    :===------::::::.......                 
                                            
                                            
                                            
                                            
                                            
                                            
        ....::-----------==+++++++===       
      +******###########%%%%%%%%%%+==       
     .%%%%%%%%%%%%%%%%%%%%%%%%%%%%*==.      
      #%%%%%%%%%%%%%%%%%%%%%%%%%%%*==:      
      *%%%%%%%%%%%%%%%%%%%%%%%%%%%#==.      
      +%%%%%%%%%%###*****++++=====-.        
      .+%%%%%%%%#:                          
       -%%%%%%%%%-                          
       :%%%%%%%%%=                          
       .%%%%%%%%%+       ...:::::::::-      
       .#########*+++*******###*###+==.     
       ###%%%%%%%%%%%%%%%%%%%%%%%%%*==:     
       *%%%%%%%%%%%%%%%%%%%%%%%%%%%#==:     
       +%%%%%%%%%%%%%%%%%%%%%%%%%%%#==-     
       =%%%%%%%%%%%%%%%%%%%%%%%%%###-:      
       :*+++++====----::::......