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