=---::::::::::::::::::---==
==-----:::::::::::::::::::::::::::::::::::::----
+==----------------::-------::---:::-::::::::::::::::::---+
*+==-------=-----==:+#####*-----+:=####+--:::-*+=-::::::::::::::::-=
*++=========---=-----=+-===---------+:--------:::-=+++:+#%#+-:::::::::::::-=
*+++========--*###*##=---=+=-++***------+:=*=-+#*-::::::----:---::::::::::::::::::--
*+=-=+====+==+*--++=======--=+=-+++==------+:-+#*---::::::--:--::::::::::-++::::::::::::--
#*++*#=:-+#*=++++**:-=======----=+-:--=++**---+#+--+#**-:::::-:--::::::::::=*==:-:::::::::-:::-
***+*++-+*-+*#+==+++**-====---=+=-=*###**++==---===---===-::::-+#+::::::::-------:-::::::---::::::--
****++++**=-*=--+**=-=++##+++*##*+===++*******************+++++++++==--::-+**++*#*+-:-::::::=+=:=--:::::--
**++**++++*##****-=**#--=++***++++**###***########################***++++++==--:::--+-:-::::::-:-**#+-:::-::--
#*+++**#*++++**##*##-::-+*+++++*####*###############*********###############******=:::+*=-::::-::+=-:::::::=+::::-
****#******#*+++++*=--==-*++++*#############*****###**************##******#########****+-=-:---::-*-::::::-==-::::::--
*************+*#*++*#######+**##########****##**++=----::--=**+====--==++*********#######*##+==*#+---:::=--==-:::::::::::-
**************#****#*++++++*#########**##*#****+==--::-=----:::-------=+=-::--+******#**######*##*==*#=::::--:-*=-::::::::::-
****#*****************#*++*########**#*****##+++=---++-:::-::-:::-::---:--=*=-:::-*#*+***#*+*#####*##=-::::::::::-*+-::::::::::=
#*****#*****************+*#######***#****#**++++==-=+=---:--:---:::--:--:-::---++-:--:-+********+*#######+-:::::::::--==-:::-=+-::--
#*************+***********#####*************+++++=+++=---:--:----::::-::--:--::---*+-:---=*++********#######+-:::::::::-:::::-:::::::-
###*************++*******#####***********#*+**++++*++=-=--=--=--=:::::-:::----:::--:=+*-:---+**++**+***+*######+::::--+***-::--------::-
#**************************##*********+*#*++***++**+++===--=+-===-=-:::--::::=--=::::=:-*=+-:=--+*#*=*#+***+######*-:::::---+=----------:::-
###************************#*********+***+++*******++++=+--=+--+=+-+-:::--::::=:=-=:::--::===-:---==+*#++#+**++######+::---=-:=+--==-------:-=
#*********##*#####********##********+***+++*******++++*=+=-+=*-++=*=*=-:-=-::::=--+=-:::--:-+=-=:=--===+**=+*+**+*#####*---:----=+-----------:-*
###********************************+***++++**#*****++**+*+=*=**-*+=*=*+=--+=:::-=--*=+--:--:--=--=:+-=====+##=**+**=#####*--++-----+--=++------=:+
##************************************++++****##****+*****+*+*##=#*=#+*+===*+----+==#*++=--=-:-==----+++=====+#++#+*#+*#####=--------*=+=--------:--
#**#******************************+**++++*****###****#*#******###+#*+****+==*+====+=+##*+*=-=----==-=--+++=====+**=******#####=--------+-----------:-
##**********************+**++*****+**+++*******###****#*##***###*#+#***#*#*++**++++#==+###=*======*---====+======+*#+**+*+*#####=-------==-------------
##*****+********#******++*+**+*+++*++++******++##****####*####*+*####+##*#**+**+*+#*+--+###+*=+===#==-==--+========+#=*#+#=*####*--------+------=------=
##*********************++*++*+++++*+++*******+*###*#*#########*****####*##*#*+#***##*+=++*###**++++#+====+*+--=======+#=+**#+*####+--------+------=------+
#*********************+++++*+++++++++*****+*######*#*###################*####****###############**+#*==+=+*+*+-=======+#=++**+*####--------=+-------=-----
##*********************++*+*+*++*++++++***+**########*########*+++*#####%###%##*#*#####**+==+*####*##*==+=+###++-=======+#+*+**+*###*--------+=------=-----=
#**********************=+++*++*++++++-+******+++#####*#%%%##*#+==+***####%%%%%%##*####****===+*####%%*+=++==+=+*=====-==+**+***+**###=--------+------==----=
%################***###++++*+*+++++****+++===##++#%###**%#######**##++############***###**#*+*#####*#%*+=++*+=**=--=======+*=*+**+*#######%%%%#********=----=+
#**********************=+++*+=*+++*******##++=##+#%###+*##%*==++==++++#*#####*+=++++****+++===++==###%*+++**=**++-++======+*++*+*=**##*==========*##*=====--=*
##*#%***+=#%%%#*********-++*+++*+++*******##*++*#*#%###*+%###=-==--===-=#+*##**=:-====**=-+=---==-+###%+++***++#++=**=======+*=+**++*###+========+***#*==+##+=*
###*#***--*####********+-++*++*+*++*******###**+###%%##+*######**+***++++++***+-:------===+*+++++*+*+*#+++*###**++***=======+*=+***+**##+=========+++*#+==--==+#
##****************+****+=++#++#=*+*******####**+###%%##*+##*****++========++*++-::::::::------=-=---=*#++**%#*#+++*+*+======+*=+++#=**##+==========++++=======+*
########***#**#**#+****+=++#++#=*+******####%#***##%####+*****+++========++***=-:::::::::::----::--==*****#####+**##+++++++++*++++#=**##+=====*+==============+*
#######**##*****###****+-++#++#=*+*****#####%###*#######**#*+***+++====++++****=-----------------=-++#+*##*###*#**#*+++++++++*++++*=**#*+====+*+====++========+*
#####*###########*******-++#++#=*+****####%###########%##+*****#***+++++++*####%##*==-==========+=++**+##########**++++++++++*++++*+**#*+====+**====++++********#
#####################****-=+#*+*+*+****####%%##*########%#**##*####****++++*###%###%#=-======+++++++****##########**+++++++++++++++*++***======#*====++========+##
##########**####+#*##**#*==+#**+**+***#####%%%#**###%%#####**##***##*****++*##%##*------==+++++*++*****#%%##%##*****++++++++++++++*+*+***#####*======++========*#%
%#########*#*########**##+-+***=#+*+**#####%%%###**##%%%%########*####*********+-==-:--==++++***+****###%%%%#***#***++++++++++++++*+*+**+=+==========++========*#
%##############**########*-=*#+*+**+**########+*###**##%###%#############***########*+==+++**********#######***#*++++++++++++++++++*++**=+++++++++===+++++++===##
%%###*#*#**##*##+########=:+**++**#=****############***#####**###############*+++==+####************####****##***=+++++++++++++++**++*+++++++++++++++=======++#*
%%###*#########*+########*--*#+*++#*++*+####%%%%%##%%%%####%#***########*####%#####**+=************%##*%####*****++++++++++++++++*++*+++++++++++++++++++++++*+##
%%###*#########**#########*-=*#+**=#***#####%%%%%%%%%%#%###%%#****##################**************%##**#####*****++++++++++*++++*++**++++++++++++++##++++++*+*#
##%###*#########**#########*-=*#++#+#**#########%%%%%%#%###%#%%#*++*###########*+++*********+++*#%##****##*#*****+++++++++*+++++*++*+++++++++++*+++++++++++*+##
#%#########**##*+*#########+-=##++**#*+############%%#######%%%%#*=+*#######**+===++*****+=+#%%%###***+*#***+**+++++++++*++*+**++*+++++++++++++++++++++++*+*##
##%#########+*##*+##########+-=#*=**+##+*#############*######%%%%###*++*######*********++###%%%####**#*+****++++++++++**+**+**++++++++++++++++++++=+++++**+##
#%%%%%#####*+###+*##########+-=##=***+#**#####################%%###%###***##%%####*+*#####*#%####*#**#****++++++++++#*+*++**+++++++++++++++++++++*+*#%##+###
##%##############*+##########*=-*#*++****#################*###%%#*####################*##**####*#**#****+*+++++++++*+*+++**+++++++++++++++++++++++*******###
#%%######**######+*###########=-+##=*+******####*######**#*#######%#%######%%%######**##*+###**#***##***+++++++++*##++**+++++++++++++++++++***+++****+*###
##%#*#####+*######+*#######***#*-=*#*=********##*#####***###**#*#####%%%###########***#*++*#+*#*#+*****+++++++++***++#*++++*##*+++++++*+++++++++#**+**####
##%###%###+#######**#*####*#*##*--=##+=+********#############**#####%%%%%%%#####***+*#**++*######*****++++++++++++**++++**+***+++**=++++++++++#***++####
##%%#*#####+*########*+##########*--=**********+*############+######%%#%%########*+++*+++=*###******+++++++++++++++++++*++**++++++*++++++*+++**++++####
##%%#######+*######################=:=+*******+****########**########%###########+++*+#*+-******++++++++=+++++*+==+********+#*++++++++*#*%%*+=++*####
%%#%###############################*=-=+++++********+++*#############%######**#*++**#+=*+=*+--====+======+++===+************+***++++*###%%%%#**#####
%#%%####%#############**#############+--=++=====++++=-*#%##################*##*++***+*++*##*:::::::--======++***************#++***##*****##%%%%###
##%%#################**=*#############*+--+++++=+##*+#*#################****#*++**==++=+#*#+*#*=:::::-==+*****************++***+**+++****#*#####
###%%##################*+*##############*=--=+=-===*#*#######%###*#*****+****++*+==++=+###*---::--=+****************************+++++****#####
##%%%###################*=*################*=---=+*#++*#########+#+******+*+++**+====+=*##+====+********************************#*+++*##%##%
%%%#%%###%%##############*++########**########**+=-==**###**%##+#*#***#%*+=++*=====++=--=+***********+++*********++**********##*****#%%%#
%%##%%####%%###############*=*####*#*#############***=-----=++=**#****#++===-----=+*******#**********+********+***********##*****#%%##%
####%%###%%########==#######+=*############*+=+****########***+=**+#*+***##*************=****************++***********##*****##%#%%%
%##%%%%#############*+###################*######****+*#*******+##*##********##**********+*#************************##*****##%%##%
%%%%%%%###################*###########*#############********==++**********+************+************##********##******#%%%####
%%%*#%%################*###########*###############***********************************+#************#****###******#%%%%%#%
%%%##%%%#########################*+=+***#############*********************************=#************####*******#%#%%%%%
%%###%%%%#########*###########*#####*+++++++++*******************************+++++***=#*******************##%%%##%%%
##%%%%%%%######*###########*##############*******#*************+++==++**************+#***************#%%###%##%
%%%%###%%%###%#########*########################*********##***********************+#*******######%%%#####%
%%####%%%%%####%####*######################################****###########******++#*#######%%%%#######
######%%%%%%##############################**#########*###**************#***#***######%%%%####%%%
%#######%%%%%%#######%%%#####**#####**#############**#***************####*######%%######%%
%##########%%%#####%#######%%%####%#################**************###%%%%#########%%
%###################%%#########################***#########%%%%%%%##########%
%################%%%%%%%%%#################%%%%%%%%##%%##############
%########################%%%%%%%%%%#######################%
%#############################################%%
%#%#########################%%%###