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