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