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