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