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