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