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