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