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