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