#####SSSSSSSSSSSSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######S#########
########SSSSSSSSSS@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SSSSS########
##########SSSSSSS#@@@@@@@@@@@@@@@SS##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############
S%**?S#######SSSS#@@@@@@@@@@@@@@%%S#@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@########SSSS
S?=-;;+S####SSSSS#@@@@@@@@@@@@@%??S@@@@@@###@@#####@@@@@@@@@@@@@@@@@@#SSSSSSSSSS
%*=;;:;+S#####S###@@@@@@@@@@@@S??S##@@##%%%S######@@@@@@@@@@@@@@@@@@@@#SSSSSSSSS
%*=;::;+S#S####S##@@@@@@@@@@@#%*%S###S%*+++*%S##@#@@@@@@@@@@@@@@@@@@@@@SSSSSSSS%
%+-;::;+S#SS%S##S#@@@@@@@@@@#%*?%S@#S*+=--=+*?S###@@@@@@@@@@@@@@@@@@@@@#%??%%%?*
%+-;::;+SSS%*=+%##@@@@@@@@@#%?*?S@#%*=-;;;-=+*?%##@@@@@@@@@@@@@@@@@@@@@@*=+????%
?+-;::;=%%?*=-;-?#@@@@@@@@@S%??%##%?=-;;;;--=+*?%#@@@@@@@@@@@@@@@@@@@@@@#+++**?%
?=-;::;=**+=--;;-*#@@@@@@@#S%*?S@%%*-;;;;;;-==+*?%#@@@@@@@@@@@@@@@@@@@@@@%**++*?
?=-;::;=??**+++++=*@@@@@@@#S???##%%+-;;;;--=+*??%%S#@@@@@@@@@@@@@@@@@@@@@#*??**%
?=;;::;+%SS%%%%%%+-*@@@@@@#S?%%@###S*=;-=?%S%%%%SSSS#@@@@@@@@@@@@@@@@@@@@@*?%SSS
?=;;::;+SSSSSSSS%+;;S@@@@##%%%S#SS%*?+--+????????%SS##@@@@@@@@@@@@@@@@@@@@%?SSSS
?=;;::;+SSSSSSSS%+;;?@@@@##%%%S@@@#?++--++?##@#@#SSSS#@@@@@@@@@@@@@@@@@@@@#%%?*?
*=;;::;+SSS%%%%%?=;=#@@@@#SS%%S@@@#?+=-;++?##??#@#S%S#@@@@@#@@@@@@@@@@@@@@#%*==+
*=;;::;+%%?%%%%*=--%@@@@@#SSS%####%*=---+==*??%S%???S#@@@@###@@@@@@@@@@@@@#%*--=
*-;;::;+S%??%%S?=-*@@#%##@SSS%#S%?+=--;-=-;--==+++*?S#@@@@##@@@@@@@@@@@@@@#%*==+
*-;;::;*#S%??S#S?*#@@?=?S#SS%S#%?+-;;-;=+-;;;;;-=+*%S#@@@@@#@@@@@@@@@@@@@@#%*==+
*-;;::;+#S%*?S####@@S-=?%SS%%S#%+-;;;;;+*=;;;;;-=+?%##@@@@@@@@@@@@@@@@@@@@S*+==+
*-;;::;=%%?*?%S##@@@=;=?%%%%S##S+-;;-;-+**-;;;--=*?S##@@@##@@@@@@@@@@@@@@@?=---+
+-;;::;=?***?%S#@@@?:;=???%%SS##+-;;--+**?=;;;-=+*%S##@@##@@@##@@@@@@@@@@@*=---+
+-;;::;+%%?%S###@@#-:;-???%%SS##*-;;=?%#%%=;;--=*?%S##@@@@@@@@#@@@@@@@@@@#%*=--+
+-;:::;+S#S####@@@*;:;=???%%SSS%==-;;-====;;;-=+*?SS##@##@@@@##@@@@@@@@@@SSS*=-=
*=-;;;-*S##SS#@@?*++==+???%%%?*;++---==+=-----=+*%SS##@@@@@@##@@@@@@@@@@SSSS?=--
%?***+*%SSSSS#@#=**SSSSSSS%S%*==?=;-*%SS%?=--==*?%SS#@@@#@@##@@@@@@@@@S====--;;;
????*********#@@?*%SSS#####S+-;;-=*+%SSSSS%+=++?%SSS#@@#S###@@@@@@@@@?:::::::::;
++==========*#@@?----===+?%-;-*%S#S+?S??%%?+++?%SSS##@@#S##@@@@@@@@#+:::::::::::
#########SSS#@@@SSSSSSSS+*=*?S#####??S##S%*++*%SSS###@@S##@@@@@@@S*-;::;;;;;:::;
@@@@@@#@@##@@@@@#######%--*%%SS#####%%S%?*++*%SS######@SS#@###%?+=====+++++====+
@@@@@@@@@@#@@@@#SSSSS%%=;--;;;;;-*S##SSS%???SS########SSSSS%??*++==----=?*===++*
@@@@@@####SS##S?+===---;;:;-++===-++%###SSS#################SSSSSSSSS%S#S???????
%%?**+==----=++=------;::;;-=-+?*??+*%###S##################S##@######@@#SS%%%%%
----====++++**??*****;::;;;;-=*?+*%S####S%S####################@@@@@@@@#SS%%????
*????????%%%%%%%%%%%*::::-*%%%%??SSSSSSS%?%S#############@@@@##@@######S%%???***
S%SSSSSSSSSSSSSSSSSS*:::=%###S%?%SSS%%%%???%S###SSSSSSSS##@@@@##@#####S%??******
SSSSSSSSSSSSSSSSSSS#?:;-%######SSSS%???????%SSSSSS%%%%%%%%S#@@#####SS#%?***+++++
SSSSSS###############=--%#######S%*++**?*?%%%%%%%%%?????????%S####SSSS?**+++++++
################SS#@%=--+?#####SS*=++*??%%S%%%%?????*********???S#S%%%**++++++++
###SSSSSSSS####@SS%+;;---+%##%%%S+-=+**?%SSS%%????******+***+++%@%+*****?**+++++
SSSS##@@@@@@@@@#S%-::;-;-=*SS??%S====+*?%SSS%%?*+==------=====*@#++++++++*??*+++
@@@@@@@@@@@##SSS#*-;-----=+%S%%S%=-=++?%%%%%??*=---;;;----====#@%=======++?%%?++
@@@@##SS%%%SSSS##*==--====+*SSSS?==++*?%%%%?**+=----------===%@@+==----==+*%SS%*
#S%%%%%SSSSS#####*=+==+=-==*%SS#S++**?%%%??*+===--------==*%%#@?==-----=++*?SS#S
SSSSSS########@@S*+====-;-=*SSS##S%*?%%%%??*+==------+SSS?S#@@S==----=+*S%?%S#@#
#############@@S?*+===-;;-=?SS####S?%SS%%??*+==---+*+%#####@@@%==---=%%SSS%%S#@@
#############@#??*+===;;-=*S#####@#SSSS%?*+==---=?S#######@@@@S+=---+%%SSSSSS#@@
@@@@##########%**+===-=;=+?S######@@SS%?*+=-----*#S######@@##@@?-;;-?%*%SS##S#@@
@############%*+*=-==-*==**S####@@@@#S?*+--;;;;=*#######@@@S#@@?;;;=+?%%SS###@@@
@###########S?++*=;---?????S#####@@@@%*+=-;;;-==%S#SS##@@@@##@@+;;-+*?%%S####@@@
############%*++*=;-;-??%%%#@###@@@@#*+=-;;;=%#S###SSS#@@@@@@@S-;;=*%%?%%###@@@#
###########%?*++*=--;=%??%S#@###@@@@#*==-;;*S###SS%SS#@@@@@@@@*;;-+%%S######@@@#
##########S?*+++*+=-;=???%S#@@@@@@#@%==--;+SSSSSS%%S#@@@@@@@@S;;;+??%SS####@@@@S
##########%?*++*?*=-;*???%S#@@@@@###?==--;=%#%S%%%S@@@@@@@@@@=;;=**?%S#####@@@#S
#########S?**+*?%?+--??%?%S#@@@@@@#S====-+%#SS%%?S@@@@@@@@@@#===???%SS#####@@@#%
#########%?****?%*=-=%?%?%%#@@@@@#@@#%+=-%#S%?%**#@@@@@@@@@@%??*?%%S##SS##@@@@#?
########S?****?%?++-*???**?#@@@@@@#@#S*=*S#S***+?@@@@@@@@@@S*+???%%??S####@@@#S*
########%?****?%?*=-??+++*%#@@@@@@@@@#?+?#S%++++#@@@@@@@@@@%*???**?%SS###@@@@#%+
#######S??***??%%*-+??+=+*S#@@@@@@@@@#%?##S?+?%#@@@@@@@@@@?+**????%%#####@@@@#?+
#######%?***????**=?*?*++*S@@@@@@@@@@#SS#SSS#@@@@@@@@@@@@#*==+**?S%%#####@@@@S*=
#######%??**???%?*+??%**?%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+=+==*%%SS####@@@@@%*=
##SSS#S?????????%*???%???%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+---=+???SS####@@@@#%+=
S%%?%SS%???????%?*%%??**??S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?+===-+?%?######@@@@#?+=
????%####S??%??%%%%%%%%??%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+=-+=??%%%#####@@@@@S?+=
??%##@@##@#%%??S%%%%SS%?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@?=--=**SSSSS####@@@@@@S*==
S####@@##@@#%?%S%?S??S??%S#@@@@@@@@@@@@@@@@@@@@@@@@@@#-=--*??*%SSS####@@@@@#%*=-