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