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