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