#**+=*%%%##*++++****#**###*######*==+###**###**++++++*#@%%%#*#*#####****+==+##*+*%%#####%%%%##*#**#%##**#%%#*+###+++===++++**#**+++++++****######%#+#%%#+++=======+#@@@@%%##*++====+++*##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#@@@@@@%%##*++==---=+#%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%@@
++**++#%%###**++************#######%%##*#%********#*+#%%%%#**###%%%#*****#####*%#*+****#%%%#**+**%%%%**#####**##%#****+*#*+###***+++++++******#****+*##%#****+*#++%@@@@%%%##*++=+++++**#%%#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@%%####*+===-===+#%%%%@@@@@@@@@@@@@@@@@@@@@%%%########%@
***+*#%%%#****+*************#%%##*#%%%#*#%%#********%%%%%##***%%%%#####**#%%%#*%%#***##########*#%%#*++*%%##*###%%%%#*+=++#%###***++++++****####*#**##*%%%#*+==++#%@@@@@%%#**+==++++++##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%@@@@%%####*+---====++**#%%#%%%@@@@@@@@@@@@@@@%%####*******@
###%@@%##**##*****+*****+***%%%#*##%###*###%%%%%%%@@@@%####%%#%%%#####**######*##%%###%%###*##%%%%%%***#%%%#*##**%@@%%%%%@@%%##****++++++*****#*#***#*+#%@@%%%%@@@@@@@@%%##+===++++++####%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@%%#%%#**++++====+++*#######%@@@@@@@@@@@%%%###****++++++
%@@@@%%##**#%##************#%%#*++#%###*###%%%%%@@@@@%%%####%%%%%#####*+*#%####%##%%%%%%%%*##*%@%%####*####*##**#++=+#@@@@@%###****++++++**####*********++=+%@@@@@@@@@%%##**===++++**###%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@%%#@%#*++=+++++++++++#%%%%%%%%%@@@@@@@@@@%%%###**+++++@
@@@@@@%%*##*%@%#*****+**###%%%#***#%%#*####%%%%%%@@@@@%#*##%%%%%%#%%##***#%%#####*%@@@%@@#+##%@@%####**######*+*#**#+=#@%@@%%##***++++++++*####****#**##**#==%@@@@@@%%%%*++++==++++*###%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@%%%%#************+++#**%@@@%%@@@@@@@@@@@@%%%%##***++++@
@@@@@@@#+*##@@%*+***++***%%%%###*#####*##*#%%%%%@@@@@@@%**%@@%%%%%%####*########*##*##%@@@%*%@@@%######**####***#**#*=#@%%%%%###*****+***+*****#%**#####*##++%%%%%%%%%%##*=======+***##%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@%%%@%#**#####*+===***#####%@@@@@@@@@@@@@@@@@%%%###***++@
@@@@@@@@%*#@@%#*++**++**#%%%####**######**#%%@@@@@@@@@@@@%%%%%##%%%####**######**###%%%%@@@@%@@@%#####***##%%%%%%##**+%@@%%%#####*******++++***%%##%%%%%###**%%%%%%%%##***++====+****###%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@%@@%#**#%#**####%##%%%%%@@@@@@@@@@@@@@@@@%%%%%#####*++
@@@@@@@@@@@@@@#*******+#%%%######***###***#%%@@@@@@@@@@@@%%@@%%%%#######**####***#%#%%%%@%%%%@@%%######*#%%##%%%%%#**#%@@%%%%##*##****++++*##**%%%*#@@%%%%##%%@%%%%%%%##******+=++***###%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@%%###%%%%%%*+#%%%%%%%@@@@@@@@@@@@@@@%%%###%%%%@#++
%@@@@@@@@@@@@%##*****###%%%######**##%%%#%%%%%%@@@@@@@@@%%%%%%%%########**##%%%%%%%%#%#%@@@@%%@%%##########*#%%%%###%@@@@%#%%#############%%#++%%%++%@@%%%%%@@@%%%%%%%%##*++=====++*#*####%%%%%%%@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@%#****##%%%#+*%%%%%%%%%@@@@@@@@@@@@@@%%%%####%@%++
@@@@@@@@@@@@@%%#*****#%%%%%#######*#%%##%%%@@%@@@@@@@@@@@@%@%%%##########*#%##%%%%%%##%%%%@%%@%%%%########**%@@@%%@@@@@@@@%##%#****##*##%%%%##%@@%*#*####%%#####*##***++=----==++****#####%%%%%%%%%%%%@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@%#*+++*****#%%%########%@@@@@@@@@@@@@@@%%%##%%%#@#++
@@@@%@@@@@@@@%##*+**#%%%%%%%######*###*#%%#%%%%%%%#*#%%*%%@%%%###########*##**%%%%###*##*+%%%%%%%######**%#*%@@@@@@@@@@@@@@%#%%**+**##%%#%@@%%%%%*#@%#*++*##*#**#%###***+++++++++****###**#%%%%%%%%@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@%#*+*#######%%###%##%%%%%%%@@@@@@@@@@@@%%%%%%%%@#++
##*+**+=%@@%%##*#***#%%%#############**%@@%#*****##*#+-#@@%%##**###########**#@%%%#%%##*+#%%%%%%######*+#%%#%@@@@@@@@@@@@@@@%%%##*####%%%%@@%#*+=-=##%#******#**#%#%%%###@@%@+=++++**#####%%%%%%@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##%@@%%##**%%#%#%###%#%%@%%%%%@@@@@@@@@@@%@@%%%%%@%%@#++
+**+*==#%%%%####*####%%%#########**#%#*@@@@%##*++==++++*%%%%%###*########*#%*#@@@@%%%#%#*#%%%%#####++##**#%#%@@@%%@@@@@@@@@@%%%#######%%%%%%%#+++-+#*%%%#*******####@@@@@@@@@*+++****###%##%%%@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%###**#%%@%%%%#*+++*#%%%#%%@@@@@@@@@@@@@@@@@@%%%%%%%%@@*+
*++***+*%%%%####*###%%%##########*+%%##%@@%%%#*****#***%%%%#***#*#%%####**%%#%%@@%%%%####%%%%#**####+==+*#%#*%@@@@@@@@@@@@@@%%%#######%%%%%%%##*==**=#%%%%##*%@@#%@%@@@@@@@@@++++**#######%%%@@@%@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%###*++#@@%#****#%##%%%%@%%%%@@@@@@@@@@@@@%%%%%%%%%%@@*+
+******%%%%#*****#%%%%%%#**##*+*##+*%%#%@@%%%#####**##%%%%###**###%#*+*#**#%##%%%%%%%%%@@@%##*#######*=+*##**#%%%%%%%#*#%##%%%%########%%%%%##*+=**++*+**#%%%%@@#%@%@@@@@@@@@+++***#####%%%%%%%@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##%#*+===*%%%%%%%*#%%%%%@@@@@@@@@@@@@@@@@@%%%%%%%%%##@*+
%%%#%@@@%##*#####%#######***##*+=++##%**@@%%%%%%%%%%@@@@%#**#%###%##**++**###*#@@@@@@@@@@%%#**##%######%%##*%%*++***%#**==%@%%##########%%%%%#*++#*+*#**#*#%%%%#*%%%@@@@@@@@@++++++*####%%%%%%%@@@%%@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##*++===-=+%@@%+=+%@@@@@@@@@@@@@@@@@@@@@@%%%%%%%####%++
%%@@@@@%%#####%##%%%###**######*+=+*##**#%%#%%%%%@@@@@@@%%*###%%%%####**+*###**%%%%%%%%%@@%#*#*#%@%#*##%%%**%%##*+++=++*++#@%%##############*#*+*==#%%#*###%%%%%*#%%%%%%@@@@@++==++***###%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#**++=----=*%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%###*#++
%%%@@@@@%#*###%%%%#####***#######%%%###%#*++##%%%%%%@@@@%*+##%@%%####*##%%##*%%#***##%%%@@@#+*#%@@%**######*##%%##****#*+#%@%%%##########**+=*++*####***##%%%%%%#%%%%%%%%@@@@*====++**##%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%#**+==---==*%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%##%%%*+
%%@@@@@@@#**#%@@%####***#*#%%%#*#%%%#**%%#**##%%%%@@@@@@@%**%@@%###%#**#%%%#*#%%##**###%@@@@%#%@@%*++*#%##*##*#%%%#*+==#%%@@@%%%###*##****##*%%%#*##++==*#%%%%%%%%%%%%%%%@@@@#+++++****#%%%%%%%%%%@@@@@@@@@@%%%%%@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%####*+=======++*##%%%######%%@@@@@@@@@@@@%%%####%%%@*+
@@@@@@@@@@%#%@@%##*#***+**#%%#**#%###*###%##%%@@@@@@@@@@@@@%%@@%#####**#####*###%%###%%%@@@@@@@@@@#**##%%#*##**#%@@%%%%@@@@@@@%%%##********#*%%#####+++++#%%%##%%%%%%%%#%%%%@@=++++++**#%%%%%%%%%%@@@@%##########**##***###%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#%%#*+=+======+++*#######%%%@@@@@@@@@@@@%%%%%%#####@#+
@@@@@@@@@@@@@@@%##****##*#%%#*++#%%##*##*%%%%%%%%%%@@@@@@@@%%@%%####*++#%%##*#**%%%%####%@@@@@@@@%%#*####**#**#*++=*@@@@@@@@@@@%###*++*****#*##**##+=*++***#%#=#%%%%%%%%%#*#@%*+++**+*#%%%%%%%%%%%%%##*====+++++++++=++=----==+*##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@%%#@%#*++=+++++++++++#%%%%%%%%%%@@@@@@@@@%%%%####%%%#@*+
%@@@@@@@@@%%%@@%##*****##%%%#***#%%#**##**#%%%%%%%%@@@@@@@@%%%%%%####**#%%#*##***%%@@%%@@@@@@@@@@%%#**#####**##*+#*=#%%@@@@@@@@%#++**++****#*##*##*#%#*#%%###*-+*#%%%%****##%%+*++**+*##%%%%%%%%%####+=--==============----:::-===++#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%##*#****#####%@@@@@@@@%%%%%#*+*++******+++*+*%@%@@@@@@@@@@@@@@@%@@@%%%%%%%%@*+
%@@@@@@@@@@@@@@%%#*****%%%%###**###**##**#++**%%@@@@@@@@@@@@@@%%%#########**#**##+*++%@@%@@%@@@@@%%##**######*%#*##=*%%@@%@@@@@%%#++++*********++**%%#**%%%%%*---#%*==#%#*##%%+**+****##%%%%%%%%##***++=====+++=========---::::::---=+**#%%%@@@@@@@@@@@@@@@@@@@@%%##*+=+++=============+**#**#%@@@@%@%#***####**+==+**#####%@@@@@@@@@@@@@@@#%%@%%%%%@%%@*+
%@%%@%%@@%@@@@%%##*+**%%%%#####**#%###**##****#%%%%%**###*%@@@%%%#####**#%###**#*+##++%%%#**%%%%%%%####%%%%%%%%###*+#@@%%%%%%%%%%##**++**##**#%%%%%%%***#%#*%%==*%%##%%+=#%**%+****+**##%%%%%%%#**++++********++++==+++++===-----------+*#%%%%%@@@@@@@@@@@@@%%%#*+==-++-----:---------==-=+**##@@%@%%##**#%%#*****####%%%%%%%%%@@@@@@@@@@@@%@@@%%%%%%%%@@*
****#**+=+%@%%######*#%%%#######**#*###*#%*###*######**==%@%%%%%######**##*###*#%*##*=#%%##%%%%%%%%%###%%%#%@@%%%#*#%@@@%%%%%%@%%######*+***##%%%%%%****#%%**%=-+%%%%%%**%%%%#==++++**#%%%%%%%%##***++++++++=----==-=--=-===============+*#%%%%%@@@@@@@@@@%%%%#*+=++=---------===+++*********#%%@%@@@@%%####%%%%%%#**%%%%%%@@@@@@@@@@@@@@@@@@@@@%%%%@%%@@*
+++++++==#%%%%#####%%%%%%%######*#%%%%#%%%###**##***++*++*%%%%%#%##*##**#%%%%#%%###*+*%%%##%%%%%%%%%%#%%%##%%%%%%##@@@@%##%%@@@%######%%%%%%*#%%%#+++*#**#%%+**#%%%%%#%##%%@%%*==+++###%%%%%%%####***+*++=-+***##+===+++++==---========+++##%%%@@@@@@@@@@%%%%#*+++++++++===+++++****###%%%%%%%%%@%%@@@@@%%####%%@%*++%@%%%%%%%%%%@@@@@@@@@@@%%@@%%%@%%%%@#
******#**#%%%%#*###%%%%%%#######*#####@@%%%###%#####*#**#%%%%#*####*+***###*#%@%%%#*#%%%%##%#####%%########@@@@@@@@@@@@@%##%@@%#**####%%%%#**###%%%%%##***#%*=*%%%%%%%%%%%%#*##+=++**#%%%%%%%%#####****=-+##+---:::@*-::-=+++========++++**#%%%@@@@@@@@@@@@@%%##*****++=----====+==--=*#%%%%%%%%@%%@%%%*+==++***#############%%%%@@@@@@@@@%%@%%%%%%%%###@#
********#%%%%##**##%%%%%%%##########*#%%%%#%#%%#%%%###%%@%%#########*++*###*#%%%##%#%%%%%%%%%##########%%#%@@@@@@@@@@@@@@@%@@@@#**%%%%%%@%%%###%%%%%%%#**++**+*%%%%%%%%%%#**##%#*=+**#%%%%%%%%%#####**+=*+--=+#=--:=--=++##+==++=======+**##%@@@@@@@@@@@@@@@%%###*+=----===-====-=+#@@%++#%%%%%@@%@@@%%##*########%%######%#%%%%%@@@@@@@%%%%@%%%#%%%###*@#
%%%%%%@@@@%####%##%%%%#############**%@@@@@%%%%%@@@%%%@@@%##**#%##########*#%%%%%%%%%%%%%%%%%%%%%%##**#%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%@@@%%%##%%%%%%#**++#%###*+==++*%%#####%%%#***##%%%%%%%%%########*+===+#*=---:::--=%%#*++++++====+*###%%@@@@@@@@@@@@@@%%#*+======-:::---=--+----#%##%%%%%@@#*%@@%#**++#%###%%####%%@%%@@@@@@@@@@@@@@%%%%########%@@#
#%%@@@@@@%%%###%%%%%%%#########**#%#*%@@@@@@@%@@%%%%%@@@@@%#*#*#%%######%%*#%@%%%%%%%#%%%%@%@%%%%*+##**#%%#%@@@@@@@@@@@@@@@@@@@@%%%@@%%%@@@%%%###%%%%+=+=--*%%%@#+**%%%#####%%%@@#*##%%%@%@@%%%%###%####***####*--=-----#%%%##**++****++*###%%@@@@@@@@@@@@@@%%+========----::----#%%#+==+*%%%%@@%#**+*##%%%%%%%#**++*%%##%@@@@@@@@@@@@@@@%%%%%###**##%%@@%
%%%%%@@@@@%#*%#%%%%%%##########*+#%%#%@@@@@%%%%%%%%%%%@@@@%**#*@@%%*#####%##%%%%%%%%##%%%%%%@%@@@@#+==*###*#@@@@@@%%%%%%%%%%@%%@@%%@@@@@%@@@%%%%##**+--==--+++******#****##*#####***##%%####%%###%%%%#####**##%%%%#*##%@@@@%%%%%%%##@@@%%%%%%%@@@@@@@@@@@@@@%#*+*+===++=-------=*#%%%%**+=*%@@@%##*++==+%@%%%*+++*###%%%%%#%%%%%@@@@@@@@@@@%%###%%###%##@#
%%%%@@@@@@@%*#%@@@%%%%#**###++##+*#%##%@@%%%%%%%@%%%@%@@@@@%**%@@%*++#######%%%%%%%%##%%%%@%%%%@@@@%*++#%####%%%%%%###*##@%@@@@@%%%@@@@@##%%%####**++==+++++***********+++++++*****#%%%%###%%###%%%%%%@@%%#***#########%########%@@@@@@@@%%%%%@@@@@@@@@@@@@%%%#*++=+++***++====*%%%%%#####%%@@@%##*++=--=+%%#%#%%%%#%%%%%@@@@@%%@@@@@@@@@@%%#%%#####%%%%@#
@@@@@@@@@@@@%#%@@%%%###***###+==+*###+%@@@@@%%@@@@@%%@@@@@@@@%@@@%#*+*#####**%%%%%%###%%%%%@%%%@@@@@@@%%#*%%#++**####**#@@@@@@@@@@@@@@@@**++++++++*###****###########*##*******+++*#%@@%#%%%####%%%%@@@@%%%%##********#**#****###%%%@@@@@@@@%%@@@@@@@@@@@@@@@%##********####%%%%%%%@@@%%%%@@@@@%%#*+=-----=+#%@@%*=+%@@@@@@@@@%%@@@@@@@@@@@%*%@@@%%%@%%%@*
@@@@@@@@@@@@@%%@@%%##***######*++*##*###########%%%%%%%@@@@@@@@@%%####***##**#########%%%%%@@@@@@@@@%%%#*+#%##**+*+******++==*######%@@*===++*#***############%%%%%#############***+++######***##%%@@%@@%%%%%#######*******###%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%#******############%%%%@@@@@@@@@%%#*+====-----=#%%%##%%%%%%%%%%##%%%%@@@@@@@%*#%@%%%%%%%%@#
@%%@@@@@@@@%%%%%@%%##*#**######%%%#**%%*++++###%%##%@%%@@@@@@@@@%%#**#%%%#*#%#*+++*%%#%%%%%%%%%@%%@@%###**###%%#*******+==----*####*+====+*****####%%%%%%%%%%%%%%%%%%%%%%%%%%#######**+++*******#%%%%%@@%%%%%%%%####%%###%%%%#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#**##############%%%@@@@@@@@@@@@%%#***++===--==+*%%%%%@%@@%%%%#%%@@@@@@@@@@@%@@@@%%%%%%%@@
@@@@@@@@@@@@@@%@%%%#**#*#%%%#*#%%%#**#%##***++*#%##%%%%@@@@@@@@@@%%#**#%%#**%%##****##%%%%@@@@%%%@%%%%#***#+*%%%##*=+##+++****##*===++***##########%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%####****+++++**#%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%#########%@@@@@@@@@@@@@@@%#+****+========+###%%%%%%%###%%@@@@@@@@@@@@@@@@%%%@%%%@@
%%%%%%%##%%%%%@%%##****##%%#+*#%####*##%%##****##*###*++***#%@@@%%#**#########%%%#####%%%%%%%@@@@@%%%##***#***##%%#####==***++===+**#####%%%%%%%%%%%%%%%%%@@%%@@@@%%%@@%%@@@%@%%%%%%##*##***+++*##%%%%%%@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%###%%@@@@@@@@@@@@@@@%#+*#**+=========+**########%%@@@@%%%%%%@@@@%%@@%%%@%%%%@
*+***##*#+=#@@%%##**##*#%%#*++*%%%#*##*#%%%##***#*++****+-=%@%%%%%#**#%%##*#**%%%%##**#%%%%%%%%%%%%%%#*++**+#*+*++####%##%#+===**##%%#%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#######*+**###%%%%%%%@@@@@@@@@@@@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@%#+%##*+++++++++++++*######%%%%%%%%%%%%%%%%%@%%%%%%%%###@
*++++==++++*%%%%%###*%%%%%######%#**##***##%%%%%#**++=++*++#@@%%%%#####%#**#****##%%%%%%%%%%%%%%%%#***###*+***+##*%@@@@@%=-=+*###%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%##%%****###%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@%#*@#*++++=**++***++**#%@%%@%@@%%%%%%%%%%##%%%%%#%%%###*@
#***+**#***%%%%#**###%@%%###**####*****#*+*=+%%%%#*++++*++*%%%%%%%%#####******#++++*%%%%%%%%%%%%%#******####%%#%%%%@@@%+==+*#%%%%%%%%@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%#****##%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+##**+********+==+*####%@@@@@@@%%%%%%%@@%%%%%#######%%@@
##**#****#%%%%###**#%@@%#####**###%#**##**#*+#%%%##***++%%@@@@@@%%%#**###%#**#***#**%%%%%%%%%%%%%%%####%%#%@%%%%%%@@%+==+*##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%#*+*####%%%%@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+#*=++#####*+++*###%%%%%##%##%%%%#%%%%%%%%%%###***##%%@@
#%%@%%%%@@@@%####%##%%%%######****#%%##%####+#%%#**##%%%%@@@@@@@@%%#**##*#%###%*##*+#%%%%%%%%%%%%%#######%@@@@@@@@%+==+**#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#+*####%%%%@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*%@###**#%###%%%#*#%%%%%%@%%###%%%%%%%%%%%%%%##%%###%#*@
#%%%%@@@@@@%%%#%#%%%%%%%######*#%%%##%%%##**+%%%#**+=#%%%@@@@@@%%*#%#*#%%%#%%%###*+*%%%%%%%%##%%%@%%%####@@@@@@@%+==+*##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%++*###%%%@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##%@@@%#####%%%%*=+%@%%%%%@@%%#%@@@@@@%%%@%##%%%%%##%%%%@
%%%%%%%@@@@@%**##%@%%%%#######**####%@%%%###%%%%#**++*%%%%%@@@@@@%*++*###*#@@%%%###%@@%%%%%##***#%@@%###%@@@@@#++=+**#%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+*###%%@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*####*+===++**###########%%%%%%@@%%%%%%%@@@#*%@@@%%%@%%%@
@@@%%@@@@@@@@#*#%@@%%%%%##########*#%%%%#%%%%%%%#***=*#%%%%@@@@@@@%*++*##*#%%%%#%%%%%@%%######*+*####%#++*++++===+**#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#+*##%%@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%%#****#####*##%%%#######%%%%%@%%%%%%%%%@@%*%%@%%%%%%%%@
@@@@@@@@@@@@@@%%%@@%##############*%@@@@@@@@@@@%%*++=*%%%%%@@@@@@%%%%%##**%@@@%@%@@@@@%%%##%%#**++*****++***+++=+*##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%**##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@%@@@++#%%#**+++#%#########%%%%%%%@%%###%%#%%%@@@@@@@@@%%%@%%%@
@@@@@@@@@@@@@@@%%@@%#########*+#%%*%@@@@@@@@@@@%%#*+###%%%%%@@@@@@%%##%%#*%@@@@@@@@@@@@@@@%%%##*********++++===+*#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%%@@@@@@@@@@@@@@@@@@%%%%%@%*---=#%##%%#%%%%##***%%#%%@@@@@@@%%######%%@@@@@@@@%%%@%%%@
%@@%%@@@@@@@@%%%%%%%%#########+*%%#%@@@@@@@@@@@%%##*#####%%%%%@@%%%%#*#%##%%@@@@@@@@@@@@%%%%%##*******++===-==+**#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+*%@@@@@@@@@@@@@@%@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##@@@@@@@@@@@@@@@@@%%%%%%%#:::::--*%%%%%#*+++*##%%%%%#%@@%%####**###%%@@@%%%@@%%@%%%%%
%@@@@@@@@@@@@@@@@@%%#***##*+****#%##%@@%@@@@@@@@%%###**###%%%%%%%%%%#**##*#%@@%@@@@@@@@@@@@%%%#*++===------=+++*#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*%@@@@@@@@@@@@@@@@@@@@%%%##%%%%@@@@@@@@@@@@@@@@@@@@@@@##%@@@@@@@@@@@@@@%%%%%%%%#+::::::---*@%*####%%##%%%%@@@%%##%%############%@%%%%%%%###*
*%%%%%%%#*#%%#%@@%%##***###*+==*###+#@@@@@@@@@@@%%##******###%%%%%%#*+###*+%@@%@@@@@@@@@@@@@@%##**+==----===+**##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+#@@@@@@@@@@@@@@@@@@@@*++=-=+##%%%%%@@@@@@@@@@@@@@%%%###%@@@@@@@@@@@@%%%%#%%%%==:::::::---=+%%@@%#+*%%%@@@@@@@%#%%%%%%%%%%#%##%%%%##%%####+
#++++**##**==%%@%%##**########**##*#**######**#***##********####%%%##**##*#*######*****=%@@@@%%##*++=--=-==+*###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+%@@@@@@@@@@@@@@@@@@@@*=---=--=**####%%%%%%@@@@*+*%@%#%%%%@@@@@@@@@@%%%##%%%+--::::::-::----+%@%#++#%@@@@@@@@%#%@%%#%%%%%@@%%%%%#*#####%%@
##*+++====+++*%%%%#*#**#######%%%*+%%#*+=+#***+=*###****+++***#######%%#+*%%#+==+#*+*=-*@@@@@%%##*++=-===+++*##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*%@@@@@@@@@@@@@@@@@@@@*+====-----=+++****#*##+#%@@@@%%%%@@@@@@@@@@%%%%%%%@#-:::::::::::----==+#@%%%%@@@@@@@@%%@@@%##%%%%%%%%%%%#****##%%@
*##**+***#*+#%%%%#*+**#%%%#*##%%##*##%#****+**#**###****++++*******####**+##%#++*+++**+*@@@@@%%%#*++==+++++**#%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**@@@@@@@@@@@@@@@@@@@@%#*===--------===++**@@@@@@@@@@%%%@@@@@@@@@@%%%%%%%#+-::::::::::::----===*#%%%%%%@@@@@@@@@@@@@@%%#%%%%%%%##%####%%+
*###*##***#%%%%%##***#%%%#++*#####*##%%%%***++++*%##****+++++**********#**##%%%#*++++==#@@@@@%%##*++=++++++*##%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**@@@@@@@@@@@@@@@@@@%%%#**+==-:---------+++%@@@@@@@@@@%%%@@@@@@@@@@%##%%**-::.:::::::::::---===+**%%%%%@@@@@@@@@@@@@@@%#%@@##%%%@%##%%%%
###%%@%%%@@@@%##**#%##%%##++*#%%#*##**%@%%##+*%@@%##****++++++****#####****+#%@%%#*+*@@@@@@@@%%#*++==+++++*###%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+%@@@@@@@@@@@@@@@%####++===-=-=-::::----:#-#%%@@@@@@@%%@@@@@@%%@%%%%%#**+::---:::::::::::::----=+#@%%%@@@@@@@@@@@@@@@%#%@@##%@@%%%%@%%%
*#%%%%%@@@@@@%%###*%%%%%######%##*#***++*#%@@@@@@%###***++++++***####****#***++*%%@@@@@@@@@@%%%#*===+++++**###%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+%@@@@@@@@@@%%%%#***++==--=----::::::---==++#%@@@@@@@@@@@@@@%%%%%%%##=+==::::---:::::::::::::---=+#@@@@@@@@@@@@@@@@@%%@@@%#%@@%%%%%%%%
*#%%%%%%%@@@@@%**##@@@%###**####*****#*+*+=#@@@@@%###**++++++++*#####*++****#***+=%@@@@@@@%%%#+**+==+++++*###%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+*@@@@@@@%%%%**+=#===+---:---:=::::::-=---+**##%##%%%%@@@@%@@@%%%%#*+=--:...:::::--::::::::::::---=*%@@@@@@@%%%@%%%%@@@@@@@@@@%%%%%%%%
*%@@@@%@@@@@@@@#*#@@@%######**##%#+****+#*+#%@%%%%###***+++++++++*#**##*#*###**#*+%%%%%%%%%%##*=-=====+***##%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*%@@@@@@%#*++++=+====:--:-=--*:::::::-:---==**+*****#%@@@@@%%%%%**+---...:.....:::::--::::::::::::=+%@@@@@@@@@%%%%%%%@@@@@@@@@%%%%%%%
*@@@@@@@@@@@@@@@@%%@@%######**#*#%%#%%#*##+#%@@@%%####**********++**%%##%%%%%####+%%%%%%%%%##**+=====+****###%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%**@@@@@%#**+=+======---::--:--.:::::::-----==+=++=+++*#%%@@%%%##+*=--:...........::::----::::::::::-=%%@@%%%%%%%%%#%%%%%%%%%%%%%%%%%%
*%@@@@@@@@@@@@@@@%@@%%########%%%##%%%%#**+%@%%%%%#####*****+====#**%%%##%@%%%%##*%%%%%%%%%##*++++++=++****###%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+%@@@%%#*+===--==-#----::-:-:::-::*:::::--==--=+====+*#%@@%%##****=++-.............::::::--=-:::::--+%%%%@%%%%%%###*####%@%%%%%%%###
*%@@@%%@@@@@@@@@@%%@%%%#####**##**%@%%%###%@@@%%%%######*#**##%%%#*+#%%*+%@@%@%%%@@@%%%%%%%%%####**===++*#*###%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*#@@@%##*+==---=------:::---------:+---:--*----=+-===++#%%%##**++=:..................:::::::---======*@@%%%%%%%%#####%%%%%%%##%%####
++%@@@@@@@@@@@@@@@@@%%##########*#%%%%%%@@@@@@@%#####*#*#####%%%%#+#%@%***%%%%%%%##%%#####*++=---:-==+++**#####%%%%%%%%%%%%@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*@@@%%#**+++=+*****+=========----==--=======--=====-=+*###***+=-:...................:::::::::----===*%%%%%%%%%%###%@@%%%%%#*######%
++*%%#%%%#**##*#%@@%%%%######*##*#@@@@@@@@@@@@@@%#%%#****###%#%%@%%@%%#*%%*****#%##*+*##***++++==++=+*+***######%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*@@@@%%##**+++*****+++++**++++++*****#*###**+=======+####+=**+=-......................:::::::::---==+%%##%%%%%%%%%%%%%%@%%++****##%
*##*++++##**+-+%%%%%%%%####*+*%%#%@@@@@@@@@@@@@@@%%%#****##%%%%%@%%##+==#%%#**++++**+**####+++****+==+++**######%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%@@@@%%%#***+++++++=======+=+++++***########**+====##%#=**+*-=::......................::::::------=+%%+=+#%%%%%%%@%%%@%#**#%#**#%%
+*##*+++++++*++#%%%%##%#**##**%%#%@@@@%@@@@@@@@@@%%%########%%%%@%#+==-=**#%##*****++*#*#@@@@@@@@@%-+=+++*#####%%%%%@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#@@@@@%%%##**+++++---::::::::::--==++**##%%%##++===*##+**+*=-:::......................:::::::-----=+#%#=-=#@@@@@%##%@%%%%%@@#*#%%#
***#***+******#%%%##*####+++**#%#*%@@@@@@@@@@@@@@%%%#########%%%%%#**+-+*=*%%%##*+*%%##@%%@@@@@@@@+===+****#####%%%@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@%%%%#####+==---::::::-::::-=+=+*##%%%###*+==+*+-=-=+==:.::...........:........::::::::::-----=+*##+=*%%####*#%@@@%%@@#+#%%%*
***#######*#%%@%%#########+==+###**@@%%@@%%%%@@%@%%%#########%%%%##**==**+**#%%%%%%@@##%%%@@@@@@@@*-==+**#######%%%%%%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%@@@@%@%%%@%%%%*++====+**#**++=---++++%%%%%#*++==--=-*++++++--......................::::::::::----===*##**#%%%%#*#%%@%%@@@%*+*%%#*
*####%%@%%%@@@@%##**#%##########*##****#*##*#+=#%%%################+==**+=#****#%%%%%*#%%@@@@@@@@@#==+++****####%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##@@%%%%%@@@@@@@@%##%%@@@@@@%%%%%@##%%#%%%%##*+=====--=--*==:................:::....:::::::::::-----==----#@@@%**#%%%%**%@@#*#%%#+%
***#%%%%%@@@@@@%%*##*%%%####%%%#*#%#*++++++++=+#%%%#################=*#+*%%#*###%%%%%**%%%@@%@@@@@#===+++***##%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%##*=+*+=++=---:::....................:::.::::::::::::-----==----=-=*@@##%%%*+*#%#**#%#*%@
*#*#%%%%%%%@@@@@#+*##@@@#*##%###*###%*******#+*%@@%######******+++++=++*###**###%%%%%##%%%%%%%@@@@#+===+++**#%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#@@@%%@@%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#*+=-=---=------:...................::::::::::::::::::----=-::::--====+%%%#%@@@@#*#%%*%@#
+**@@@@@@@@@@@@@@#*#@@@#*+*#%###*###%%%#*++=++#%@@%%###*#*********##%%##%***++#%%%%%%%%%%%%%%%@@@@%+++++****#%%%%%%%%%%%@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%@@%#%###*#%%%%@@@@%%%%%@@@@@@@@@@@@%@%##*+=-:--:-==. ..................::::::::::::::::----=-:::::--===-==**%%%@%==##*%%*+
#**@@@@@@@@@@@@@@@@@@@@%***#%%#*##**#@@%%###@@@@@@@%%###********###%%####++===#%%%%%%%%%%%%%%@@%%@@+++++*+**#%%%%%%%%%%%@@@@%%%##*#####*######%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##%%%##*+***##*#####%%#####%%%%%%%%%#%%###*+=---::::.. ..................:::::::::::::::----=:...:::---====-=++*##==*+*#%##
%##%@@@@@@@@@@@@@@@@@@%%####%#####***+++*%@@@@@@@@@%%%%#*+++****#*#%#*##*=*+++*##%#=#%%%%%%%%#***%@+*++*++*##%%%%%%%%%%%%%%###*+*+++++==+=++==+==+*#%#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##%%%#*++++****#****###**########*##+#+***++=::::::.=. ................::::::::::::::::----=:....:::--=====---+@%+=+*#*++*
%#*%@@@%@@@@@@@@@@@@@@%%#**####***+#*+**=+%@@@@@@@@%%*+##*++******###*##**#**##**#*-+%%%%%%%**###%%*+++**+*##%%%%%%%%%%%##++---=----------------::-==++*##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%##*#####%%@@@@@@@%#%%%#*++==-==++=+==++++++*********+=++*+++=--::-++... ............::::::::::::::::::---==:.....:::---===-----=+#%%#+++*
%#+*@@@@@@@@@@@@@@@@@@%%##***###****#+#*+*%@%%@@@@@@@%*+++++**********==*#%**%%%%%#=-=*#*==+##**##%**++++**##%%%%%%%%%#***+==-==-==-==-----:---:::::::--==+###%%@@@@@@@@@@@@@@@@@@@@@@%%%##****+++++=====+++**####%@@@%#@%%#*+=-----------=======+++++++=++=+=*=--::.*%*=... ...........:::::::::::::::::----==:.......::--=----------#%%**+*
%%***######*+***=#@@@%%%##**##%%%#%%##**+#%@%%%%%%%%%%%#*+++***#*+**##%%%%%**#%%#%%=-=#%#**#*=*%#*%#+***++*###%%%%%%%##*+*++*++++**++========--------------=+*#%%%%@@@@@@@@@@@@@@@%%%#*++==-=--------------====+****%%%%@@@%**+=--::::::::-::-----=-=-=----*==--:==#%%#*-:.. ......::.....::::::::::::-:----=-........::-===--===-----=%%%*#
##%%#*+==+%#**=-#@@%%%%%####%%%##%%%%%**+%@@%%%%%%%%%%#####*++***##%%%%%%#***##%##%*-+#%%%%%#+#%%%#*=++++**#%%%%%%%%##**++++****+*+=----------==========---==++##%%%%@@@@@@@@@@%%%%%#*+++*=------------=========+**#%@%@@@@%#*+=--::::::::::::::::::--------:::-@%#@%#*+::... ....:::.:::..::::::::::::-----=-........::-=========------=@@@
=++###*++++++**++%@%%%%%%##*##**%%%%%%##%@@@%%#%%%@@@%*########%#*#%%%%##*****#%%+#*#%%%%%%%%#%%%%%*==+++*##%%%%%%%%##****+++++-==***#%###*#++=-----=========++*#%%%%@@@@@@@@@%%%%%#*++===--======+++*****##########%%%@@@@%%#**++-:::.:..........:.::::::--:*%%@@@%##*=:::.. ....:::::::..::::::--:::-----=:........::--=====-==-------=+@
=++##%%#***++*=+%%%%%%%%%####***@@@%%%@@@@@@@%##%%@@%**#####%#%#####%%%%####***#%#++#%%%%%%%%%%%%%##==++**##%%%%%%%####*****+=-+#*+=-:::.:::--=+++=========+=+**##%%@@@@@@@@@@@@@%####****+++======--====+*##%%%%%##%%%@@@@@%%#*+==-:::..........::::::::+=*@@@@@@%##*+=-::.. ....::::::::::::::-:::-----=:.......::::--=====--==--::----
+++++%%%%#*+=*%@@@@@@%%%%##*##*#@@@@@@@@@@@@@@@%%@@%#++*####%%%%#***#%%%%%%#**++**-+#%%%%%%%%%%#***##+=+**##%%%%%%%#######*+==*+--=+=--:-=--*=#+===========+++**#%%@@@@@@@@@@@@@@%%###**+=----======++####*+=+#%%%%%%@@@@@@@@%%#**+=--::::......::::-=++#%@@@@@@@@##**=--:::. ....:::::::::::::---:---===........::::--=====-====------=
++**+++*#%%%%@@@@@@@@@@%%#+*%%##@@@@@@@@@@@@@@@@@@@%###%%%##%@%%%%##%%%%%%%*+==+#*+++----=**%#****####+++**#%%%%%%%#######****=--=**=---:::-==#%%*==+++=====++*##%%@@@@@@@@@@@@@@@%%#*===-===--::---:--:-=+@@#*#%%%%%@@%@@@@@@@%%#*++=--:::::::::==-+##%@@@@@@@@%##**+=--:::. ....:::::::::::---------==........::::--======--========+
+**++#+++=+%@@@@@@@@@%#*#%*+#%%#%@@%%@@@@@@@@@@@@@@%%#*#%%###%@@%###*#%#%%#=++==#*+++++==+##+++***##%%++*+#%%%%%%%%%%%#######*****##*--=-----+%%%##*+++**++=++###%%@@@@@@@@@@@@@@%%#+=======-:-----==-*%%#==+#*%%%%%@@@%@@@@@@@@%%#**++==-----=*#*#%%%%@@@@@@%%#***++=----::. ..:::::::::::---==------........::::--=========+++++***
+*+#%#**#++%%@@@@@@@@@@*+=+*##%*#@@@@@@@@@@@@@@@@@@@@%%%%#####%%%##*++++*##=++=-+***%%###%#+++==+*#%%%#=+*##%%%%%%%%%%%%%%####**##%%%%+-====*%@@%%%##%%##%%###%%%%%@@@@@@@@@@@@@@%%*++++===+=---:::---##%%%*+==#%@@@@@@@%%%%@@@@@%%#**+++++++**%%%%@@@@@@@@@%#*+**+=====--:.. ..::::-::::----====--=:.......:::::---======++***###%%
*##%%#+*#*=#@@@@@@@@@@@@#=-=###**%@%%%%%%##%%#@@@@@@@@@@@%%%%##%@@%*#%##+=--=+===+**%%%%%#*++++++=*##%#+++##%%%%%%%%%%@%%%%%%%%#**###%%%%%%%%%%%%%%%%%%%@@@@@@%%%%%@@@@@@@@@@@@@@%#***+===++++==-----#%%%%%##*##%%@@@@@@%@@@#%@@@%##***+++**###%%%@@@@@@@@@%#****+======-::. ..::::::-------==----:.......:::::--=====++**##%%%%@@
%%%%%***===%@@%%@@@@@@@@@%%%##*#%*+++**##*#+-*@@@@@@@@@@%%%%%%###%%%%##%%##*+++++***#%%%#******+**+*###*+*##%%%%%%%@@@@@@@@@@@%%##*****##*#######**####%%@@@@@%%@%%@@@@@@@@@@@@@@%%%#*****+**####%%%%%%%@@@%%%%%@@@@@@@@%@++*@@%%%##****+***##%%%%%@%%%%%%%*****+++====--:. ...::--------===---=........:::::---===++**##%@@@@@@
####***+=+@@@@%%%@@@@@@@@%%%%#+#%%#+++====+==+%@@@@@@@@@@@@%#**+*%%@@%%%%%%******##**##*+*****##**%#*##*++###%%%%%@@@@@@@@@@@@@%%%#####**********#####%%@@@@@@@@@@%@@@@@@@@@@@@@@@@%#****+**###########%%%%%@@@@@@@@@@@@%***%@@%##**+*******#%%%%%%%%%%%%%****++++++++=--.. .::--==-----==---:.......::::::---===++**#%%@@@@@@
#*****=##%%@@%%@@%%@@@%@@%%##***##%#****+**++%@@@@@@@@@@@@@@%%%#*#%%*%@%@%%%%%%#+++*******#####%%%+##**+=+###%%%%%@@@@@@@@@@@@@%%%%%###############%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#****#############%%%@@@@@@@@@@@@@@@%###@@%%#**+++++***#%%%%%%%%%%%%#**++++=+++++==::. ..:----=-----==--........::::::----===++*##%@@@@@@
#%%%%%%%%@@@@@@%@%%%%%%%%%%##**##*%%%#*+==+*%%@@@@@@@@%%@%%%%%#****%@@%%%%%%#++++++++++**##%##%%%%%++#++++*###%%%%@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#%%%%#########%%@@@@@@@@@@@@@@@@@%##@@@%#**+====++*##%%%%%%%%%%%#*++++++++++=+=::. ..::-----====--:.......:::::::-----===++*##%@@@@@
##%%%%%%%%%@@%%%%@%%@@@%%%###**#*+*%@@%%%%@@@@@@@@@@@@%*%%%%%*##**#%@@@@@*=+=======+=++++**#%%%%%%%#+==+==+####%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%######%@@@@@@@@@@@@@@@@**%@@%%#*++=====+**#%%%%%##%%%*+++++==++++===-:. ..::--======--:.......:::::::------===++*##%@@@@
##%%%%%%%%%%%%%%%%%%%%%%%##***#***#++=+%@@@@@@@@@@@%%@%#*#%%%###*+*##%#+======++==++++**#**#%%%%%%##*++++==*###%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@%**@@@%%#*+===-===++*#######%#**++++++++++===-:.. ..::--======-. ......:::::::--------===+**#%@@@
##%%##%%%%%%%%%%%%%%%%%#######***#*+*#++%@@@@@@@@@@%+*##**#%%####*==+++=+==++++++===--=*#####%%%%%##**#@--=*###%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@%+@%#**++++==========+*********++++++++++==--:.. ...:-======: ...::::::::----------==+**#%%@
%%#*+**##%%%%%%%%%%%%%##*****##***#*##++%@@@@@@@@@@@%*==+**%%#####***+*++==+*****+=+*+=+##%%%%%%@@%%%%%%+-=+#####%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*#%#*+=++++==========++****++++++++++++=*=--:. ...:-=====. ..:::::::-----------==++*#%%
=++**+*###%%%%%%%%%@@%%%#*##%%%#%%###*+*%@%%%%%%%%@@%%#*++*#%@%%########*++*###*##*####*#%%%%%#%@@@@@@@%#--=*#####%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#%+*++++==========+++++++++++++++++++=+==-:.. ...::-==+- ...:::::::------------==++*#%
=+*#%%***##%%%%%%#%%@%%%%######%%%%%#**%@@@%%%%%%@%%%%%%%%**##%%%#####*##**#%######%%%%%%%%%%%%#%@@@@@@@*=-=+########%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*#@###**++===============++++++++++++==----. ...:-===: ...:::::::--------------==+*#
+#%%%%%#*####%%%%%%%@@@%%%##*+#%%%####%@@@%%#%%%@@@%#%%%%%@%*+#%%%%#+=#%%%##%%%%##%%%%%%%%%%%%%%##@@@@@@#=--+*#########%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#@@@%##**+++=============+=+++++++++==---:.. ...:-==: ...::::::::--------------==+*
-++#%%@%#%%%%%%%#***#%@@%%#*+*@@@@%@@@@@@@@@##%%@@%**#@%%@@@@%*#%%*==-#%%%%%%%%%%%%%%%%%%%%%%%%%%*+*@@@%%=--=+*+*#########%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**#%%#*++++++==============+++++++++===--:.. . ..::==. ...::::::::----------=----==+
++++%%@@#%%%%%%%%##*++*#%*#%**@@@@@@@@@@@@@@@%%@@@%*+*@@@@@@@@%*##*=-=%@%%%%%%%#*###%@%%%%%@%%%@#=+#%@@@@*=--=****###########%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*#%##*+++*+++=============+++++++++===---.. ...:-- ...::::::::------------::::::
%=-=#%@@%#%%%%%%%%%#*++***@@##@@@@@@@@@@@@@@@@@@@%%#%%@@@@@%##%%**+-=*#**#%%*+#%%#****#%%%%@@@+-:::+%##%%*=-:-+*****##########%#%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@##%%%%#**+***++++++++=+=++++++++++++==---.. ...:-: ..::::::::::-----------::::::
%+***%%@@=#%%%%%%#+=--+#+*@@#*%@@@%@@@@@@@@@@@@@@@%%*%@@@@@@#++====++=--=#%%%%%###%##**##***-:::::::=#*+*+=:::=******####*######%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##%@@@@@@@@@@@@@@@@@@@%%%%%@%---*%%%#%####***++++++++++**+++++++==--: ...:-. ..:::::::::::----------::...:
#**####%@==#%%%%%%%%%%%#++%%%++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%###*+=---+%@%%%%%%%%%#*++**=:::::::::::-###*+:::-+******############%%%%%%%@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%%@@@@@@@@@@@@@@@@%%%%%%%%=-:--==##%%%%##*****+***+***+++++++==-=:. . . ....-. ..::::::::::-----------::...:
%*#%%%%@@#=*%%%%%#%%%%%*+%@@%*+#%%#%%%#+*##*%@@@@@@@@@@@@@@@@@@@%%#+#%%%%%%%%%%%%%%%%#=--:::::::::::::-%%#+-::-+++*****#****#######%%%%%%@@@@@@@@@@%%@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@##%@@@@@@@@@@@@@@@%%%%%%%%+:::::---+%@%%######*********++++++==--:. .....:. ..::.::::::::-::::-----::...:
%###%%%%@%:=#%%%%%%%%%@%%@@@##@%+++++##**+-*@@@@@@@@@@@@@@@@@@@@@@%+#@@%%@%%%%%@%@%%=:::::::::::::::::..=**-:--==+**********########%%%%%%@@@@@@@%%%@@@@@@#**++*##%%%%%@@@@@@@@@@@@@@@@%@###%@@@@@@@@@@@@@%%%%%%%%*=::::-:--==+#%%%@@%%###******++++++=--...... . .....:. ..:::::::::---:..:::---::..::
%###%%%%@@##**#%@@%%%@@%##*+=+%%#*+++===+*==#@@@@@@@@@@@@@@@@@@@@@@*#@@@@@%%%%%@@#---:::::::::::::::::::...:::-:-=+********####%%%%%%%%%%%@@@@@%%%%%@@@@@@@+=----:-*###%%%%%%%@@@@@@@*+#@%##%%%@@@@@@@@@@%%%##%%%#+--:::::----=++#@@@%%%%%%##***++++++=-........ .. .. .......:. ..:::::::::--:......:::::...::
%###%%%#%@@@@@%%%%%%%@%%*+==-+**%##***+*#++%@@@@@@@@@@@@@@@@@@@@@@@%#%@@@%@@%%@---::::::::::::::::::::::::..::--:-++++****#####%%%%%%%%%@%@%@@@%%@@@@@@@@@@@*=====----=+******###%%*=+%@@@%%%%@@@@@@@@@@@%%%#%%%%=----:::::---===+*#%@@@@@@%%#****++++-... .. .. ... .......:: ....::::::::-.. ...::::...:::
%%%%%%%#%@@@@@@%%%%%%%%%#**=-++=#%%%#*==*%@@@@@@@@@@%%@@@@@@@%%%%@@%*%@@@@@@+----::::::::::::::::::::::--:..:::-:-=++++***######%%%%%%%%%%%%%%%%@@@@@@@@@@@@@#+=---------=====++*#%%@@@@@@@%%%%%@@@@@@@@%%%%%%%#*-::::::::::----==++*#%@@@@@@%##**++=-......... . . .... ........... ..::::::::--: .....:...::::
%%##***#%@@@@@@@@@%%@@%##*+-+**++#%%%%%%@@@@@@@@@@@@%**@@@@%%%###%@@*%@@#=------::::::::::::::::::::::--::....:--:====+**+***####%%%%%%@%%%%%@@@@@@@@@@@@@@@%%#*+==--------====++*%@@@@@@@@@%%@@@@@@@@@@%%%%#%%#*+:..:::::::::--===++*##%%%%%%%###*=-:::............ .. . ...... .......... ...::::::::-:. ........:::::
*++==--=#%@@@%%%%%%%%%%#*===#*=+#+++-#@@@@@@@@@@@%#@@%+*@@@@#*%%#%@@#%=------::::::::::::::::::::::::---:.....::::-=-==++***#*####%%%%%%%%%@@@@@%@@@@@@@@@#####++==-+=----:------+=%%@@@@@@@@%%%%@@@@@%@@%%%%##**::--:::::::::::----==++*#%@%%%%%%*-----::::...................... . .. .. ............ ....::::::--. ........:::::
%******#=-#@@@@@@%%%%%%##*-#*+#%%**#+=%%@@@@@@@@@@*==##++%@##%#%@@@@#--------:::::::::::::::::::::::--:::.... :::=-====+=+****#####%%%%%%%%@%%#%%%##%##%##**#*++--==--=-:::::-----*+*%@@@@@@@@@@%@%@@%%%%%%%%%*=+=::::--:::::::::::---===+*%%%%%@#++====---:::....................... . ............. ...::::::--: ......::::::
%%%%%%%%*:-==#%%%%%#*+++=--=**%%%+*#*=#@@@@@@@@@@@@#=-=*+**##%@@@@@@*----:-::::::::::::::::::::::::-:::::.. --::-==+++++==+**######%%%%%%%#***++*++*******+=+=--:-----::::::-=---=#=##%%%%%%@@@@@@@@%%%%%##*++:.:..::::--::::::::::----==+*%%%#****+++==--:::......................... ............: ...:::::::--. .....:::::::
%%%%%%%#=-:-=+%@%%%%%%*###%%%%%%***+==%@@%%@@@%@@@@@%%#++=#@@@@@@@@@*::::::::::::::::::::::::::::::::::::.. .::-+++=======+*****###%%%%#*++++=+*==--=+=+===----::==-#:::::::-----++***###*##%@@@%%%%%%%#**+-=.:::....::::--::::::::::----=*#%#####***+==--:::................... . ......:::....:. ...::::::::-: ....::::::::
%%%@@@@*-:::-=%%#%%%@@@@@@%%%%%*##+==%%@@@%%%%%@@@@@@%%%#+%@@@%%*+#@+:-::::::::::::::::::::::::::::::::::.. ..:---=+==+====+=+++*##%%#*+===-==------=====-+=------::#.:::::::-------++++++***%%@@@%%%%#**=-:-:..........::::----::::::::---=#%%%###**++=--:::::.:.............. .............. .....:::::--. ...::.:::::-
*#%%@@%=--=*==#*=#%@@@%%%@%%#++*+=#*#@@@%%@@@@@@@@@@@%%%%*#%%@@%%+=*=-::::::::::::::::::::::::::::::::::... ::=---======+===-=+**###++---::--------=--==-+---:::::::::-::=::-::---=-==+===++*#%@@%%%%#**+----...........:::::::----:::::::-=%%%%%##**+=--:::::............ ...::......... .....::::::-: .....::::::--
****##*#%*-*%#*#=%%%%%%%%%%%%%%%%%%%@@%@@@%%%%%%%%%%%%###%%%%%@%%%%*-:::::::::::::::::::::::::::::::::::.. ...:::-==+-----:-++**##++----::-::::::-:-----==-:--:---------:+:--:--+=---=+-===+**%%%###*+*+::................:::::::-----:---=*%%%%%##*++=--::::............ .....:::::.... ......::::::-. ......::::::--
%%%%%%%#*==+*=%@+#%%%%%%%%%%%%%%%%%%%%@@%@%@@%%@@%%%%%%%***#######%+:::::::::::::::::::::::::::::::::::... ..:::-===-------=++**+*+=----:::--=======++**+=---------------=----==--::=+--=-=++#####*+=*-:..................:::::::::---====+%%%%%%#**+==--::::....::..... ...:::::..... ......::::::-: ....:::.:::::--
#%%%%%%#**+==-*%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%@%%%%##*=+******#*--::::::::::::::::::::::::::::::::::.. .:-::----::--:======+=====---==+++++++++*****+++++**++++++++++*****+++=--:----=**##*+**+=-:.....................::::::::----==+#%%%%%###*+==--:::............ ........:::..... .....::::::--. ....::.::::::--
*@@@@%%%%%%#**%@@#*++++****+#%%%%%%%%%%%%%%%%%%%%%%%%##**#%##%%#**+::::::::::::::::::::::::::::::::::::. ....:::::::::::-=***=--===--=+****##***+++++*+++++++++++++++***######**==:::-=+###+#+=*==::......................::::::-:----=+#%*=*####**++==-::::........ ............::........ .......:::::--. ......:::::::::-
#%@@@%%%#**%###%@@@@@%+=##%#*=-=+-#%%%%%%%%%%%%%%%%##**+###*+*#*===::::::::::::::::::::::---::::::::::.. ....:.:::::-::--==----====+*#######***+=++*=-=-::::::-:--==+++****###*+----=*##**++**:=:........................::::::------=#%#=-=*%%##**+=----::...................::::::.... .......:::::-: .......::::::::::
#%%%@%###%##%%#%@@@%%#**=-#%%*=-:=###%%%%%%%%%%%%%%%%#***%%%#++#%#+:::::::::::::::::::::-:::::::::::::.. ..:....:::--:-:--::---=++*#####%###****++=---::::::-::::-====+***##***==--+**=+-+*++=:::....................::::::::::-----=+*%#+-+%%##**+=+==--:::..........:.....::::..... ........:::::-. ........::::::::::
####%%%%%%%%%%%#%@@@@%*=-=+#%@%%#**###%%%%%%#%%%%%%%###*+#%%%#%%%#=::::::::::::::::::::---::::::::::::. ..:-:.:+::::::::::::-++=+***##%%%%%%%%#*====---==+=+=--::-=+++######++=--::=+*==+--+-==:................::..::::::::::-----=+#%#*+*#####++++++==--::......::::::::::..... .::.....:::::-: .......:::::::::::
**#*###%%%%%%%%%#%@@@%%#**###%%%%####**%%%%%%%%%%%%%%%%%*****+------:::::::::::::::::::-:::::::::::::.. ..::+=:..:::::::::::::----=+***#%%@@@@@@%%##**%%%@@%%%%###+##%##%%%##*=-=-=-=-=--#=*:.................::....:::::::::::-----==---=#%%%%#+*##**+=+==-:::::::::::::...... .:::::::::::::-: .......::::::::::::
#%%@%%%%######%%##%@@@%#*+=+*=*#%%%##**###%%%%%%%%%%@@%#+---:::::::::::::::::::::::::::::::::::::::::.. ..:::*+==:::...::::::::::-===**##%@@@@@@@@@@%@@@@@@@@@@@@@@@@@@%@@%%#*==*-==+=----::....................::...::::::::::::----==------*%%%#####*--=+=--::::::::::...... .::::::::::::::: ........:::::::::::::
###%%%%%%%%%%%#####%@@@##==+*-=*##%######%%#+*#%%@%%*=----:::::::::::::::::::::::::::::::::::::::::::. ...::-#*+==-:.....::::::::--++**#%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##*++--=====:=-..:....................:::::::::::::::::----==-:::--===+%@%%#*###*+----:::...... .:::::::::.:::::: .........::::::::::::
***#%%%%%%%%%%%%%%###@@@%***####%@@@@@%%#*##*+-++=----:::::::::::::::::::::::::::::::::::::::::::::::. ..::::*#**+==--::........:::--=*#####%##%@%%@@@@@@%@@@@@@@@@@@@@@@@%%#*+=----::-=-.. ...................:::::::::::::::-----==:::::--===-==#*#%###=-=-:::... .::::::::.:::::::: ..........::::....::::
---*%%%%%%%%%%%%%%%%##%@@@@@@@%%%%%%@%#+===++=------:::::::::::::::::::::::::::::::::::::::::::::::::. ..:::-:@****+==--:.........:---+++*+***#######%%%%###%#%%%%%%%@@%%%####++=--::::-:. ...................:::::::::::::::---=-:..:::---==-=-=+==+#=.=-::. .:::::::::::::::::. ..........:::::...::::
+++*#%%%*#%%%%%%%*+===*%@@@%%@%%%%%%@%%%+=-----:--:::::::::::::::::::::::::::::::::::::::::::::::::::. ..::::-:**#****==--::..........--=+===+++**+##**####**########*##*#****+++-::::::-. .................:::::::::::::::----=-....:::--=====--=+%#+--:::.. ..:..:::..::::::::. .............::.....:::
*+**+*##=+#%%%%%%%%%%**%%%#@@@@%%%%%@*=----:::::::::::::::::::...:::::::::::::::::::::::::::::::::::: .::::---#*%**#**==---::.......:.:::----==++++++++++*++****#***#*+++%++*===::::=:... ..............:::::::::::::::::----=-......::---===-----=--+=-:.. ..:........:::::::: ............::......::::
**#%%%%#+-=*#%##**##++==*@@@@@@@@%=--::::::::::::::::::::::::.....::::::::::::::::::::::::::::::::::. ..::---=##@**####+=----:::.........:::::--=--=-=====++++++*++*+++=+=%+------+#+... ...........::::::::::::::::::---==:......:::--===-------=++=::.. ...::.......:::::::. ........:::.......::::::
*+#%%%%%+--*%#*==#++##=#%@@@@@@-----::::::::::::::::::::::::::.....:::::::::::::::::::::::::::::::::. ....:---=%#%***###*+===--:::.....-....:::::::::::------=======+---#===:---*%%**=:.. ......::......:::::::::::------==:.......::-=======---:::=+=-:.. ......:.......:::::... ...............::::::...
**#%%#*%#-+*%##%##-=##=-+#@@*---::::::::::::::::::::::::::::::....::::::::::::::::::::::::::::::::::. .....:--=+#%#*#####**+====-----::...........::::::::::::::----------:-:::++@%%**-::.. ....::::......:::::::::::-----==........::--===-==-=--:-::-=-:.. ...::.............:... ............:::::::::...
***#%%+##=*%%%%#%%##%##=:--:-::::::::::::::::::::::::::::::........::::::::::::::::::::::::::::::::.. ......:-+%#%*########*+======----::...:--=-::::::........:::::::::=**-@#%%@@%#*=:::.. ...:::::::...:::::::::::-----=-........::--=====--===-=::::-=-:.. .................::.... .............::::::::....
#***#%#+**%%%%%%####%%%*--::::::::::::::::::::::::::..:::::........:::::-::::::::::::::::::::::::::. .......-#%#%##########*+=========--:......................::::::::=-*@@@@@@%#**=-::.. ...:::::::::::::::-:::-----=:........::---==========-:::::.--:.. .......:................. .........................
##**+##==#%%%%%%%%%##*--:::::::::::::::::::::::...::::::::::........:::::::::::::::::::::::::::::::. ........:=@%############*++========----::................::::.-:-+*+@@@@@@@%#**+---::.. ....:::::::::::::---::---==:........:::--=====--===-:::::..:::.. .......:................ .........:...............
**+==**++**++=*#%##*-:::::::::::::::::::::...::::::::::::...:........:::....:::::::::::::::::::::::. .......:.:################**+========--:::::::..:....::...::--**#%@@@@@@@@%#**+=---::. ...:::::::::::::--------==:.......::::--======--==--:::....::.. .......:=:............... .................::::......
====-##*==---==+#*--::::::::::::::::::::::::::::::::::.::::.................::::::::::::::::::::::.. .......:..:#%%#####%%%######*+===========--------:-:::::=+**#%%%@@@@@@@%%#***+=--=-::. ...:::::::::::---==------:......:::::--=====-------::::........ ........%-............... ............................
-=+---**+##*+*###-:-:::::::::::::::..::::::::::::::::::::::...................::::::::::::::::::::. ....:.......-#%%%##%%%%%%####**+=======================+*#%%%@%@@@@@@@@%#***++====--::. ..::::-::::----===-----.......:::::---=====----=-::::......:. .........:@#...:............ ............................
-+=:::=++#%%%%%*-::::::::::::::...::::::::::::::::::::::::::..................::::::::::::::::::::. .......:::...=#%%%%%%%%%%####**+============++====+++***##%%@@@@@@@@@%#*****+=====--:. ..::::::::-----===----.......:::::---===---------:::::.................-@@:................ ..............................
------=**#%%%%+--:::::::::::::.::::::::::::::.:::::::::::::::...................::::::::::::::::::. ..........:...:=#%###%#######***+++===========+++++++**##%%%%%@@%%%%%%#****+++=====--:. ...::---------===--=:.......:::::----==---==--=-:::::..............:@@@=...:............. ...............................
--===::+=+#%%*---::::::::::::..::::::::::::....::::::::::::::..................:::::::::::::::::::. ................+##########****+++++============+++****##%%%%%%%%%%%%*****++++++++--:. .::---=-----==----.......::::::---====---------:::::..........-@@@@* ....:............ ......... ... .............
##****+===##=::::::::::::::::...:::::::::::::...::::::::::::::..................:::::::::::::::::.. .................=***********++++====+=====--====++****#%%%%%%%%%%%%#***++===++++=-:. ..:----==---===--:.......::::::-----===--------::::::...:::+@@@@@+......:............ ..... .... ...............
*%###***+-=-:::::::::::::::::..:::::::::::::....:::::::::::::....................:.............:::. ..................:=+*********++++++++++=====----==++*###%%%%%%%%%%#**++++==+++++=-:.. ..:--------===--:......::::::::---------------::::::..:-%@@@@@=..................... .. ..:... ...............
#===+====--::::::::::::::::::..:::::::::::::....:::::::::::....:.......... ..................::::. ....................=++++++++++++++++++++====---====+**##%%%%%%%%%#*+++++=++++=+==:.. .:::--=======-:.......::::::::---------------::::::-+*#%%@@-..........::........... ...:. ... . ........
%%###*+=-:::::::::::::::::::.::::::::::::::::...:::::::::::................ ..........::::::::::. .....................-=====+++++++*++++++++====-=-===+**##########**+++++++++===--:. ..::--=====--: ......:::::::----------------::::--==+*#*-:::..................... ...::.... .......
%%%###=:::::::::::::::::.:::....:::::::::::::::......::::::................ .........::::::::::. ......................-++===+++++*+++++++++====-=======++***####**++++++++++===--:. ..::-======-. .....:::::::----------------:::::--==:::--:::................... ....:.... .
%%%%%-::::::::::::::::::::::....:::::::::::::.......:::::::............... ........:::.:::::: .......................:+++++++++***++++++++++==========++******++++++++++++=---:. ...:-=====: ..::::::::--------------::::::::::::-----::::::............ ............. .
%%%*::::::::::::::::::::::::...::::::::::::::........:::::::........... ..............::: ........................:*+++++++++**++++=============++++++++++++++++++++=*=--:. ...::-====. ..:::::::--------------:::::::::::::-==----:::::........... . ............... ..
@@*::::::::::.:::::::::::.::..::::::::::::::::.........::............... ..............::. .........................:#***+++++++++++===============+++++++++++++++++==---:. ...:--==-. ...::::::::------------:::::::::::::----===---:::.......... ......................... ..
%-:::::::::::.:::...::::::::::::::::::::::::::........................... ...............:: ......::..................+##******+++++=====================+++++++++++==---:. ...:-==- ...:::::::-------------::::::..:::::---:-=+==--::::....... ........................... ....
-:::::::::::.........:::::::::::::::::::::::::............................ .............::: .....::::::..........:....:#####******++======================+++++++++==---:. ..::==: ...::::::::------------:::::...::::----:--**++=--::...... .................................
:::::::::::::........::::::::::::::::::::::::::............................ ............:::: ......:::::...............-######*****+++===================+++++++++==---:. ...:--. ...:::::::::-----------::::....::::--=-::::+*+++=--::.... ...................................
:::::::::::...........:::::::::::::::::::::::::............................ ...........::::. .....:::::::..............:##%%%%#####***+++=+++====+=+=++++++++++++===--:. ...:-- ..::::::::::-----------::::....::::-==-::::-+*+++=--:::... ...................................
::::::::::::..........::::::::::::::::::..::::.............................. ...........::::. .....:::::::.............:###%%%%#######***++++++++++++++***+++++++==--:. ....:: ..:::::::::::----------:::.....:::--==--:::--===-----::.... ..................................
:::::::::::............::::::.....::::::..:::::.:............................ ...........:::. ......::::::.............-*###%%%%%%%%%%####***+++++++++***+++++++===-. ....-: ..:::::::::::----------::.....::::--==--:::---====-----::.. ....................
::::::::::.............:::::.........::::..:::::.............................. ............::: .......:::::..............*####%@%%%%%%%%%%###************++++++===--. . ....:: ...::::::::::---::-----::....:::::--==--::::---=+++==----::.. ................
:::::::::...............::::... .....:::...................................... .............::: .......:::::::............-*###%%@@@@@%%%%%%%%%%%###******++++++===-. .....:: ..::.:::::::--::.::::--::...:::::::-==--:------======------:.. ...........
::::::..................:::::.................................................. .............:::. .......:::::::.............=+###%@@@@@@@%%%@@@@@@@%%#*****++++++=-:...... .. .. ......:. ...:::::::::--.....:::-:::...::::::--==----------====--:-+==-:... ........
::::::.....................::.... ........................................... ..............::. .......::::::::............-**###%%@@@@@@@@@@@@@@@@@@%%##*+++++#=:..... .. . . .. ... .......:. ...::::::::--.. ....:::::....::::----==-----------==-::::-=+=-:::......... .......
::::......................::::... .........::..... .......................... ..............:::: ........::::::::............**-###%@@@@@@@@@@@@@@@@@@@%%*#**++==:...... . . .... .......... ...::::::::--. .....:....:::::::---===----::----====---=+++--::::.................... ..
:::........................:::.... .......::................................... .............::::.. .........:::::::::..........-#*#@%%@@@@@@@@@@@@@@@@@@@%%###**=-:.............. .... ........... .::::::::::-. .........::::::::---====---::::--=======+**+---::::.... ....... . .
::...........................:...... ............... .......................... ..............:::::............::::::::..........-#=+==#%@@@@@@@@@@@@@@@@@@@%%%###::................. .... ... . .. ... ............. ....:::::::-:. .......:::::::::----====---:::--=====+=+**+-----:::..
.................................... .............. ........................... ........ .......:::..........:::::::::..........###+##@@@@@@@@@@@@@@@@@@@%%%%%%:::..:.:.............. ............ . .............. ..::::::::--. .......::::::::------===---::::---====++*#+------::... ...
.................................... .............. ........................... ....... ..::.::::........::::::::::.........=##*=+*@@@@@@@@@@@@@@%%%%%%%@%...:::::::::............................ ...:.......... ...::::::--: ......:::::::::-:----===---::::::-----=+**+=------::.. .......
....:............................... ............ ........................... ....... .:.:::::..:::::::::::::::........:####%#%@@@@@@@@@@@@%%%%%%%%:::::::::::::::........................ .....:::...... ..::::::::-: ......:::::::::-------------:::::::::--==++==--=---::.. .........
.................................... ........................................ ...... ...::::::::::::::::::::::........####%@%%@@@@@@@%%%%%%%%%%+.::::..::::::::::.....:.............. .........:.... .....::::::-: ...:.:::::::::------------:::::::::------=+=====---::.. ............
:................................... ...................................... ....... .....::::::..:::::::::::::......+###%@@%*@@@@%%%%%%%%%%%=.::::::.:.:..::::::::::........... ...:.......... .....:::::--. .....::::::::::-------------::::::::--::::--==+====---::... ................
..................................... ...................................... ...... ......:::::::::::..:::::::.....:*##%%%%%#%%%%%%%%##*#%+.::::::..::::::::::.:::........... ....::.::...:. .....:::::::: .....:::::::::-------------::::::::-::::::---==+=====--:::...................... ...
..................................... ...................................... ...... ..::.:::::::::::::::::::.....=**#%%%%%#%%%#######*=.::::::::.:::::::.:..:::............ ....::::..... ......:::::--. ....:::::::::::---------------:::::::::::::::---=++====---:::...................
..................................... ....................................... ....... .....:::::::::::::::::....:=**##%%###########+:..::..:::::::::::.....:.............. .....::::..:.. .....:.:::::-: ....::.::::::::--:------------::::::..::::::::----=+=====---:::.............
........:............................. ....................................... ....... ..:..::-::::::::::::.......:=*####*%**+-.:-::.......::::::........................ ................::..... .......::::::-. ......::::::::::---:::::::----::--:....::::::::::---=++====---:::....... .
......::::................ ........... ...................................... .... ..:..-::::---:::::::.... ....:::::.:--:::..:::::::::::::::.................. ............:::::..... .......::::::-. .......::::::::::::::-----------::.::::::::::::::----=+++===---:::.. .....
....................................... ....................................... ..... ..:....::::::::--::... ...:---------:::: .:::::..................:....... .............:::::.... ........:::::-: .......:.::::::::::-------:------:..::::::::::::::::--==++====---::.. .......
..........::........................... ....................................... .... ....::::.....:::-:-------:::::::---: .:.:...........:.....................:::::...::...... ........:::::-. .......::::::::::::::::--:-------::::::::::::::::::::---==++====---::. ..........
..........::............................ ...................................... .... .....:::::::::::::::--:::::::. ...............:...............::.:::::::::.:...... ........:::::-- .......:::::::::::::::::----:---::::::::::::::::::::::----=++=====---:. .........
...........:............................ ......... ........................... ...... ....::::::::::...... ...................:.::::::::...::::::::::...... :........::::::: ........::::::::::::::::-:::-:::---:::::::::::::::::::::----=++=====---. ...........
............:............................ ................................................. ................ ........:::::::::::::::::-:::::::::::....... ........:.:::::-. ........:::::::::::::::::::::-=-----::::::::::::::::::::----==++=====--. ................
....:........:........................... ................................................... ............ ..::::::::::::::::::::::::::::::::...... .:........::::::: ..........:::::::::::::::::::---=----:::::::::::::::::::::----==++====-:. .................
.............::........................... ................................................. . ......:.. ..:::::::::::::::::::::::............ .:........:::::::: ...........::::::::::::::::::----------::::::::::::::::::::----===+====:.:::.....................
............:::::......................... ......................... ...................... ..... ... ............................ ... .::........::::::: .............:::......:::::::----------:::::::::::.::::::::----===+++-::::--:::::................
...........::::::.......................... ......................... ........................ ........ .. .............::::::. ............::........::::::::-----------:::::::::::::::::::----====+-:-=::--:::::..............::
............::..:.......................... ......................... .......................... .................. .... ...:::.......::::::: ........::..........::::::::::-----------:::::::::::::::::::-----====+===:::::::::................
::.............:::.......................... .................................................... .........:::....... ......:::.. .....:.......::::::.. .....::..........::::..:::::::-----------:::::::::::::::::::-----====++=+:::::::::................
:::::::.......:::::......................... ................................................... . .......:::::::::.......... ...........::::::. ....::.........::::.... ...............:..::::::::::::------------::::::::::::::::::------=====++=::::::::::...............
:::::::::......::::::........................ ..................................................... .......:::::::::::::::::...... ...........:::::::::.. . *@%@- ................::..... ..........:.::::...:::::::::::-------------:::::::::::::::::---------====+:::::::::::..............
:::::::::::......:::......................... ........................... .........:................ ........::::::::::::::::::::.............::::::::::. :@@@%%@@@ ......:................. ..........................::::::----------::::::::::::::::::------------===+**+*-:--:...............
:::::::::::.......:.......................... ....................... .........:::................... . ...........::::::::::::::::::::::......:::::::::::. .#@%%@@%@@@@@@ .......:................ ...........................::::::---------:::::::::::::::::----------------=+**+:---:..:............
....:::..::.......::.......................... ...................... . ......::::.................... . ... ..........:::::::::::::::::::::::..::::::::::%%#%@%%%%%@%%%%@@ . .......-:............... .............................::::::--------:::::-::::::::::------------------+*+-:-:..:::::..........
........:::::.......:::....................... .................................::::......................... . . ............::::::::::::::::::::::::::::::::#%#%#%%%%@%@@@@@: . ........:@:............... .................................::::::----::::::::---:::-------::--::--:::----+-::.::--::............
:.......::::::......::::....................... ..................... ............:...............................................::::::::::::::::::::::::::::.#.%%##%%%%%%= ...... .......:@+.:.............. ....................................::::::::::::::::::-----::------:::::::::::---:.:==---::............
:.........::::::......::....................... ................... .........:::.................................................::::::::::::::::::::::.:@.=%%%#%%%@ .......... .........-@@...:............. .....................................::::::::::::::::::::::::::----::::::::::::::-=-=+=---:::...........
.:.........::::................................ .................... .........:::...................................................::.::::::::::::::::.-@= @%%%%%%%= ........ .........:#@@-..:::............ ............. ... ...............::::::::::::::::::::::::--:::::::::::::::::--:::::::::...........
....::...................:...................... ................... ........:::.......................................................:::::::::::::::+@@ -@%%%%%%@ ..=%:.. ..........:#@@@*....:............. .......... .. ...............::::::::::::::::::::::-:::::::::::::::::::--.:::::::............
.........................:...................... .................. .........:::.........................................................:::.:::::::#%@- +%%%%%%%=#%%@@@% ... .......-@@@@@+......:............ .... . . ................:::::::::::::::::::-:::::::::::::::::::::-----:::::............
........................::...................... ................ .........::........................@@@@@@@@@@%-...........................::.-@:%% @@%%%%%%%%%%%@@=...... .........-@@@@@@=........:........... ... ..... ...............::::::::::::::::-:::......:::::::::::::::-----:::::...........
................................................. ................ .........:::.....................:@@@@@@@@@@@@-....=@@%+-:................:.=@@-@=. @@%%%%%%%%%@@@% .... ........-@@@@@@@-...................... . ...... .............:::::::::::::-:::........:::::::::::::::::-=---::::...........
................................................. ................. ........:::.................... @@@@@@@@@@@@@ ...-@@@@@@@@@@#..----:::--=- @%##@ ..@%%%%%%@@*= .............-@@@@@@@#......................... ..... .......................::::::::::::::::...........::::::::::::::::-----:::::......::::
.......::............................. ........ ............... ........:::.................. @@@@@@@@@@@@@@ :.:@@@@@@@@@@@ .=@@@%@@@@@@.=@%*@= .#@@@%%%+ ....... ....%@@@@@@@: ......................... .............................:::::::::::..............::::::::::::::::::-----:::::.....:::::
......:............................. ....... .............. .......:::................. %@@@@@@@@@@@@@% ::@@@@@@@@@@@ .+@@@@@@@@@@- @@%%@.. %@@@@@@. ....... *@@@@@@@*........................... ....................................:::::::..............::::::::::::::::::::::-==-::::::.......::
..................................... ........ ............... ........:::................+@@@@@@@@@@@@@@*..@@@@@@@@@@@:.:@@@@@@@@@@* #%%%#@...@@@@@@@ . .. ...:@@@@@@@@= ........................... .....................................:::::.................:::::::::::::::::::::--==-::::::.........
.................... ................... ....... ................ .........::..............=@@@@@@@@@@@@@@@=.@@@@@@@@@@@=.-@@@@@@@@@@* :@%%%#@.. @@@@%@# .*%@@. #@@@@@@@%:............................. ............................................::..................:::::::::::::::::::::::---=:.::::... ...:
..................... ........................... ............... ........................@@@@@@@@@@@@@@@@.@@@@@@@@@@@*.:@@@@@@@@@@@..@%%%#%@:..@@@%%@:-%@%@@@@@@@@@@@@@................................ ......................................................:::::::::::::::::::::::::::::::::::-----:::::.. :-=+++
.................................:::.............. .............. .......::::...........@@@@@@@@@@@@@@@@@#@@@@@@@@@@*..@@@@@@@@@@% %@%%##%@- .@%@%%%%%%%%@@@@@@@@@@+. ............................. ..................................................................:::::::-=---------------------:... -+++****
..................................:::............. .......... .........::::........@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.:@@@@@@@@@@@. %@@@%##%%% .@@@%%%%%%%@@@@@@@@@+ ................................ .............................................. ........................::-==-----------------:.... :***####++
......................... ...........:............ ....... ........::::::.:.:.#@@@@@@@@@@@@@@@@@%@@@@@@@@@% .@@@@@@@@@@@..+@@@@%#%%#@:.@@@@%%%%%%@@@@@@@- .. ......................... ............................................ ............................::--=---------------. =+***#*+***
.....................................:::.......... .. .... ........:::::::::.@@@@@@@@@@*@@@@@@@%@@@@@@@@@..@@@@@@@@@@@ .+@@@%%%#%##@#.@%%@@%%%@@@@@@%. . ........................... ........................................ .................................::---------------:....+++****+***+
...................................:::::::........ .. ........::::.@::=@@@@@@@@@++@@@@@@@@@@@@@@@@..@@@@@@@@@@@:.#@@@@##@:%%%%@:@@%@%%%@@@@@=..... .. . ............................ ... .......................... ........ ...................:::::--------------:...+*******#####
............................... ......:::........ . .......:::::+%:.@@@@@@@@@%.*@@@@@@@@@@@@@@@..#@@@@@@@@@@..-@@@@%#%%.%%%%@+@@%%%%%%%@# ... .... ............................... ................ ........ .............:::::::::::--------------. .***#*####%@@@@
.......................::......... ...::......... ......:.::=@.::@@@@@@@@#. @@@@@@@@@@@@@@@-.#@@@@@@@@@@..+@@@%%##@.:%%%%%%%%%%%%#%@...... ............................... ............. . ..........::::::::::::::::------------#- =*###%%%%%@@@@@
........................................:::::.... ........:.=@%.::@@@@@@@@ : @@@@@@@@@@@@@@- -@@@@@@@@@@-.=@@@%###@:..%%%%@#+#####@ ........ ............................ ........ . .........::::::::::::::::::-------------*#*#+**#%%%%%%@@@@@
.........................................::...... ........@@@=.:-@@@@@@@-::.@@@@@@@@@@@@@#.-@@@@@@@@@@-.-@@%%###@ ...%%@:=***##% . ..... . ............................. ....... ...........::::::::::::::::::::::-----------*#+%%%%##%@@%%@@@@%
................................................. .....=@@@@.::+@@@@@@@.:.*@@@@@@@@@@@@* @@@@@@@@@@=.=@%%##*#@. =- =#####%. ....... ........................... ........................... ... .......::::::.....:::::...:::::::::::::-------:%##%#%%%%%@@@@@@@@@
................................................. ....@@@@@-:::*@@@@@@.:::#@@@@@@@@@@@#. @@@@@@@@@@+.:%##***#% . .##*###% ........ .......................... .............. .. .....:.::::::........::-:...........:.::::::-:----=##%%%%%%%@@@@@@@@@@
................................................ :@@@@@@@::..%@@@@@@.::.%@@@@@@@@@@@..@@@@@@@@@@=.-###%+: ...=#**####+ ............ . ........................ ......::::::..............:::..... .......:::::------+*##%%%%%%%%%@@@@@@@
.......................................... .... .@@@@@@@@%.:..@@@@@@*..:.%@@@@@@@@@%..*@@@@@@@@%.... .. .:=#########%= ........... ........................ ......:::::.....................::-::... ...::::------#*####%%%%%%%@@@@@@@
.......................................... ... .#@@@@@@@@@ ...#@@@@*=.::::::::.:....................:=*#########*###: ........... ....................... .....:.............................:::--:.. ....:::-----=######%%%%%%@@@@@@@@
.......................................... .. *@@@@@@@@@@@.....::::::::::::...................:=%%%%%#####*######*. .......... .......................... ......................... ......::::::-:.. ....:::::--+#%####%%%%@@@@@@@@@@
........................................... .@@@@@@@@@@@@@ .......:::::::::::.......... .-#@%%%%%%%%%%#%#%####@= .............. .......................... ................... .....:::::--:.....:::::--####***##%%@@@@@@@@%@
........................................... +@@@@@@@@@@@@@@+..........:::::::::::.:::..*@@@@@@@@@@@@@%@%%%%#%%- ................. .......................... . ................ .....:::---:...::::--####***##%%%%@@@@@@@@
.......................................... #@@@@@@@@@@@@@@@@=...........:::::::::::.:@@@@@@@@@@@@@@@@@@%%@@%.................... .......................... . . ................ . .....::::--::::::-=#%%%%%%%%%%%%@@@%%%@@
.......................................... @@@@@@@@@@@@@@@@@@@@:...........::::::.:*@@@@@@@@@@@@@@%%@@@@@@=.................... ........................... ... . ....................... ........................ ....:::---::::+%%%%%%%%%%%%%%@@@%@@@
.......................................... .@@@@@@@@@@@@@@@@@@@@@@@=............:*@@@@@@@@@@@@@@@@@@@@@@@@:.................. ......................... ... .. . ................. ........................::::::::.. ......:::--:-*%%%%#%%%%%%%%%%@@@@@@
................................ @%%%@@%@@@@@@%@@@@@@@@@%%@@#@#%%@@@@@%@@@@@@@@@@@@@@@@@@@@@@#................... ......................... .......... . ............. .................::::::.........:::::--:.. ....:::--*%#******####%%%%@@@@@
............................. *%#%#%%%#%@%%%%%%%@@@@@@%@%%@%%@@@@@@@%@@@@@@@@@@@@@@@@@@@@+.:................. ...................... ......... ...... .......................::::--:-:::......::::::::.. ...::--=-=*#*##%%%%%@%@@@@@@
...................... *###*##%%%%%%#%%%%%@@%#%%%%@@*@@@@@@@@@@@@@@@@@@@@@@@@@@@:................. ........................ ............................:::-:::::::::.......::::::.....:::-+++*#####%%%%%@@@@@
. ................... :##**#*####%%#%%%%%%%#%%%@@%%@%%@@@@@@@@@@@@@@@@@@@@@@*.:.............. ....................... ..... ............................::::::::::::::......:::--:...:::-+=++++++**#%%%@@@@
.... .......... :#********%##%%%%%%%%%*%%%%%%%%%%@@%@@@@@@@@@@@@@@@=..:............ ................. . ...................................::::::::::::::.......:::::::::-++++++***##%%@@@@
............... ........ =+=++**##########%%#%%%%%#%%%%%%%%%%@@@@@@@@@@@-......... . . .................. .....................................::::::::::::::::.. ....:::-----+*****####%%%@@@
.....:::...........:...... . -*++++++*#####*#########%%#%%%##%%%%@@@@@@%:......... ..................... ...........................:::::::::.......::::::::::::---:-::. ....:::--=++***#####%%%%@
....................::::::::... .=+++++***+****#*###############%%%@@#:....... ........ ............ ..............................::::.::::::::::::::::::::-::::::-----. ....::---=+*######%%%%
......................:::::::::::.. :-+=++**+*******#*######%%%+:...... . ................. . ..................................:..::::::::::::::::::::::---:::::---::......::---=+*#####%%%
........................::::::::::.... ...--+-==+++=:... .... ....... ............. ..................................::::::::::::::::::::::::::::------:::::-:......::---==*###%%%
........................:::::::::::....::. ....... ......... . ......................::::::::::::::::::---::::::::::.:::::::::::::---:::::::-::....:::---=+###%%
.......................:::::::::::::::::::::. ......... .......... . .........................::::...:::::::::::::::------:::::::::::::::::-----:::::---.....:::---+*###
.........................::::::::::::::::::::::. .. ........... ...... .........................................:::::::------------::::::::::::::----::::::-::...::::--=+**
..........................::::::::::::::::::::::::. ........................ . ............................................:::::::-----------------:::::::::::----:::::-:.....:::-=++
.......................::::..:::..:.::::::::::::::::-. ........................ ........................................:::::::::::----------------::-----:::::::-----::::--:.....::-=+
............................:..:.::::::::::::::::::::::. ........................... ...............................................:::::::---------=--------------------------:::--:.....:-=
......................:..:.::...:::::::::::::::::::::::::. ....................... ...... ...................................................::::::::------===-=-----::----------------::--.....:-
.....................::.....::::::::::::::::::::::::::::::. .............................. . ...................................... .. .............::::--------======---------------------:--:....:
....................:::.:..::::::::::::::::::::::::----:::: .. ...... ..................................... .......:::::::::--------===----------------=--=----....
......................:::::::::::::::::::::::::::::::::::::. . . ............................................ .....:::::::::----------===-------------=======--:..
........................::::::::::::::::..:..:::::::::::::::: ..... ... .. .. ................................................ .....::::::::----::-----=-----------------=====--:
..........................::::::::.......::::::::::::::::::::: ....................... ........................................................::::::::--:::::::---------=------------===--
.........................:::::......:::::....::.:.::::..:::::::. ................................. ............................:::::::::::................:::::::--:::::::::::-----===-----------===-
...........................:.....:::....::.................:::::. . .............................. . ............................:::::::::::::..............::::::---::::::::::::-----==------------==
.....................:........::::...........:::::---:::-::::::-:::..:::::---:::::::.. ............... .. . . . . ........................:::::::::::::::::............::::::----::::::::::::::--====-----------=
....................:::....:::..........:::::::::::::::::::::::::::::::::.. . ...::::::. . . .....................:::::::::::::::::::::..........:::::::----::::::::.::::::---===-----------
..........................::............::::::::::::::::.::::.....:::. ..::-. ........... .......:::::::::::::::::::::::::::..........:::::-----::::::..:..:::::---=-----------
........................................:::::..:::...............:: ..:: .................::::::::::::::::::::::::::::::..........::::::----::::::::....::::----==--------
................:....:::.......................................::.. ..:. ...... .........:::::::::::::::::::--:::::::::.........::::::----:::::::......:::----==-------
.. .................::........................................:::....:::::-:. .:. ..... ...................::::::::::-----:::::::........:::::::--::::::::.......:::-----------
...................:........................................::::....::----=++**+-. ..:.. ... ........ ....:::::.......::::--------:--::........:::::::--:::::::::......:::----------
.............:.............................................::::.....::::::---=++++*+=+-:. .....::.. ...... :-===++++*++=-::......::-----------::.....:::....::-::::::::::......::::--------
.................................................. ......::....:::::.::-=++#%%%#%####******+:.:::::... .... -==+***********+++=-.. ..::-----------:....:::.....::::::::::::::.....:::--------
..................... ........................... ...........::::::::-===+***+*#****++*****#%%#*+-::.... .. .... -*****#**+****##***++=-::.. .::---------:::..::::::..:::::::----::::::..:::::------
................... ..............................................:::=*#%##*+***++**+++++****+#%@@@%%%###*#=: ..... ..... .+***##*********##%%#+++==--:.. .:-----------::.::::--::::::::-------:::::::::::-----
.................. ....................................:.. ..::::::+%%%%%%@@%#*+#%%@@%@%%@@@@%%@@@@@@@@@@@@@@@@@@%=: ... .. ..... :++************########**++=--::.. ..:----------::.:::::::--::::--------::::::::::-----
............................................ ......... .....::-+#%%%%%%%*=+#%@@@@%@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@%-.... .. ........=***********##%%%%%@@%%%###**+=--::.. .:----------::.::::::::-------------::::::::::----
................ ................. ............. ...... ......::==*##***+=+*##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* ... .. ....... =####*##*#%@%%@@@@@@@@@%%%%%##*+==--::. ..:--------:::..:::::::--------------::::::::----
............... ................ ........ .... ........ ...::--=***=====++==+++%@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.... ........#####%%%%@@@@@@@@@@@@@%%%%%%@%###*==-::....:--------::.....::::::-------------:::::::---:
.............. .......... ..... ........ ... . .............----==+=++==++=++=#%@@@@@@%%%%##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:..... .. .####%%%%%%%@@@@@%#####%%%@%%%@%%%%##**=-:.. .:-------:::......::::::-------------::::----:
............. ............ . ......... ..............:-=+**##+=-++===+*#%@%*++++=+##+*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::....... . .=###%%#%@%%@@@@%%%####%%%%%%%%%%%%%%##%%*=:.....:-----:::......::::::::------------:::---::
.......... ............. ................ ......::=****#@@%%%%%%++++***+=++***+*%@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%.:.......... . ####%%@@@@@@@@@@@@@@%#%%%%%%%%%%%%%%#####+=-:....:----:::.......:::::::::-----------:---:::
.......... ............. ....... ....... ...:::::===*#%@%%%%%#**+++++**###***#%@@%%%%###%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:....... . -###%%%@@@@@@@@@@@@@@@@@@@@@@@%%%%%#%%%%##%*=-:...:-----:::......::::::::::-----------::::::
.......... ............ ...... ........ .:::+*%*++#####+=**##+=++++=+**+****+*#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:.... .. .*%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@@@*-:...:---::::......::::::::::::---------::::::
......... . ............. . . ... ..:=*##*==++===++*##%%##**+++#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:.... ...:##%%%%%%%%@@@@@@@@@@@%@@@@@@@@@@@@@@@%@@@%@@@@%-:..::--::::.......::.::::::::--------::...::
......... ................ .... ..:-+*+++**+====++++++*++=+#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-... .. *##%%%%@%%@@@@@@@@%%@%%%@@@%@%%%%@@%@@@@@@@@@@@@-=-..::--::::......::.:::::::::-----:::....::
......... ......................... .... ..:-=+**+===========--=++##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@%%@+..... ..=##%%%%%%%@@@@@@@@@@@@@@@@%%###@@%#%%@@@@@@@@@@@@-==..::--::::......:..::::::::::--:::......::
........ ...................... .. ... ........--+####+==**##*+***%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@%%%@+.. .:####%%%%@@@@@@@@@%%%@@@@@@@@@@@@@@@@%%@@@@@@@@@@@*+-:..:--::::......:..:::::::::::::.......:::
........ ................. ... .. ... ......:::--=**#####%%%%%%#%#%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@***#***%@@##%@@@@@@@@@@@@@@@@@@%%@: ..*###%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@%%@@@@@@@@@@@%=-:..:--::::.....::...::::::::::.........:::
........ ............... ..........:-=-----=*##%%%%%%%###%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%**%@@@@@@##@@@@@@@@@@@@@@@@@@@@@%%%+ ..-###%%%%@@%%@@@@%%@@@@@@@@@@@@@@@@%#%#*%@@@@@@@@@@@%=-....:-::::.....::...:::::::.............::
........ ............ .........:-=++---=+*#####%%%####%%%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@%**@@@@@@@%#@@@@@@@@@@@@@@@@@@@@@@@#**.. .:###%%%@@@%%%%%@@@@%%@@@@@@@@@@@@@@@@%#%@@@@@@@@@@@@@=-....:-::::.....:...::::::.................
..... . ....... . ........::-=***+++*######%%#####%%%%%%%%%@%%@%%@@@@@@@@@@@@@@@@@@@@%*@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@%**.. ..*###%%@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-:. .:-::-:....:....::::...................
..... ....... ........::-=+*##**#############%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#@@@@@@@@@@@@@@@@@@@@@@@%%**: ...####%%@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:. .::---:....:...::::..... ............
..... ........ .. ...::-++*******####***#######%##%%%%@@@@@@@%%@@@@@@@@@@@@@@@@@@#*##%%#*#@@@@@@@@@@@@@@@@@@@@@@@@@***+- .:##%%%%%@@@@@%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-. .:---:....:...:::... ..........
.. . . . ...:-=++++++**#*##*+**#########%%%@@@@%@@@@@@@@@@@@@@@@@@@@%#*#%###%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#+#+. :##%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=.. .::--.........:.. ...........
. . .::--====++***++==+++***######%%@@@%@@@@@@@@@%@@@@@@@@%#*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%##. ..+#%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:. .:-:....:...... ...........
...... ...:::-----------====++****##%%%%%%%@@@@@@@%@@@%@@@#**#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%+.. #%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:....:-:..::.... ...........
...... ............::::::--=+++***####%%%@@@@@%%%%%%%%#*##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#--:. :###%%%@@@%%%%@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*:...:::..:... ............
...... ..........:::-=+++****###%%%@%%%%%%%%##%%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%=::..... =%%%%%%%@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*:..::..... .............
....... . ......::--==+++**####%%%%%%%%%%%%%@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*:......::. =#%%%%%@@@%@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::..... .............
......... ...::---===++++###%%%##%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%=-::..:::::.. .:#%%%%%%@@@@@@%%%%%@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%::.... . ...........
. .-=++++++++**##%%%########%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%==----------:::.. :##%%%%%%@@@@@%%%%%%%@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+.... ............
.-*###*******#%%%########%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#+=---====--::---::.. *##%%%%%%@@@@%%%%%%%%%%%%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.. .............
=*######***####%#%%#####%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#*-----===--:::--::--:. ###%%%%%%%@@@@%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-.. ........ ....
:=*#############%%%####%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##+===========---:-----.:::. .###%%%%%%%@@@@@@%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:.. ....... ....
.--=+**##**####%%#######%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%###*============--::::------::. ####%%%%%%%@@@%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=.. . .......
.:-==+**#####%%#####*##%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%####*=======---------:::::---::::. .#####%%%%%%%%@@@%%%%%%#%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@. . .
.:--=++*#####%###%#####%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#####*=======-----------:::::::::::. .*###%%%%%%%%%%%%%%%%%%%##%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@#
..=+++++*#######%######%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%###%###=============--===----:::::::.... ####%%%%%%%%%%%%%%%%%%%###%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###%%@=..
.:+***++**##############%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#######*=======------====------::::::::::.. :####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@%@:.
....-++****################%%%%%##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%###%%###*======-----====---------::-----:::. =%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#%@%@#..
.....:=+*****###########%%%%%%%%%%###%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#########+===============-==------------:::...... =####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@%@+..
.....:::=*###**############%####%#%######%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%###%%####+++++++++===+====-------------:::......... *####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%...
....:::::-*###*******########################%%%@@@@@@@@@@@@@@%%@@@@@%%%%%%%%###%#%###+++++++++==+============-----:::.....::--::. ..####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...
......::::=*####****#############################%%@@@@@@@@@@@@%@@@%%%%%%%%%%%###%#%%###===-=====++====+===========---::..:::-=----::.:#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...
......::::-*####**+**########*###############***###%%%@%@@@@@@@@@@%%%%%%%%%%%%#####%%%%#*-:::----:::=++=============--::::::-===-----=####%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. .
......:::::-+*###*+***####*****################****##%%%%@@@@@@@@@@%%%%%%%%%%%%#####%%%%%#+-:::::::-=================--:::::-=====---=####%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:..
.......::::::=**#***********+**###########%%%%#########%%%%%%%@@@@@@%%%%%%%%%%%%#####%%%%%#*=-:----====================-------====+===###%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:..
.......:::::::-+*####*****+++**#############%%%#########%%%%%%%%%%%%%%%#%#%%%%%%%###%%%%%###*+---=++++*+++++++===--==-----==-=========*##%%%%%%%%%%%%%%%%%%%%%###%%%%#%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:.
.......:::::::::+*********++++**#############%%%%##%######%%%%####%%%%%%%##%%%%%#%#####%%#%##**-:::--======*++++++++========-==-------*##%%%%%%%%%%%%%%%%%%%%#########%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%..
......::::::::::::+*********+++****###*+*######%%%##########%%%%###%%%%%%###%%%%%#############***...:::::::.......----=======+++=====-*##%%%%%%%%%%%%%%%%%%%#############%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.
..::::::::::::::...-+********+++****##*+==**###**++##########%%%%##%%%%%%%%####%%##############***=.::--::::::... .... ..:::::--=---+####%%%%%%%%%%%%%%%%%%################%%#%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%..
..::::::::::::::::::-=+***#***++********+=-=====-=*#%##########%%%%####%%%%%###%%##############*++#*:::------::... ...............:+###%%%%%%%%%%%%%%%%%##%%##########**#######%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#..
.:::::::::::::::::::::-=****************=--+*##+==##%%####%%#####%%%#####%%%%##############*#****++*#-.:::::::.. .. .........::*###%%%%%%%%@@@@@%%%%#%###############*########%%%%%%%%@@@@@@@@@@@%@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@-..
.::::::::::::::::::::::-=************++=--=**#*==*#%%%%####%%%###%#######%%%%%%##########******#*****+====-:-:.... ...:--=-----::::-*###%%%%%@@@@@@@@%%%%%%#**+=====+++*******#######%%%%%%%@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#..
..:::::::::::::::::::::::-=+*****+**+++-----===-+####%%%%##%%%###%#########%%%%%%%%%%####*******#*****+===-:-=+==+++===============+*##%%%%%@@@@@@@@%%%####*=-::.....:=**####******####%%%%%%%@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
..:::::::::::::::::::::-----+********+++++**++*########%%%%%%####%%###########%%%%%%%%##***************+==--=++++=+=============--=+###%%%%%@@@@@@@@@%%##**-:.. .:=*#####***###%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@%%%@@%@
......:::::::::::::::::::::::-+*******+++***############%%%%####%%##############%%%%%%%##*****+*********++=--+++++==============--=*##%%%%%%@@@@@@@@%%%##*=. :####***##%%%%%%%%%%@%@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%-
..........::::::::::::.......::=*******++****#*###########%%#####%##############%%#%%%###******++*********++===+=============---=-*####%%%%%%@@@@@@%%%##*+: .*###*#####%%%%%%%%@%%%%%%@@@@@@@@@@@@@@@@@@@@@%@@@@@@@%%%@@@@@%%%##+
......::::::.:....... ......:=++***++++**#****##########%%############################**++**+++********++===+==========-------*####%%%%%%%@@@@@%%%##*= .*#**####%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%@@%%@@@@@@%%##%%%%%%###*
...:.......... . ........::=+**++***********##########%######%################******+****+=+****###*++==============-=====+*####%%%%@@@%@@@%%##*+- :+*#####%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%%@@@%@@@%%%%%%%%###%.
...... ...... ....:::::::-=**++***********#################%####***#*****+++++****+++**=-+********+++==================+*##%%%%%@@@@@@%%%###*+. +#####%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%@@@@@%%%%%%%%%###=
. ....... ...:::::::::-++***********########################******++++++++++*+++**+--+********+++===+=+============+*##%%%%%@@@%%%%%##*+- .... .. .+*####%%%%%%%%%@@%%%%%%@@@@@@@@@@@@@@%%%%%@@@@@%%%%%%%%%#%#
........... ..::::::::::=++***+**+*###########*#############*******++++++++++++++**+:-=+*******+++=================*#####%%%@@@%%%%###*+. .. .. .:--::......+####%%%%%%%%%@@@%%%%%%%%@@@%@@@@@@%%%%%@@@@@@%%%%%%%%##%:
.........:... ..::::::::...-++*******########****************#*+++++++++++++++++*****+:-=+*******++=========-=======+*###%%%%@@@@%%%##**-. ......... .:=-:.........+*###%%%%%%%%%@@@@%%%%%@@@%%%%@@@@@%%%@@@@@@@%%%%%%%%###.
.....:::::::... .....:::::::.. :+*++++****************+*****+*+****+++++++++++*+++******+*::-*********++=======---======+*##%%%%@@%%%%%#**=. ........... .:=-. ..:*####%%%%%%%%%@@@%%%%%@%@@%%%%@@@@@@@%@@@@@%%%%%%%%%#%* .
...:::::::::... .....:::::.. .-++++++++***+++++++++++*******+++*++++++++++**++++********-:-++*******++======-:--==--==+*##%%%%@@@%%%##=............. .-=. ..:*####%%%%%%%%%%@%%%%%%%@@%%%%%%@@@@@@@@@@@%#%%%%%%##%. .:
...::::::::... ....::::.. .:=+*+++++++++++++===+++++++***++++++++++++++**+++*********=::=+*******+++====-:-====-==+*###%%%@@%%%%#*-................ ..-=:. ...=**###%%%%%%%%%%%%%%%@@@@@%%#%%%@@@@@@@@@@##%%%%%%##= ..:
..::::::::... ....::::. .:-=+++++++++==========++******+++++++++====+++*++*********+::=+++*****++++====--==-==*######%%%%%%##*+.................. ..-=: ...=**##%%%%%%%%%%%%%%%%@@@@%##%%%@@@@@@@@@@##%%%%%%##. ....
..:::::::::... ...:::. .::-=+++++++========----=+++***++++++++++=---=+****++++*****+-::=++*****++++====----=+*#######%%%###*+-.................... ..-=. .::=**##%%%%%%%%%%%%@%@@@@@%##%%%%%@@@@@@@@%#%%%@@##. ..::.
..:::::::::... ..::. ...:::-=+++++++++=+====-:::-==+++++**+++++++-::-=+++**+****+*+++=::-++******+++====----=*####%###%##***=........:............. .....--. .::=**##%%%%%%%%%%%%%@@@@@%*#%%%%%%@@@@@@@%##%%@@%- ......
....::::::..... .... ...::::-=+++++++++++=+==-::-====++++***++++++-::-==++******++=-===-:-=+++++*++++==---:--*##########**+=:......::::::............... ..:::. ...-**#%%%%%%%%%%#%%%%@@@@*##**%%%@@@@@@@%##%%%%* .......
. ....::::::::...........::::::=+++++++++++++==:::-==+++++*****++++=--::==++++****=-=-===-::=++++++++====---::*#########***+-.......::::::::..................-:. ...... .-=*##%%%%%%%%%%%%%%@@@%***=+*%%@@@@@@@@##%#%%: ........
..........................:::-=++=++++++++++=--:::=+++++********++=-:::-+++++**++==--==-:::-++++++++====---:*#######****+=:.......:::..::...................:-.. ...::.. .:-+*##%%%%%%%%%%%%%@@@@#**+*+*#%@@@@@@%#####%. .........
................:......:::::--==++++=+==+====---::=+++++*******+++=-:::-=+++++++-==---:--:::=++++++=====--:-*###%#****++-:.......:.............................. ..:::::.. ..::-+*#%%%%%%%%%%%%%%@@@%*##+++++#%@@@@%*##%%%. ..::.....
..:::::::::::....:::::::-===============-::::-++++++++++++++==-::::=+++++++--==------::-++++++=====--:+*###***+++=-:......:::....::................ ..:..... ..:::---:.. ..:...=*##%%%%%%%%%%%%%%@@%#####*+++*#**#*###%%# ..:.....
......:::::.......:.:::::-==============--:::-=*++++++++++++**+-::::=+++++++=-----===-:::=+++++======--***+**+++=--:......:::...:::::............... .::::..... ..:::---==-. .......-+*##%%%%%%%%%%%%%@@@#*#%%%#+*++***#####%* ............
......................:::-==============-:::::=-:*%@@%**#@@+++=:::::-=+++++++===--====-::-=++++==+===--:-=====--::.......::::.::::::................. .::::::::....::-+======...... ...=*###%%%%%%%%%%%%%@@%*#%%%%#++*#*###%%#%: ......:::...
.......... ..........:-====+++=++===--::::---::.--#@#+:-==---::::-=++++++++========-::-=++++++++==-::..::::.........::::..:::::................... ..----------:::::::::--:..:. .-+*###%%%%###%%%%%%@@*##%%%%#****###%%##. ...........:
........ .............-===+++====++=-:::::-==::::-:::-----==-:::::==++++++++===-==-:.:-=+++++++===---:. .......:::::.::::::......................-==++==-::. ......:..:. .=+#########%%%%%%%@@%*#%%%%%#**#%%#%%## .............
........................:============-:::::::=++==---------===-:::.:-=+++++++===-==--:..:=++++++=======-. ........::::..:::::.........................+=---:::::. ... ..:. .-+*#########%%%%%%@@%*#%%%%%#*+*#%##%%+ .....:::::::....
.......................:--==-===-----:::::::==++=++====-=====:::::.-=++++++=====---:...:==+++++=======-:. ........::::::::::::..................:.... ..:::::::::. .:. .=+#########%%%%%%@@%*##%%%#*+****###%- ..::.:::::::::...
... .....................::------------::::::::=====++++========:::::.:=========----:::...:-=+++++========:........:::::.::::::::........................ ..:::::--: .:. .-+*#########%%%%%%%@#*#%%#*+=+*****#%: ......:::::::::..
.:.:---=**+-:.. ....................::------------::...:::=====++++=======-:::::.:-===------:::::::..:-=++++=========:.......:::::::::::::.....:.:.................. .:------. .:=+*#######%%%%%%%%%%*##%#+==++*****# ...::::::::...
##############*- ...................::------------::...:::=============---::::::.:-------::::::::::..:-===========---:......::::::::::::....::.::..................... ..:--=. ..-***#######%%%%%%%%%#*##+==++*##%%*+ ...:::::::....
################%=. ....................-----------:::.....:-====---------:::::::..::---::::::::::::::::-==========--::......::::::::::::::..:::::::......................... .. .:+**#########%%%#%%%%+=====*#%%%@%%%. ..::::::::.....
###*#*############*:.. ...................:---------::::.....:---=------::::::::::...:::::::::::::::::::::--=====-----::......:::::::::::::..::::::::::...:.................... ..=***###**#######%##%+=+=*###%%%%%%%= .:::::::::...:.
ffs man take me home