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