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