??*+==++++++??***????%%%???%%SSSSSSSSSSS%%%%%%%%%%%SSSSSSSSSSSSSSSSSSSSSSSSSSSSS
%%?+===+====++***????%%%??%%%SSSSSSS%%?*+++--;---=+*?%%SSSSSSSSSSSSSSSSSSSSSSSSS
SS%?+++++=+=-=+***?%%%%???%S%SSS%?*+=;;----;;;;;;:;;;-=?%SSSSSSSSSSSSSSSSSSSSSSS
SS%%*++++***=-=++*?%%????%%SS%?*=-;-=+++++==+**==+++==--+%%SSSSSSSSSSSSSSSSSSSSS
SSSS?*+**?*+==-===*????%%%%%?+---+?%%%??+=--=?**%%%%?*==--*%%SSSSSSSSSSSSSSSSSSS
SSSS%?**??*+=--==-*???%%%%%*=-=*%%S%%%?*==--*%SSS%?*++=----=?SSSSSSSSSSSSSSSSSSS
SSSS%%???**=-----=+???%%%?+--+?%%%%%%?*+=---?SSSSSS%*=-;;----*%SSSSSSSSSSSSSSSSS
SSSSS%%?*++--;-=++**??%%?=-=*?%SSSSSS%?*+=-=*SSSSSS%%*+--;;---*%SSSSSSSSSSSSSSSS
SSSSSS%?*+-;;-==++***?%?+-=*%SS##SS%?*+++++*%S###SSS?*===--;---*%SSSSSSSSSSSSSSS
SSSSSS%?+--;--=++****??+-=+%S##SSSS?*+++++*?SS####SS%?*=--=-----?%SSSSSSSSSSSSSS
SSSSS%*=-------+*****?*--+%SSSS#SSS%??*==-=*S%##SSSS?+===-;=+----?%SSSSSSSSSSSSS
SSSSS*=---=---=*******=;=%SSSS#####SS?*++=--?S###SS%?*=---=-=+----%SSSSSSSSSSSSS
SSSS%*====+=--=+*++*?=--?S%S#######SS%%?=--=%S####S%*+=----+==*---+%SSSSSSSSSSSS
SSSS%*+==++*+--=+**?*--+%?%########S#S%?+==+SS##S%%%*=-=----+++*---?%SSSSSSSSSSS
SSSS*+***??*+----+??=--?*%S#########SS%%*==?S%#SSS*+?+-----==++?=;-+%SSSSSSSSSSS
SSSS%%%%%???*+=--=??-;++%S##########SSS?*?S%*?S#%?%*=++---=+++*+?-;=?%SSSSSSSSSS
SSSSSSS%%%%%?+===+?+;-+?S###########SS%?%%?*=+*%S?+??=++-==+*++**+;-*%SSSSSSSSSS
SSSSSSSS%*+**+===?%=;-*S###########SSS%%%?+====+??*=+*++=+++*?**+*-;*%SSSSSSSSSS
SSSSSSSS%--+*===?%?=;=%SSS#########SS%%%?+===--=+*?*==**++***??***=;*%SSSSSSSSSS
SSSSSSSS?-;-=-=*%%%--?SSS##########SS%%*+====--=+**?+==??*????%?**+;+%%SSSSSSSSS
SSSSSSSS?-;;;-+?%%?-+S%%##########SSS%?*+===---=+*???+=+%??%%?%?**+--%%SSSSSSSSS
SSSSSSS%?-;;;-*%%%?=*%?S##########SS%?*++=====--=*????**?%%?%%?%?*+--%%SSSSSSSSS
SSSSSSS%?=--;=*?%%*=??%##########SS%?*++==+======+*??%???%%%%%%%%*+=-?%%SSSSSSSS
SSSSSSS%%?--;-=+??+-?%SS#######SSS%??*++==+++====+*?%%%%%%S%%%%%%*++-*%%SSSSSSSS
SSSSSSS%%%+----=??-+%SSS#########S%??**+++++++**?%%%%%%%%%SS%%%%%?++=+%%SSSSSSSS
SSSSSSSS%?*--==*?+=?S%SS###########SS%?*++++*%%%%??%%%%%SS%SS%S%%%++=+%%SSSSSSSS
SSSSSSS%%?++-=+*?+*%%%S#########SSS%%%%?*++**???%%SSSSSSSSSSSSS%%%*++=%%%%SSSSSS
SSSSSSS%%++--+*?**??%%%##########SSS%????*++*??%SSSSS##SSSSSSSS%%S*+++%%%%%SSSSS
SSSSS%%%?*=-=+*??*????S##S#######SSS#S%%?+==+**S%???%S#S%%%SSSS%%S*+**?%%%%%%%SS
SSS%%%%**=--=+**??***%S#SS######%%%%S#SS?=;;-=+??????%%%%%%SSSS%%S?+*??%%%%%%%SS
SS%%%%?===--=**??%*+*SS#%S######SS%%%SSS?-::;;-=++*+***?%%?%SSSS?S?+*?%%%%%%%%%%
S%%%%%?+;-;;+*???%?+%SSS%S####SSS%%?%%%%*-::::;;--==-===*??%SS#S%%***?%%%%%%%%%%
%%%%%%?=-;;;**???%?*?%%%%S##SSSS%%????%%*-::::::;-;-;;--=*?%SS#SS%**??%%%%%%%%%%
%%%%%%%+--;;*???????*%%%%##SSSS%?????%%%*-:::::;;;;-;---=+?%S##S%%*+??%%%%%%%%%%
%%%%%%%*=;:-*%%%????**?%%##SSS%??????%%%+-::::;;;-------=+?%S##S%%?*??%%%%%%%%%%
%%%%%%%%*=:-*%%%%%%%?+??SSSSS%%??????%%?*=;:::;--------=+*?%S##S%?**??%%%%%%%%%%
%%%%%%%%?*-:*%%%%%%%%+*?SSSSS%%??????%?***+=-;;------==+**%%S#SS%?*???%%%%%%%%%%
%%%%%%%%%?;:=%%%%%%%%**%S?-*S%???????%%*?++?*=;;----===+*?%SS#S%%?*??%%%%%%%%%%%
%%%%%%%%%?-;=%%%%%%%%?*%?=--S%?+????%%%%%?*+-::;;---===+*?%SSSS%?????%%%%%%%%%%%
%%%%%%%%%%*;+%%%%%%%%%?*++==SS%*?????%SS%*+-:::;;--====+*?%SSSS%%*?%?%%%%%%%%%%%
%%%%%%%%%%%-?%%%%%%%%%?+*+=?SS%??????%%%?+=--;;;;--===+++*%SSS%??*?%%%%%%%%%%%%%
%%%%%%%%%%%*????%%%%%%***+*SSS%??**********+++========+=-*SSSS%?*?%?%%%%%%%%%%%%
%%%%%%%%%%%?=--+====+++**+?S%?+---;;*???%%??+============?%SS%??*?%%%%%%%%%%%%%%
%%%%%%%%%%%%?=;?++=============--==-**???**+===--=====+=+?%SS%**?%%%%%%%%%%%%%%%
%%%%%%%%%%SSS%%S%%????*+===+++++==++**+++*++++++========-*%%%***%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%SSSSSSSS%?+++****?%%++++**??????*+=======++-*%S?**?%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%????*******?SS%?*==+?????*=----===+**+=*%%+*?%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%?**???+--=???%S%??+-=**??*++=====+*?***=*?**??%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%?+*?*+==-;:;+??%%??*:-=+*****++++*??*??*+*+*???????%%%%%%%%%%%%%
%%%%%%%%%%%%%%%?*=*+++++++=-;;-*??*+:=+++*+++***????*??**=:=*?????????????%%%%%%
%%%%%%%%%%%%%%??++++++++++++=-;:-**;:-=+******??????*???+;::-+*???????????????%%
%%%%%%%%%%%%%?*+==+===+=+?*+++=-;--;-;;;+?**???????*???*=-;:,:-+***?????????????
%%%%%%%%%%%%??=-======-;-+????*+-;;-----*????????*?**?*+=--;;::::;-=+*****??????
%%%%%%%%%%%%?*;-------;:;=*???+===-;==+??????????*?*+*+=---;;;;;;;::::;;----=+**
%%%%%%%%%%%??=+++++++==-;:-++==++++==+*%%%%?????%??*+++=--;;;;;;;:::::::;;;;;:::
%%%%%%%%?%???=?*********=-:;+++*****+*?%%%%???????*+==--;;:;---;:::::;---------;
%%%%%%%????*==%?***+==--==-;-+****?????%?%%????%???+-;;;::;;-;::::;;--===-;-;;;;
%%%%%%??*=;;-=%%*+*==---;-==;=***??%%??%%?%????%*?*=;:::::::;;;::;;-====--;;;;::
%%%%???=;-+*++%%?++==------==-=++*%%%??%?*??****+*+-;;::;;;;;;;;;;=====--;;;;;::
%%%??*;-+*??*+%%?*+====-==----=+**?%%?%%?+*+==*+**++==---;;;;---===++==-;;;-;;:,
%???*;-*??%?+*S%??*+==+=++=--=*+++*????*+=*===+-+===---;----=-=====+++=;;:;--;::
%???;-*??%??=*S%?*++=+++===-=??*+??**???*++-;-=+**++===-------========--;;-==-;:
%??=-+??%???=?SS%?*==++++===*%?*?%%?%???*===-==****+===-;;----====-==----------;
???;=**?????=?SS%?*===+====+????%%?%%???*++++++***++==-------====----=+===---==-
??+-+???????=?SS%?*=-==++=+???%%%??????**+++++***+++===-------===----+**+++++++=
??-=*???????-?SS%?*+--=+++??%%%%???????*******+**+++===--------=-;;-=+****++**+=