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