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