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