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