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