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