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