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