##########SSS%%%?????%%SSSSSSSSSSSSSS%*==++=++++++===+SSSSSSSSSSSS##############
##########SS%?***????%%%SSSSSSSSSSSS?==+++++++*****+=+%SSSSSSSSSSSSSS###########
#########SSS%?**+****?%%SSSSSSSSSSS+=+++++=;=+****??=*?SSSSSSSSSSSSSS###########
#########SS%%??**++**?%SSSSSSSSSSS+=******+??***??%S*=%SSSSSSSSSSSSSS###########
#########SSS%%%?*????SSSSSSSSSSSS*+**??%%%?????%%SSS?=%SSSSSSSSSSSSSS###########
##########SSSS%?*+=+*%SSSSSSSSSS?+*??%%%??%%%%SS%S%%*;=SSSSSSSSSSSSSS###########
##########SSSSSS%+=-+?%%SSSSSSS%+??%%%%?%%%SSS?**?SSS*;=%SSSSSSSSSSS############
############SSS%%*=;;*?%SSSSSSS*?%%S%%SSS##S=+???%S###*-=%SSSSSSSSSS############
###########SS%??+==--*SSSSSSSSS?SS#####@@#S%::?S%SS####+=?SSSSSSSSSS############
###########SS*=-===++%SSSSSSSS%S###@@@@@##S*=--SSSSS*?#S++SSSSSSSSSS############
############S*++*??%%SSSSSSSSSS##@@@@@@@##S?%?%S#SS%+=%S?=*SSSSSSSSS############
############S%***?%SSSSSSSSSSSS#@@@@@@@##?+%???=S##?+=%%?===%SSSSSSSS###########
############SS?++*%SSSSSSSSSSSS#@@@@@@##%;:-==;:S#S+-*??%*+++SSSSSSS############
############SS%++%SSSSSSSSSSSSSS##S@@@%**:::;;:-S#%**???S%***%SSSSS#############
#############SS**%SSSSSSSSSSSSSSSS?###?++:::;;;=??%S%?%SSS%*?%SSSSSS############
#############SS*?SSSSSSSS%SSSSSSS%*###%*?+-;;;--=*%?%SSSSSS??%SSSSS#############
##############S%?%SSSSSSS?*SSSSSS?%#@@#%%*-;---=*%%SSSSSSSS??%SSSS##############
##############SS=-*****???*%%%SSSSSS#@@#SS%+===*%%%S##@@#S%?%SSSSSSSS###########
###############SSS##SSSS%*?*%%%SSSSS#@@@#S?+-=?SS##%SSSSS%?SSSSSSSSS############
#####################SS%?%%=%#SSSSS#S###@@%**%%?S######S%?SSSSSSSS##############
###################SSS%*=*?*=SSSSSSSS#@@@@@#S%??S#@###SSSSSSSSSSSS##############
####################S%=++=*?+%SSSS%+%#####@#S?**%S%?%%SSSSSSSSS#SS##############
###################SS%%?+--=-?SSSS+?SS#*?###%*++**----=*SSSSSSSSSS##############
####################S?+?+----?SSS****?*-+%%?++===-:;:::::+%SSSSSS###############
#####################%=--;---%SS%++=+?%--*+----;-:::,,,,,,,-%SSS################
#####################S*;::--=SSS?++=*%S+;==---;;--,,,,,,,,,,:?SS################
######################S+;;;=?SSS+=+=-=*S---+--;-%%:,,,,,,,,,:-SS################
#######################S*=-=%S%*==+-;;*S=-+%--*S??+,,,,,,,,::;%#################
#####################S#S%+==%S+===-;;-%?-;;-+SS?::=+:,::::::;-%SS###############
#######################S?===S?=---:::=%=;;;+%?*;,,,,:::;;;;;-=%SS###############
####################SSSS?+==S?=-;::::**;:;=??*;,,,,,:;;-;;--=+S#SS##############
##################SSSSSS%+==%S*;::,,:*;::-?%+:,,,,::;-==---=+*SSSSSS############
###########SSSSSSSSSSSS#S?*?S?=;:,,,=+::-%%=,,,,,,:;=+?*====+*?SSSSSSSSS########
#####SSSSSSSSSSSSSSSSSSS###S?+=;::,,?+;-%?-,,,,,,,:;=?S?+===+=+SSSSSSSSSSSSS####
#S#SSSSSSSSSSSSSSSSSSSSS%?*==+*=;::;%?=%%=,,,,,,,,:;=*%?++==--+SSSSSSSSSSSSSSSSS
#SSSSSSSSSSSSSSSSSSSSSSS?+=-=*?+=--*S%?%*::,,,,,,:;-=*?++-----*SSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSS%?+==+?%%*+=%S%%S=;::,,,,:;-=+*%*+==--+SSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSS%?+==+%SSS%?S#SS?==-;::::;-+**?S?*++*%SSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSS%?*+=+%S##SSS@##%?*=-----=*?**%SSSSSS%SSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSS%%*+=+?S##SS###S%%S%*++**?%?*%SSS%???%SSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSS%%?+++?%#SSS##S%*?S#SSSSS%?**%%%%?**?%S%%SSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSS%%S?*+*?%S%%%##S%**?%%SS%?*++?%%%%?***%%%%%%%SSSSSSSSSSSSS
SSSSSSSSSSSSSSSSS%%S%%%%S%?**?%%%%%@##%+=+*???***+*%%%%%?***?%%%%%%%%%%%%%%%%%%S
SSSSSSSSSSSSSSSS%%%%%%%%SS%??%%%%SS###S**+++*++==+?%%%%%%?***%%%%%%%%%%%%%%%%%%%
SSSSSSSSSSSSSS%%%%%%%%%%%S%SS%%%%#####S*++++===+=+?%%%%%%??*+?%%%%%%%%%%%%%%%%%%
SSSSSSSSSSSSS%%%%%%%%%%%%%S%%%%%S@####S%+++++=++?%%%%%%%??*+=*%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S@######S%%%???%##%%%%%%**+==*%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S######@#S###%S#@@%%%%%%**+==+???????%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S#######@#S@##S#@@#???%%%?*+==+?????????????????%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%??%###@######S###SS##S?*???%%*++++??????????????????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%??S##@@####SS%%%%%%%%?%?????%?*+++??????????????????
%%%%%%%%%%%%%%%%%%%%%%%%%%??%%SS#######SS%%%????????*???%%**++??????????????????
%%%%%%%%%%%%%%%%%%%%%%%%??*??%%SS#######SS%%%????????????%?****?????????????????
%%%%%%%%%%%%%%%%%%%%S?*+*?S#S%%S#@#S###SSSS%%???*??%%????%%?***?????????????????
%%%%%%%%%%%%%%%%%%SS????+-;+S@#SS##S####%%%%%SSS%?????*?*?%?***??????**********?
??%%%%%%%%%%%%%%%S%?****?%*;-?####SS%**??%%%%%%???????***?%?***??***************
???%%%%%%%%%%%%%S?******++*+++++**%SS%+;-+?????%?????%?***%%********************
???%%%%%%%%%%%%S?****++==++++++++++?%S%*::-*????????%?%?*?%S?*******************
???????%%%%%%%S?*****+====++++++++++%SSS+::;+???????S%%%?*%S%*******************
????????%%%%%%%?***?++==++++++++++++*SSSS-;;;*????%%%SS%SS%SS?******++++++++++**
??????????%%%%?***%?*++++************S###*;;;-?%??%?SS##SSSS#?++**+++++++++++++*
??????????%%%?***?S?******??????????*%###%----=?%%%%%S##SSSS#%++*+++++++++++++++
???????????%?***?S#%?**????%%%%%%????%##@#=---=?%%S%SSS@SSSSSS??-;;--;;--==+++++
???????????%*++*%#S%??????%%SSSSS%%%%S@@@#+====*#SSSSSS#@SSSS#S*-;;;;---===+=+++
********??%S?***%@S%?????%%S######SSSS@@@#*++++*SSSSSSSS##SSS%SS*=--;=+?%%?**+++
**********%#?**?S@S%?????%S#@@@@@#####@@@#??????%#SSSSS%S@SSS?++*???????++++++++