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