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