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