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