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