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