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