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