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