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