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