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