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