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