,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,.
,===--=-=-;,-==--;--;:=;-=--,-------=:;-;;=---=,=------=;;:;--=--=;---;--=--,,..
,+*+?-=++*+,,-%+%***:;***??-,*=+*==**:=-*=++%?*:*-%*+*?**+;?*-*?-=-%+*=+-*;,....
,;;-;-::-;;,,:;;:;;-;,-;;;;-,::--::;-:;-;::;;;-,-;;;--;-;:,;;;-;-:::---;;-:.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................
,-=:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................
,;?-+*?*::+*+?-%?+?-?*:S:??+=:%++?-,............................................
,:*-S%%*,,*?=%;?**?:=--?+?%+=:%=-?=;,,,.........................................
,:*;+*?*:,=+=?=??+?---+=*??=%=%*=?=-,,,.........................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,.....,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
------------------============================+*?????????%%%%%%%%%%%%%%SSS%S%%SS
,,:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-+?%SSSS###S#####@###@@@@@@@@@@@#@@
,,,:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-*?%SSSSSSS########@#@@@@@@#@@@###@@
,,,,::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;=%SSSSSSSSS###########@@@@#S@@@@##@@
,,,,:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;-*%SSSSSSSSSS#S####@@#@@@###S@@@@##@@
,,,,,::::::::::::::::;;;;;;;;;;;;;;;;;;;-=??%SSSSSSSSSSSS#####@####@@@#S@@@@#S@@
,,,,,::::::::::::::::::::::;;;;;;;;;;;;-+%%%SSSSSSSSSSSSSS#S###########S@@#@#S@@
,,,,,,:::::::::::::::::::::::::::::;==+??%%%SSSSSSSS##SSSSSSS##########S@@@@#S@@
,,,,,,,:::::::::::::::::::::::::::-+??%%%%%SSSSSSSSSSSSSSSSSS##########S@@@##S@@
,,,,,,,,:::::::::::::::::::::::;=+???%%%%%%SSSS%SSS%SSSSSSSSSSS########S@@@@#S@@
,,,,,,,,,,::::::::::::::::::::;+????%%%%%%SSS%S%%SS%SSSSSSSSSSSS#######S@@@@#S@#
,,,,,,,,,,,,::::::::::::::::;-**????%%%%%%%S%%S%%%%%SSSS%%SSSSSSSSSS###S#@@@#S##
,,,,,,,,,,:::::,::::::::::;+***??????%%%%%%S%%%%%%%?%%%%%%%SSS%SSSS%S##S#@@#SSSS
,,,,,,,,,,,,,,:::::::::::-+****?????????%%%%%%%%%%%?%%%%%%%%??*?%%*?%SSS#SSS%%S%
,,,,,,,,,,,,,,,,::,::::;=+++****?????????%?%%?%%???*??????*+++==+*==**S%SS%%%%%?
::::::::::::::,:::::::;==++++*+****?*??????????????**++======++=++++=;-+?%%???%%
;;;;;;;;;;;-;;:------:-=====++++********+=-=**=+***+++=====--+???**=-;;;-*???%%%
;;;;;;;;;;;---;--==--;--=---===--=-+=++++++==++=++++++*+++++++*??+-------=*?%S##
;;;---------==--;=+-;:;;=-;;--+=-+==--;-***+=-===;:;-+++****++**+--========%%S##
-----========++=;-+==;-;---;;;-++===--;;+***++-;::::;++++**?*=++-==+++++==++%%%%
-===========+++***+*++=;;-----===--===-;=??+*==-;;::;=++++****++++++++++++=+*SSS
-==========++++++====+=-;;;--========++=+**+*+++=;;;;=-===+**?-+******+=+++=+*%%
=======++++++++++=+=+===;;;;--======++*+==++**+++-;;;--===+*?+=*?*?****++=++==?%
======++++++++****++++++==--===========---=??*+**+-=+***=-***++*S%*******++++=+?
=======++++*********?**++++++=========+====*?*++%??%%?+-;;=+*+++==+%????****+==*
=======++++*******?*****+++============++++??+++?%?S%*=;;-=***+=-=+??+++++***+==
=++++===++++********??**+++=============+++**+++++*?*+=---+??**+++*****++****+==
+++++++++++++*************++=============++*+*++==+===-===*???**+***???*****#S+-
*+*++++++++***************+++=============-+==+++++---===++*?***?#??%?????*?#+=-
+****+*+++++++***********++++++===========++--=++++=====+++?*+***?S???*?%?*S%=++
*********+++++*****????*****++++++++++++++*+=+**+++==++++++**????+?%%?*??**#%+++
******?************?????????*******************************+*?%?***?**???**#%***
????????????***????????%%???*****??**????*???**?*???******+=++?*?***-+*??**#S?**
???%?%?%%%?????????%????%????????%%%??%???????????????????*++*%?*?%*--*?***##?**
%%%%%?%%%%%%%%%%%%%%%%%%%%S%%%%%%%%%%%%%%%%%%S%S%%%S%%%%%%?+??%%%%%?**??***%@%**
%%%%%%%%SSSS%%S%%%%%%%SS%%%%%SSS%%S%SSSSS%S%SSSSSSSSSSSSSS?*??%%%%%***?****?#%**
SSSSSS%SSSSSSS#SSS%SSSSSSSSSSSS#S#S####S#SSSSSSS#S%S%SSSSS?S%%S%SS%++*?**???%%*?
SS###SS%SSSSS%%SSSSSSS%SS%SS##SS######SSS%SS%SS%%SS%%S%%%%%SSSSSSS?-+*?**????%?*
%%SSS##%SSS%SSSSSSSSSSS%SSS%%S%SS%S%%%%%%SS%SS%%%%SS%SSS%SSSSSSSSS?=+*?*???????*
%%S%%SSSS%SSS%%%SSSS%S%S%%SSSSS%%%%%%%SSS%%SSS%%%%SSSSSSSSSSSSSSSS%=+*?**??????*
S%S%%%S%%SSS%S%S%%%%S%S%%%S%SSSSSSS%%SSSS%%%%%%SSSSSSSSSSS%%SSSSSSS++??***??????
S%%SS%SSS%SSSSSS%S%%S%%S%SSSS%%%SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS**??****????*
SSSSS%%S%SSS%%SS%SSS%S%%%%SSSSSSSS#SSSSSS#SSSS%SSS#SS#SSSSS#SSSSSS%**??*?*******
S%SS%S%SSSSSSSSS%%SS%%SS%SSSSSSSSS#S##S#SSSSSSSSS%SS#SS###SSSS#SS#%**??**??*??*?
SSSSSSSSSS%SSSSSS%%SSSS#SSSSSSSSSSSSSSSS#SS##SSSSSSSSS%SSSSSS##S##%**??****????*
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS%SSSSSSSSSSSS#SS%SS?SS###@S%**?????????**
SS%SS%SSSS%%SSSSSSSSSSSSS%SSSSSSSSSSSSS%SSSSSSSS#S#S###SSSS%##SSS#%**??????****?
SSSSSSSSSSS%SSSSSSSS%#S#SSSSS##S##SSS#SSSSSSSSSS#SS#S###SSS#S#SSSS%**???????****
##SSSSSS#SS%SSSS%S#S%%##SSSSSSSS#SSS#SSSS####SS##SS#SSS#SSSSS#SSSS%**???????*+**
S#SSS%S##SSSSSSSSSSS%%SSSSSSSSS#SSSSSSS#S##SSSSS####SSSSSSSSSS#SSS%**??*****???%
SSSSSSS#SSSSS#SSSSSS%SSS%%SSSSSSSSSSSSSSS#S%SSSS#SSSSSS#SSSSSSSSSSS**????***?%%%
%S%SSSSS%SSSSSSSSSS#SS#SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS#SSS#SSSSS#S**??????**???
%%%SSSS%%SSS#SSSSSS#SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS#SS###S###SSS#S?*??????++?%%