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