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