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