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