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