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