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