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