######@@@@@@@#####SSS%?**+========+++++++++++=======----;;;;;;;;;;;;;---=?S#@@@@
#@@@@@@@@@@@######SS%%?**++++++****????????*??****++==---;;;;;;;;;;;;---=+%#@@@#
@@@@@@@@@@@@######SS%%?*******????%%%SSSSSS%%%%%???*+++==----;;;;;;;;;---=*S##SS
@@@@@@@@@@@@#######S%%??*????%%SSSSSSS#######SSSSS%??**++===-----;;;;;---=+%SSSS
@@@@@@@@@@#########S%%%%%%%%SSS################SSSS%%%%??*++==-----;;;---=+%SSSS
@@@@@@@@@@#%#######SS%%%SSSS####@#######SSS%%%%%%%SSSSSS%%?*++==---------=+?SSS#
@@@#@@@@@@@#########SSSSSS############S%%??***+*+*??%SSSSS%???*+==-------==*S##S
@@@####@@@@@###SS##SSS############S##S%?*++===----==+*%%S#SS%%??*+==---;--=+%SS%
@@@@##@@@@@@###SS###############SSS##%**+===-----;;--+*?%SS#S%%%?*+===----=+%%%%
@@@@@@@@@@@@##SS###############SSSS#S?**++======++**?%SS#SSS#SSS%??++==--==+?%%%
@@@@@@@@@@@@##SS#############SSSSS###SS%?*++==+?%SS####SSSSS###SS%??++=---=+*?%%
@@@@@@@@@@@@################SSSSSS#######%?*++?%SS###S%??**?S####S%??++++===*%%%
@@@##@@###@##S######@@#####SSSSSS#########%?*+*%SSSSSS%SSS%?S#####%???***+++*%%S
@@@@##############@@@#####SSSSSSS###SS####S?+=+?SSSSSS%SS##SSS####S%%???*++*?SS%
#@@@#######SSS###@@@@@####SSSSSS#####S#####?=;=?%SS#########SS#####SS%?**++*%##S
##@##?-+##SS%%S##@@@@######SSSSSS#####SSSSS?-;-++*SSSSSS##SS%SS######%??*+**%##S
#####+:-?????%%S###@@@@@####SSSS####S%??%%%*-;-===*%SSSS#S?*?%SS#####S%?***?%S##
#####S**+=-=+*?%S###@@@@#####SS#####SS?**?%*-------=*???*+==*?%SSS####S%?**?S##@
@##%S#?+=---=+*?SS#@@@@@#########SS%?+++*?%+--==--;;;;-;;---=?%SSSS#####%??%S##@
###SS#?+----=+*?SS#@@@@@########S%?*+==+*%?+=====-;;:::::;--=*%SSSSS#####%%S###@
#####S*+---==+*%%S#@@@#####@####S%*+===+?%?+--=+=-;:::::;--=+*%S#SSS#####SS####@
#%S@#%*+====+*?SS##@############S?*++==+%SS?****+-;:::;;-==++?%##SSS####@######@
S#S#S%*+++++*?S###@#@###########S%?*++++%###SSS%*-;;;;--=++**?S#@##SS####@##SSSS
-S###%??*++*%S####@@@@@@@@######S%?**++*##@#S%SS?;;;;--=++*??%S#@#######@###S%??
%##S#S%%???%SSS###@@@@@@#########S%?*++?S#S%%++*=;:;--=++*??%SS#@############S%%
##SS##S%%%%SSSS##@@@@@###@#####@##S%?**???*==---;;;;-==+*??%%SS##############SS%
%*S####SSSS##S##@@@@@@@@@@@###@@@##S%?**??**+====----=+*??%%%%#@@######@###S##SS
S%S###S%%%S######@@@@@@@@#####@@@@#S%%%SS%%%%%???+===++*??%?%%#@@######@#S%++%SS
###@##?;-%SS######@@@@@@#S###@@@@@##SS#########SS%*+++**?????%#@@######@##%**?SS
#####S?;-%#######@@@@@########@@@@##SS????S##@@@##S?+***?????S@##########@#SS??S
##S%SSS%SS#######@@@@###@#####@@##S%????SSS%%?******+*****??%##########@@@#SS%?%
##+,-%SSS#######@@@@@@@@@#####SS%???%SSSS%*+++=+*?*++*****??S###########@@@##S%?
##?-+%S#S#######@@@@@@@@@##SS%???%%S#####%???%%%S%*++****??%############@@####S*
###SSS#########@@@@@@@@#S%????%%S#####@@@######S?++++***?%S########S%?%##@@####S
###############@@@@#S*+%%??%SS###@@@@@@@##S%?+=---=+**??%S#@#####?=:,;=++%######
###############@#S*-=+-+SSSS##@@@@@@@@@#%?*+=----==+*?%S#@@####S%;:,+?-;;;+#####
SSSS##########@@S??==+*+S##@@@@@@@@@@@@#S??***++++*?%S###@@###S%*:-=SS%?=;-?####
?*%S###@#####@@@#%?**?%%#@@@@@@@@@@@@@@@#SS%%%%%%%S##@@##@###S=+*=*S#@##%+;-S###
=:?##########@@@#S%%%##@@@@@@@@@@@@@@@@@@###########@####@###+:-%%#@@@#@#S?=%###
%*S##########@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@######@###SS####?::;S#@@@@@@S??%%###
#############@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@#######SSSS####?-:-##@@@@@#*-=%S###
###@@########@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@######SSS%S#####S??#@@@@@@S-:-%##@#
##############@@@@@@@@@@@@@@####@@@@@@@@@@@@@####SSS%%%S###@#@##@@@@@@#=;:=S#@@#
#######@#######@@@@@@@@@@@@#####@@@@@@@@@@@@@###SSS%%%%S##@#@@#@@@@@@#?:;:?####@
###S##########S#@@@@@@@@@@######@#@@@@@@@@@@###SSS%%??%S###@#@#@@@@@@S=,--S####@
###*%#####@#S#S#@@@@@@@@##########@@@@@@@@@###SSS%%???%S###@@@@@@@@@S?;:=%######
##S-*##########S@@@@@@@###########@@@@@@@####SSS%%????%S###@@#@@#@@S?*+;?#@#####
########@######@@@@@@#####SS########@@@@@###SSS%%?????%S#######@###=+??+#@@#####
#####@@@@####@@@@@@@#####SS#########@@@@##SSSS%%??????%S##########*:=%%#########
@@@@@@@@####@@@@@@@@####SS##S#######@@@@##SSSS%%???*??%SS########%-,=S##########
@@@@@@@@@@##@@@@@@@####SS##SS#######@@@@#SSS%%%???**??%%S########+;:+###########
@@@@@@@@@#@@@@@@@@@###SS#SSS########@@@##S%%%%%???***??%%SS#####S+;;?###########
@@@@@@####@@@@@@@@@##S##S%SSS####S##@####S%???????*****?%%SS###%%*-+S###########
@@@@####@@@@@@@@@@#####S%%%S####S##@#####S?**????**+++**?%%SS#S-??+%####SS%?????
@@@#####@@@@@@@@@@#@##SS%%SS###SS#####SSSS?+++****+++=++*??%%S=:?%?SSS%?*+++++++
@@######@@@@@@@@@@@###SSSSSSS#S%#####S%%%%*====+*+=====++*??%%;:?S?**++====+===+
########@@@@@@@@@@@####SSS####S#####S%??**+----=++====++**???%;:?*==----==++++++
#########@@@@@@@@@@@@#SS#######S####%?*++==-;;-=+++========+%%;;*-====-==++++++=
#########@@@@@@@@@@#####@@####S#####S%*+==--;;-=+++========+%%-++++++=-=++++++==
#########@@@@@@@@@@@@@@@@@@@@######SSSS%?+=----=+++========-%%+*+*++=-=+***++++=
########@@@@@@@@@@@@@@@@@@@@@##SS#SSSSSSSS%?+===++++++++++-;%S?*++=---=+***+++++
########@@@@@@@@@@@@@@@@@@@@@@#####SS#SSSSSSS%%??********+;;?S?*++====+******??%
########@@@@@@@@@@@@@@@@@@@@@#####SSS#SSSSSSSSSSSSSSSS%%%-:;%%%%????????%%%SSSSS
#####@###@@@@@@@@@@@@@@@@@@@##SSS#SS#SSS#SSS#SSSSS##S%%**-;-S##SSSSSSSSSS#SSS##S
######@##@######@@@@@@@@@@####SS###S#SSS#SSS#SSSSS%?***+==-=S##SSSS##SSSSSSSS###
####@#@#@@#######@@@@@@#@#SSS#######SSSSSSSS#SSS%*+++**+====*S#SSSS##SSSSS#SSS##