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