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