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