_###_##**@##
#*#*%#__*##_*#_#%*@@_**@**_*&@####*_**@*_*##@@#*#&_%_*%%&*%##%*#@%##%@#@#@%*_**&&_*##***_
@___#*#@*#**_@_##
##@**###%**#*_@*&%##_#_%*@#@#__**%*###*_###&&*&**#%&&&@##@*_##@_**_
@&&_%##%_@#*#&**%#
*%**#@__%#***##@**%_&**#**_#@**#_***######*_%**###*#*_*#&*###*@****@___@#&**##@*#_##*#***#@#*##%#@####
_#_#_#_*%
@********_*&*%@*%#*@*@_###@*_#*####%#&@#*%*%@_***@#**&*_@#*%@**_#*###_#*__**#_*@_**%*#*@_
***##@**_***#_
#%_#*@_####%****@##@####*#*_&@#***@**#*#%*@#*%*@*##_@&@##_#%##_##*&*_#%
*#%%#
**&*#_@*_#@*%##*%%@**#**%_@_*%%##*#***%*###*_**##**#&*_#@**%#%****_###%*_#*%*%*#%*#_#_%##*#_***#&#*#@#_&__*#_##@*#*#*#_%_#%**_***#_
#*#*&_*#**
#####@&*#*##%_%*#_*#_#**@@*#@#&_##*###*@#&*#*@***_@*_#*#_**@#%**#**##
@*_*#_#
&_#*#**#*%*_****_#@@##*##**#*#*@*__*@*#_@##*_*&_#_#_%#**__#*%__*#**