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