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