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