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