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