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