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