@@@@@@###**#*:.........::....,........::::::::+:::....*@@@@@@@@WWW@#*##*###**##************************************************************@W@#####*#***************************************************
@@@@@@@######+::::::::+**++:::::::::+::+++++:+++++:++:*@@@@@@@@WWW@########################################################################@W@##########################################################
@@@@@@@######*::::::::++*++++:::::::::::++++:+*#**++*:*@@@@@@@@WWW@########################################################################@W@@#########################################################
@@@@@#@######*::::::::++*+++:+::::+:::::++++:+*#***++:*@@@@@@@@WWW@#########################################################*##############@W@@#########################################################
@@@@@########*::::::::++*+++:+:::+::::::++++++*##+*++:*@@@@@@@@WWW@########################################################################@W@@#########################################################
@@@@@@@######*:::::++::+*++++:::::::::::+++++:+##+**+:+@@@@@@@@@WW@############################################*##########*################@W@##########################################################
@@@@@@@######*+:::::+:++**++++::::::+::::++*+++#**+*+:*@@@@@@@@@WW@#####################################################**#########*#######@W@##########################################################
@@@#@@@######*+::::::::+*+++++:::::::::::++*+++**++*+:*@@@@@@@@@WW@############################################*#######*###################@W@##################################################*#######
@@#@@########*:::::::::+**++:+::++:::::::++++++**++++:+@@@@@@@@@WW@#####################################################*#*#*##############@W@##########################################################
@@@@@#@######*:::::::::+**++:+:::::::::::++++++*+:::::+@@@@@@@@@WW@######################################*####**#*#######**####*###########@W@############################################*#############
@@@@@#@######*+::::::::+**++++:::::::::::++++++++:::::+@@@@@@@@@WWW################################################*###*######*############@W@##########################################*#*###***#*#**##
##@@#@@######*+:::::::++**++++::+++:::::::++++::+:::::+@@@@@@@@@WW@################################*##########################*####*#######@W@###################*##################*###*######*#*#*##*#
@@@#@#@######*+::::::::+**+++++:+:::::::::::::::::::::+@@@@@@@@@WW@############################*####*##**###*#########***##########*#######@W@####################*########**###*##**###*##****########*
@@#@@@@######*:::::::::::+++++++::::::::::::::::::::::+@@@@@@@@@WWW@###############################*#**###*##*############***#*#*#**#######@W@###################**##*##*######*#*#######*#*#####*###*##
@#@##@@######*::::::::::+++++++::::::::::::::::::::::::@@@@@@@@@WW@########################*#*##*####################*###############*#####@W@######################**####*########*#######*****####*###
#@@#@@@######*+:::::::::+:++:+::::::::::::::::::::::::+#@@@@@@@@WW@@###################*#########*#*##*##*###############*###*#####*#*#####@W@#############*#####**######**##*##*################***#*#*
@@@#@#@###*##*+:::::::::::::+:+::::::::::::::::::::::::#@@@@@@@@@WW@########################***#*#**##########@@@@######*###*#*####*#######@W@##################*##*#*##*##*######**#######*###*#*####*#
#@@@@@@######*+::::::::::+:::+:+:::::::::::::::::::::::#@@@@@@@@WWW@################*#####*#*###*###########@@@@@@@@@@@@@##########*##**###@W@###############*###*##*####**##*#*#*####**#***###**#**##*#
@@@@@@@#######+::::::::::+:::::::::::::::::::::::::::::#@@@@@@@@WWW@#################*###*######*##@@@@@@@@@@@@WWWWWWWWWW@@@############**#@W@###################*#*####*#*#*#######*###*####**##*#*####
@@@@@@@#######+:::::::::::::+::::::::::::::::::::::::::#@@@@@@@@@WW@##############*#**###*#*#*####@WWWWWW@@@@WWWWWWWWWWWWWWW@@##########*##@W@#####################*#######*#*##***#*##*##*#*#*##***#**#
@@@#@@@#######+::::::::::+:::::::::::::::::::::::::::::#@@@@@@@@@WW@#############**#**#****#####@@WWWWWWWWWWWWWWWWWWWWWWWWWWWW@@#####*#####@W@#############*##***########*#####*#####*##*#**########*##*
@@#@#@@#######+:::::::::::::+::::::::::::::::::::::::::#@@@@@@@@@WW@############*#####*########@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@####*####@W@##############**#################**#####*####**##********#
@@@@@@@###**##*::::::::::::::::::::::::::::::::::::::::#@@@@@@@@@WW@###########**#####*#######@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@W@@######*#@W@#############*#####***#*######***#**#*#*#####*#*#****#*###
@@@@@@@####*##*::::::::::::::+:::::::::::::::::::::::::*@@@@@@@@@WW@###############***#****##@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@WW@###*###@W@####################**###*######**##*##**#######*#***##**#
#@@#@#####**##*::::::::::::::::::::::::::::::::::::::::*@@@@@@@@@WW@##############***#**#*##@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@W@@@#####@W@##############*#**#**##*#*####*###*#*##**#*#*#*#**#***##**
@@@@@@@####*##*::::::::::::::::::::::::::::::::::::::::*@@@@@@@@@WW@####**#####**#*#**##*##@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@##*#@W@###################**##**#*#*####****##*######*######**###
@@#@@@####**##*::::::::::::::::::::::::::::::::::::::::*@@@@@@@@@WW@##*####*###*#####*####@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@WWWW@@@W@@@###@W@##########*#####*#######*###**##*#**#*#*##**#*#*#*********
@@@@#@#####*##*:::::::::::::+::::::::::::::::::::::::::*@@@@@@@@@WW@#########*####*######@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@W@@@W@@@@@##@W@###################*#*#*##*######*#*##*#######*##*####*###
@@@@@@####**##*::::::::::::::::::::::::::::::::::::::::*@@@@@@@@@WW@######***#######*###@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@W@@@@@#@W@##############*#*##*###*##*##########*##################@@
@@#@#######*##*::::::::::::::::::::::::::::::::::::::::+@@@@@@@@@WW@########*#*########@WWWWWWWWWWWWWWWW@WWWWWWWWWWWWWWW@W@W@WWW@@@@@W@@@@@@W@#################*####*###############@@@@@@@@@@@W@WW@WWWW
@@#@@#####**##*+:::::::::::::+:::::::::::::::::::::::::+@@@@@@@@@WW@#########*##*#*###@@WWWWWWWWWWWWW@W@@WWWWWWWWWWWWWWWWW@W@@WW@@@@@@@W@@@@W@#####################@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWW
@#@@@@####**##*:::::::::::++:::::::::::::::::::::::::::+@@@@@@@@@WW@########*####*###@@WWWWWWWWWW@@@@W@@@@@@WWWWWWWWWWWWWW@W@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@WW@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@@@@######**##+:::::::::::::::::::::::::::::::::::::::+@#@@@@@@@WW@#######*###***###@WWWWWWWWWWW@@@@@@@@@@@W@WWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@#@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@@@@######**##+:::::::::::::::::::::::::::::::::::::::+#@#@@@@@@WW@#*#######*######@WWWWWWWW@@@@@@@@@@#@@@@@WWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@##@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@#@#@#####*###+::::::::::::::::::::::::::::::::::::::::@##@@@@@@WW@####*#*##*#####@@WWW@WWWW@@@@@@@@@@###@@@@@WWWWW@@WW@WWWW@@@@@@@@@@@@@@@@@@#@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@@@######*#*##+:::::::::::::::::::::::::::::::::::::::+#@@@@@@@@@W@##############@@@WW@@WW@@@@@@@@@@@#@#####@@@@@@@@@@@W@WWW@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@##@@#######**#+::::::::::::::::::::::::::::::::::::::::@#@@@@@@@WWW@#@@@@@@@@@@@@@@WW@@@@@@@@@@@@@###########@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@@@@#####*****+:::::::::::::::::::::::::::::::::::::::+##@@@@@@@@WWW@@WWW@WWW@@@@@@WW@@@@@@@@@@@######***######@##@@@@@@@@@@W@@@@@@@WW@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
###########****+::::::::::::::::::::::::::::::::::::::::#@#@@@@@@@WWW@@WW@@WW@@@@@@WW@@@@@@@@@@@@##********#**#**#####@@@@@@@@@@@@@@@WW@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
*####*###*****#*::::::::::::::::::::::::::::::::::::::::#@@@@@@@@@WWW@@@@@@WWW@@@@@W@@@@@@@@@@@@###***++*****#******####@@@@@@@@@@@@@WWW@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
****##**+*****#*:::::::::::::::::::::::::::::::::::::::+##@@@@@@@@WWWWWWWWWWW@@@@@WW@@@@@@@@@@@###****++++++****+******##@@@@@@@@@@@@@WW@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
++++**********#*:::::::::::::::::::::::::::::::::::::::+#@@@#@@@@@WWWW@W@W@@@@W@@@W@@@@@@@@@@@##****++++++++++++++*+*****#@@@##@@@@@@@WW@@@@@@@W@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
###########***#*:::::::::::::::::::::::::::::::::::::::+##@@@@@@@@WWWW@WWWWW@@@@@WW@@@@@@@@@@@##***+++:::::::::++++++****##@@@@##@@@@@@W@@@@@@WW@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@@#########**#*+:::::::::::::::::::::::::::::::::::::::*#@@@@@@@@WWWWW@@@@W@@@@@W@@@@@@@@@@@##***+++::::::::::::++++++***#@@@@##@@@@@@W@@@@@@@W@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@@##########*#*+:::::::::::::::::::::::::::::::::::::::*@@@@@@@@@WWWW@W@W@W@@W@@W@@@@@@@@@@#*#**+++::::::::::::::++++++***#@@@##@@@@@@@@@@@@@@WWW@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
##@##########*#*::::::::::::::::::::::::::::::::::::::::*@@@@@@@@@WWW@WWWWWW@@@@WW@@@@@@@@@##*#***++:::::::::::::::::++++***#@@###@@@@@@@@@@@@@@WW@@W@WWWW@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@#@#########*#*::::::::::::::::::::::::::::::::::::::::*@@@@@@@@@WWW@@WWWWW@@@@WW@@@@@@@@@##***+++:::::.::.:.::::::::+++***#@@@@@@@@@@@@@@@@@@@WW@W@WWWW@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@@##########*#*+:::::::::::::::::::::::::::::::::::::::*@@@@@@@@@WWWWWWWWW@@@@@W@@@@@@@@@###***+++::::::.::....:::::::+++**#@@@@@@@@@@@@@@@@@@@WW@@@WWWW@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@@@#########*##+::::::::::::+::::::::::::::::::::::::::*@@@@@@@@@WWWWWWWW@@@@@W@@@@@@@@@@###**++++::::...........::::::+++**#@@@@@@@@@@@@@@@#@@@WWW@W@@@@@#@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@@@#########*##+:::::::::::::::::::::::::::::::::::::::*@@@@@@@@@WWWWWWWW@@#@@W@@@@@@@@@@##****++:+:::::............::::+++**@@@#@@@@@@@@@@@@@@@WWW@@W@W@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@###########*##+:::::::::::::::::::::::::::::::::::::::+@#@@@@@@@WWWW@WWW@##@@WW@@@@@@@@###**++++++::::..............:::++***#@@@@@@@@@@@@@@@@@@WWW@WWWW@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@@##########**#+:::::::::::::::::::::::::::::::::::::::*@#@@@@@@@WWWW@WWW@##@@@W@@@@@@@@##****+++++:::...............::::++**#@@@@@@@@@@@@@@@@@@WWW@WWW@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@@@#########*##+:::::::::::::::::::::::::::::::::::::::+@@@@@@@@@WWWW@WWW@#@@@@@@@@@@@@#******+++++:::.................::+++*#@@@@@@@@@@@@@@@@@@WWWW@WW@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@@##########**#*:::::::::::::::::::::::::::::::::::::::+@@#@@@@@@WWWW@W@W@@@@@@@W@@@@@##*******++++:::.................::+++*#@@@@@@@@@@@@@@@@@@WWWW@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@###########**#*:::::::::::::::::::::::::::::::::::::::*@@@@@@@@@WWW@@@@W@@@@@@@@@@@@@#*##*****+++:::..................::+++**@@@@@@@@@@@@@@@@@@WWWWW@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@##########***#*:::::::::::::::::::::::::::::::::::::::*@@@@@@@@@WWW@@@@@@@@@@@@W@@@@##*######*++::::...................::++**@@@@@@@@@@@@@@@@@@WWWWWW@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@########*****#*::..:::::::::::::::::::::::::::::::::::+@@@@@@@@@WWW@W@@@@@@@@@@W@@@@##########**+:::.............,,,...:+++**@@@@@@@@@@@@@@@@@@@WWWW@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@WWWW
#@@@########***#*:::::::::::::::::::::::::::::::::::::::+@#@@@@@@@WWWWW@@@@@@@@WW@@@@@####***+*####*+:.............,.,...::++**#@@@@@@@@@@@@@@@@@@WWWWW@W@W@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@@########***##+:::::::::::::::::::::::::::::::::::::::+@@@@@@@@@@WWW@@@@@@@@@WWW@@@@##*#*++++++*#***+:..................++***@@@@@@@@@@@@@@@@@@@WWWWW@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@#########****#*::::::::::::::::::::::::::::::::::::::+*###@@@@@@WWW@W@@@@@@@WWWWW@@@###**+++++::++*+++::...........::+****###@@@@@W@@@@@@@@@@@@@WWWWWW@W@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@@########****#*::::::::::::::::::::::::::::::::::::::++###@@@@@@WWW@W@W@@@@@WWWW@@@@##***+++++::::++++::.......::++*+*####**#@@@@@@W@@@@@@@@@@@@@WWW@@@@WW@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#@@#########***#*:::..:::::::::::::::::::::::::::::::::++#@@@@@@@@@WWW@@@@@@@@WWWW@@@@#*****####@#+:::::::......::+++*++::::+++#@@@@@@@@@@@@@@@@@@W@WWW@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@########*****#*+.:.::::::::::::::::::::::::::::::::::+*##@@@@@@@@WWW@@@@@@@@WWWW@@@@#*****#*+#@WW#:::::::.....::::::::::::+++#@@@@@W@@@@@@@@@@@@@@@WW@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@WW
#@@########****#*+:.:.:::::::::::::::::::::::::::::::::+*#@###@@@@@W@#####@@@@WWWW@@@#*********@W+@#*::::::.......::::::::::++*#@@@@@W@@@@@@@@@@@@@@@W@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWW@WWWWWWWWWWWW@WWWW
#@#########****#*+:..:.::::::::::::::::::::::::::::::::++#@##@@@@@@W@#*####@@@WWWW@@@@**++**##+#W*W*+*:++::..,.....:::*#@@#**+*#@@@@@W@@@@@@@@@@W@@@@@@@@@@@@@@@@@@WW@@@@@W@@WWWWWWWWWWWWWWWWWWWWWWW@@WW
#@##########****#+:.:::::::::::::::::::::::::::::::::::++#####@@@@@W@#*####@@@WWWW@@@#**++***##*###***:++::..,.,..::+*@WW@+###*#@@@@@WW@@@@@@@@WWW@@@@@@##***********************#############@@@@@@@@@@
#@########*****##+::.::::::::::::::::::::::::::::::::::++#@##@@@@@@W@######@@@WWWW@@@#***+*+++++*++:++:+++:..,,,..::+*W@W@+*##*#@@@@@W@@@@@@@@@@@W@@@@@@#***********************************************
#@@#########****#+:::::::::::::::::::::::::::::::::::::+*#####@@@@@W@######@@@WWWW@@@#**++++++:::::::::+++:..,,,..::+:@@@#+*####@@@@@WW@@@@@@@@@W@W@@W@@###****#****************************************
############****#+::::.::::::::::::::::::::::::::::::::++#####@@@@@WW######@@@WWWW@@@#**+++++::::::::::+++:..,,,,.::+**##+*##***@@@@@WW@@@@@@@@@@WWWWW@@###*********************************************
#@@#########****#+:...:::::::::::::::::::::::::::::::::+*####@@@@@@W@#####@@@@WWWW@@@#*+++++:::::::.::++++:..,,,,,::::::+++++++*@@@@@@W@@@@@@@@WWW@WW@@@##*********************************+************
#@#########*****#+:.:.::::::::::::::::::::::::::::::::++*######@@@@WW#####@@@@@WWW@@@#*+++::::::::::::++++:..,,,,,..::::::::++++#@@@@@WW@@@@@@@@@@@W@@@@###*********************************************
############*+**#*:::.::::::::::::::::::::::::::::::::++*#####@@@@@WW#####@@@@@WWW@@@**++:::::::...::+++++:.,,,,,,.......::::++:#@@@@@@W@@@@@@@WW@@W@WW@##**********************************************
#@##########****#*::..::::::::::::::::::::::::::::::::++*#####@@@@@WW@####@@@@WWWW@@@#+++:::::.:..:::+++++:.,,,,,,,.......::::+:+#@@@@@WW@@@@@@@WWWWWW@@@#******************************************+***
###########*****#*:.:..:::::::::::::::::::::::::::::::++*#####@@@@@WW@####@@@@@WWW@@@**+++::::....:::+++++:.,,,,,,,,.......:::+::#@@@@@@W@@@@@@@@WWWWWW@@##*********************************************
#@##########****#*:::.::::::::::::::::::::::::::::::::++*#####@@@@@WW@####@@@@WWWW@W@*+++::::......::+*+++:.,,,,,,,.,........:::+*@@@@@@@W@@@@@@@WWW@@@@@##*********************************************
###########*******:.::.:::::::::::::::::::::::::::::::++*######@@@@WW@#*##@@@@@WWW@@@#*++:::.......:++*++::.,,,,,,.,....,,.....::+#@@@@@@WW@@@@@@WWWWW@@@##*********************************************
###########*****#*:..::.::::::::::::::::::::::::::::::++**####@@@@@WW@#*##@@@@@WWWWW@#*++::::.....::+**++:.,,,,..,......,,,,,,.::+*#@@@@@@WW@@@@@WWWWW@@@##*********************************************
#@@########***+*#*:::::.::::::::::::::::::::::::::::::++*#####@@@@@WW@#*##@@@@@WWWW@W#*+:::::....::++*+++:.,,,,..........,,,,,.::+*#@@@@@@@WW@@@@WWWWW@@@@#*********************************************
###########******#:::..::::::::::::::::::::::::::::::+++*######@@@@@W@####@@@@@WWWWWW#*++:::::..:::++++++.,,,,,,....:...,,,,,,,.:+*#@@@@@@@@WW@@@@WWWW@@@@##********************************************
++++*+****##*****#+:...::::::::::::::::::::::::::::::++**#######@@@WW@####@@@@@@WWWWW#*++:::::..:::+++++::.,.,,,,...::...,,,,,,.:+*#@@@@@@@WWWW@@@@WWW@@@@###*******************************************
+******++++++****#+.::.:.::::::::::::::::::::::::::::+++*#######@@@WW@####@@@@@@WWWWW@*++::::..:::++++++::...,.,....::...,,,,,,..+*#WWWW@@@@WWWW@@@@WWW@@@@###******************************************
+++**+****++**+**#+:::.::::::::::::::::::::::::::::::++***######@@@WW@###@@@@@@@@WWWW@*++::::::::::+:+++::...........::....,,,...+*@WWWWW@@@@WWWW@@@WWW@@@@###******************************+***********
####*+*++++++****#+.:.::::::::::::::::::::::::::::::+++***#####@@@@@W@###@@@@@@@@WWWWW*++:::::::::++::+::::::::..,,,..:.....,,...+*@WWWWW@@@WWWWWW@@WWW@@@@###****************************************+*
###########**+*+*#+::.::::::::::::::::::::::::::::::+++***######@@@@W@###@@@@@@@@WWWWW*++:::::::+:::::::::::...,,,,,,............+*WW@WW@W@@WWWWWWWWWWW@@@@@###****************************************+
*##########***+**#+:.:::::::::::::::::::::::::::::::+++***######@@@@W@###@@@@@@@@WWWWW@+++::::::+:::::::::::.,,,,,,,,............+#WW@@@@@@@WWWWWWWWWWW@@@@#####****************************************
#@##########**++*#+::...:::::::::::::::::::::::::::::++***######@@@@W@###@@@@@@@@@WWWWW++:::::::*++:::::::::.,,,,,,,,............+@WWWW@@@@WWWWWWWWWWWW@@@@@###*****************************************
*##########***++*#*:::.:::::::::::::::::::::::::::::++***#######@@@@W@##@@@@@@@@@@WWWWW#+:::::::*##+++++:.....,,,,,,............:+WW@W@@W@@WWWWWWWWWWWWW@@@@###***************************************+*
*############*+***+:::...:::::::::::::::::::::::::::+++***######@@@@W@##@@@@@@@@@@WWWWWW++::::::+#*###*+++::::....,.:...........:#WWWW@WW@@WWWWWWWWWWWW@WW@@###***************************************++
*#@##########*++*#*::....:::::::::::::::::::::::::::++****######@@@@W@@@@@@@@@@@@@WWWWWW#+::::::++*##*##**++*****+++++:.....,...+WWW@W@@@@@@WWWWW@WWWWWWWW@#####**************************************+*
*@###########*++***::....:::::::::::::::::::::::::::++****######@@@@@@@@@@#@@@@@@@WWWWWWW*+:::::+++***+++++:++::::...::........:#WWWWW@@@@@@W@WWW@WWWWWWWW@###*#**************************************+*
*###########**++***::...:::::::::::::::::::::::::::++*****######@@@@W@@@@##@@@@@@@WWWWWWW@+:::::++++**+::::::::....,,.........:*WWWWW@@@@@@@W@WW@@@WWWWWWW@####************************************++*+*
*#@##########*++***::...:.:::::::::::::::::::::::::+++****######@@@@W@@@@##@@@@@@@WWWWWWWW#+:::::+::++++:::::::..,,,,,.......:+@WWWWW@@@@@@@W@W@@@@WWWWWWW@####**************+************************+*
*#@#########**++***:......:::::::::::::::::::::::::+++****#####@@@@@W@@@##@@@@@@@@@WWWWWWWW*+::::::::::::::::....,,,,.......::#@WWWW@@W@@#@@W@@@@@@WWWWWWW@##*#****************************+********+*+*
*###########**++***:..:...:::::::::::::::::::::::::++****#######@@@@@@@@@@@@@@@@@@@WWWWWWWWW+++::::::::::::::...,,,,,.......+*#@WWWWW@@@@##@@@@@@@@@WWWWWW@##************************+****************+*
+#@@#########*+++**:....::.:::::::::::::::::::::::++******####@@@@@@@@@@@@@@@@@@@@@@WWWWWWWW@++::::::::..........,,,,,...::+*##@WWW@WW@@@##@@@@@@@@@@WWWWW@#*#***************************************+*+
+#@##########*+*+#*+.....:.:::::::::::::::::::::::+++*****######@@@@@@@@@@@@@@@@@@@WWWWWWWWWW@++:::::::........,,,,,,,..:::+*##@@@W@WW@@@@#@@W@@@@@@@WWWWW@##*#************************************+****
+#######*#*#**+++**+::...:::::::::::::::::::::::::++*****######@@@@@@W@@@@@@@@@@@@@@WWWWWWWWWW#++::::::.....,,,,,,,,...::+++*##@@@@@@W@@@@#@@@@@@@@@@@WWWW@##******************************+************
+#@########****++**+......::::::::::::::::::::::::++*****######@@@@@@W@@@@W@@@@@@@@@WWWWWWWWWWW*+:::::.....,,,,,,,,,...:::++*##@@@@@@W@@@@#@@@@@@@@@@@WWWW@###*************************************+**+*
+#########*#**+++**+.....:::::::::::::::::::::::::++++****#####@@@@@@W@@@WW@@@@@@@@@@W@WWWWWWWWW+:+:::.....,,,,,,,,,.::::++**###@@@@@@@@@@#@@@@@@@@@@@WWWW@###*******************+**********************
+############**++**+:....:::::::::::::::::::::::::++*++***#####@@@@@@W@@@@W@@@@@@@@@@W@@WWWWWWWWW++::::....,,,,,,...:::::+++*####@@@#@@@@@##@@@@@@@@@@@@WW@##*******************************************
+##########****+***+:....::::::::::::::::::::::::++**+****##@#@#@@@@@W@@@@@@@W@@@@@@@WW@WWWWWWWWWW+::::......,,,...:::::++++**####@@#@@@@@##@@@@@W@@@@@@@@@@#**#***************************************+
+#########*#***+**#+:....:.::::::::::::::::::::::++*******#####@@@@@@W@@@@W@WWWW@@@@@WWW@WWW@WWWWW@#::::.........:::..:::+++***#*##@#@@@@@@#@@@@@WW@@@@@@@@@##*******************+********************+*
+*###########**++*#+:.....::::+::::::::::::::::::++***##**######@@@@@W@@@WW@@WWW@@@@WWWW@WWW@@W@W@@@W*:+:::::.::+:::::::::++++****####@@@@@#@@@@@WWW@@@@@@@@###**************************************+**
+###########*#+++**+:......:::+++::::::::::::::::++****#**######@@@@WW@@@WW@@WWW@@@@WWW@@WW@@@@W@@@@@@###**+++::::::::::::+++++****####@@@@@@@@@@WWWWW@@@@@@@#*#***********************************+****
+*#######****#*++***:.....::::*++:::::::::::::::++****#########@@@@@W@@@WW@WWWWW@@@@@WWW@WWW@@@@W@@@W@#**+++:::::::::::::+++++++****#*#@@@@@@@@@@WWWWWW@@@@@@@##****************************************
+*#########**#*++***:.....:.::++:++::::::::::::::+****#***##@#@@@@@@@W@@@W@@@WWW@@W@@@WW@WWW@@W@@WW@@@****++:::::::::::::+:++++++****#*###@@@@@@@@WWWWWW@@@@@@@##**********************************+****
+*#@#####*#*##*++***:......:::*++:::::::::::::::++****###*##@@@@@@@@@@@@@@W@WWWWW@@@@@W@@WWW@@@@@@W@@@#**++:::::::::::::::++:++++++**#**###@@@@@@@WWWWWWWW@@@@@@##***********************************+**
+*#@#####*#****++***:......:::+:++:::::::::::::+++****###*#####@@@@@@@@@@@@@WWW@@W@@@@WW@@WW@@@@@@@@@@#**+++:::::::::::::::::++++++***#*####@@@@@@@@WWWWWW@@@@@@@####*********************************+*
+*#######*#*##*+++**:......:::+:++++::::::::::::++*****##*##@@@@@@@@@@@@@@WWW@W@WW@@@WWW@@WW@@@@@@@@@@#**+++::::::::::::::::::+++++***##*####@@@@@@@@@@W@@@@@@@@@@####******************************++++
+*###########**+++**:......:::+:+::+:::::::::::++***#########@##@@@@@@@@@@WWWW@@WW@@WWWW@@@W@@@@@@@@@@#**++++::::::::::::::::+++++******##########@@##*##@@@@@@@@@@@###*******************************++
+*#########****+++**:.....::::*+++++:::::::::::++***##########@@@@@@@W@@@@WWWW@WWW@WWWWW@@@@@@@@@@@@@@#***+++:::::::::::::::++++******#########*###########@@@@@@@@@#####**************************+**+*
+*########*#***+++**:......:::++++++:::::::::::++****###########@@@@@@@@WWWWWW@WWW@@@WWW@@@@@@@@@@@@@@#***++++::::::::::::::+++******######***********+++*+*+*#@@@@@@#####**************************+***
+*########**#**+++**:.....::::*+++++:::::::::::+***#####**###@@#@@@@@@@@W@W@W@@WWW@@WWW@@@@W@@@@@@@@@@#**++++::::::::::::+:+++****#*#*****+++**#****+++::::::+++#@@@@@####************************+**+**
+*#######*##***+++**+......:::++++++::::::::::+++***#####*###@##@@@@@W@@W@WW@@@WWW@@WWW@@@@@@@@@@@@@@##*+*+*+:::::::::::++**********+++++++++**#***++++:::::.::::#@@@@@###************************+*++**
+*######*####**+++**+.....:.:::::::::::::::::++++***##*#*####@#@#@@@@W@@@WWW@@WWWWWWWWW@@@@@@@@@@@@@@##*+**+++:::::::::++++**++++++::::+++++******++++:::......:::*@@@@@###****************+******++****
+*#####*#*#*##*+++**+.......:::::::::::::::::+++*****###*####@##@@@@@WW@@WWW@WWWWWWWWWW@@@@@@@@@@@@@@#**+**+++:::::::::++++++++:::::::++++++*****++++:::.........::*@@@@@####**************+************
+*######*###*#*+++**+.....:::::::::::::::::::+++******##*#####@#@@@@@WW@@@W@@WWWW@WWWWW@@@@@@@@@###@##*+****++:::::::+:+++++::::::::::+++++*****+++++:::....,......:#@@@#######*************************
:*+***#####*##*+++**+.....::::::::::::::::::++++**##*###*#####@#@@@@@WW@@@@WWWWW@@WWWWW@@@@@@@@@@####*+*****++::::::+++++++::::::::::++++++*****+++++:......,,,,....:#@@####****************************
+**++:::+****#*++++**:.....::::::::::::::::++++*****###**######@@@@@@WW@@@@WWWW@@WWWW@@@@@@@@@@@@#@#*******+++::::::+:+:::::::::::::+++++*+*+++++++:::.....,,,,,,....+@@###***************************+*
+++**+++:..:+**+++***:.....::::::::::::::::++++******##***#######@@@@WW@@@@@WWWW@WWWW@@@@@@@@@@#@###*******++++::::::+++:::::::::::++++++++++++*+++:::...,,,,,,,,,,..:#@@##*********+**************+*+*+
+*++++++++++::::+++**:....:::::::::::::::++++++*****##****#######@@@@WW@@@@WWWWW@WWWW@@@@@@@@@#@@##*******+++++:::::::::::::::::::++++++**+++*++++:::.....,,,,,,,,,,..+#@##***********+****+********+***
+***+++++++++++++++**:......::::::::::::::++:+*************####@#@@@@WW@@@@WWWWWWWWWW@W@@@@@@@@@@###****+*++++++::::::+:+:::::::::+++++++++++++++++::....,,,,,,,,,,,,.:####************+*+*********+****
+**++++++++++++++++#+:...:.:::::::::::::::::+++++++********#####@@@@@WW@@@@@WWWWWWWWW@@@@@@@@@@@@###*****+++++++:::++:+:+::::::::+++++++++++++++++:::...,.,,,,,,,,,,,..*####***********************++***
+**++++++++++++++++**::...:::::::::::...:::++::+++**********#####@@@@WW@#@@@W@WWWWWWW@@@@@@@@@#@###******++++++++:++++++++:::::::+++++++++++++++++:::....,,,,,,,,,,,,..:####**************************+*
+**++++++++++++++++**:.....:.:.......::::+++::+++++*********##@@@@@@@W@##@@@W@WWWWWW@@@@@@@@@@####******+++++++++++++++++::+::::+++++++++++++++++::::...,,,,,,,,,,,,,..:**##**************************++
+***+++*+++++++++++**:..:..:....:::+*+::+**#@*#*++*+++++****###@@@@@@W@##@@WWWWWWWWWW@@@@@@@@@###*******+++++++++++++++++:+::++:+++:+:++::+++++++::::...,,,,,,,,,,,,,,..*#******************************
*******++++++++++++**:.....:.::::+#@###**#W#++::++++++++****#####@@@@@@##@@@@@WWWWW@@@@@@@@@@@##********+++++++++++++++::::+++++:::::+:+:++++++++::::....,,,,,,,,,,,,,..********************************
+:+*****+++++++++++*#+......:::+#@#*++++#@##*++:.:++****#########@@@@@@##@@@@@WWWWW@W@@@@@@@@@##*********+*++++++++++++:::++++::+:+:::+::+::++++::::....,,,,,,,,,,,,,,..+*******************************
@@@#++*******++++++**+.....:::+#W#*++*+++W##@@@@@#*#*******######@@@@@###@@@@@WWWWWW@@@@@@@@@@#********+**+++++++++++++::++++:+::::::::::::+++++:::::...,,,,,,,,,,,,,,,.:*****************************+*
####@@##*******++++*#+......::#@####@WW@@@@@W@@@WW@#*******#####@@@@@@#**@@@W@@@WWWW@@@@@@@@@@#****+**+++++++++++++++:::++++::::::::::::::::+:++::::....,.,,,,,,,,,,,,..:*******************************
:+++++#@##******+++*#+......:*#@#@WW@@@WWWWWW@@@@@W@#******######@@@@@#**#@@@@WWWWWWW@@@@@@@@@##***+*+++++++++++++++++::++++:+:::::::::::::::++:::::...,,.,,,,,,,,,,,,..:*****************************+*
:+++++++*#@@#**##*****..,..:+##@@@W@@@WWWWWWW@@@W@@@#*******#####@@@@@#**#@@@@WWWWWWW@@@@@@@@@##****+++++*++++++++++++++++:+:::::::::::::::::++:::::.....,,,,,,,,,,,,,,..******************************+
:++**#######@@@##*###+..,..::+@@WW@@@WWWW@@WW@@@@##********#######@@@@#*##@@@@@WWWWWW@@@@@@@@@#*****+*+*+*+++++++++++++++++:::::::::::::::::::::::::....,,,,,,,,,,,,,,...:******************************
*#############***@@####*.:::+*#@@@@@@@@@@@#@WW@@@@@##*******#####@@@@##*#@@@@@@WWWWWW@@@@@W@@@@*****++++++++++++++++++:++++::::::::::::::::::+:::::.....,,,,,,,,,,,,,,,..:******************************
:+*#####*++:.....,.+#@@####++*#@@@@@#@@#@@@@WWW@WW@@#*******#####@@@@##**#@@@W@@WWWWW@@@@WW@@@@***+++++++++++++++++++++++:::::::::::..:...::::::::.....,,,,,,,,,,,,,,,,...******************************
,..:++..............:.+#@@@##**##@@@@@@@W@#@WWW@@@@####***#*#####@@@@@#**#@@@WW@WWWWWW@@@WWW@@@***+*+*++*++*+++++++++++++:::::::::::......:::::::::....,,,,,,,,,,,,,,,,...:********+********************
*###@###:,........:+*#####@@@@####++*++:......*@@@@@@@####**#####@@@@#***##@@@WWW@WWWW@@@WWWW@@**+++++++++++++++++++++++::::::::::::......:::::::......,,,,,,,,,,,,,,,,...:*****************************
##@########+:**##########*####@@@#@##:,,........,:#@@@@@@########@@@@##***#@@@WWWWWWWWW@@@WWWW@**++++**+*++++++++++++++:::::::::::..:....::+:::::......,,,,,,,,,,,,,,,,,..:*****************************
#@###**+::....:########*#**+:..,.+#@@###*.,,..,...,,,+#@@@@@####@@@@@##***#@@@WWW@WWWWWW@@WWW@@**++++++*++++++++++++:::::::::::::........:++:::::......,,,,,,,,,,,,,,,,,...+****************************
++:::...........,.###*+::,,,,,,,.,,.+#@@###*:,,,,,,,,,,,.*@@@#####@@@##****@@WWWW@WWWWW@W@@WW@@*+++++******+++++++:::::::::::::::........:++:::::......,,,,,,,,,,,,,,,,,,..:****************************
....:...........:+*##+,,.,,,,,,..,,,,,:*@W@@###+,,,,,,,,,,,,+#####@@@##***#@@@WWWWWWW@WWW@@WW@#*+++++****++++++++:+:::::::::::::.:....,,.:++::::.......,,.,,,,,,,,,,,,,,...:****************************
@*........:+*#######@###.,,,,,,,.:+*#####@@W@@@###*.,,,,,,,,.###@@@@@#****#@@@@@WWWWW@W@@W@@W@#*++++++*+*+++++++++:::::::::::::.......,,.+++::::.......,,,,,,,,,,,,,,,,,,..:+*************************+*
@@@#*+*##@@@@@@@@@###@###**+++*##############@@@W@###*+,,,,,,###@@@@@##**+*@@@@@@@@WW@@@@@@@@@@*++++*+*++++++++:++:::::::::::.........,,.+++::::.....,.,,,,,,,,,,,,,,,,,,,..:***************************
+::.::.*#@@@@@@@@####*+:.,,,,,:###@@########*+..,:*@@@#*#*,,,###@@@@@#***+*@@@@@#@@WW@@@@@@@@@##*++*****++++++++++:::::::::::........,,,.+++::::.....,,,,,,,,,,,,,,,,,,,,,...***************************
...::.::..*@@@@#*+:....,.,,.,,,,,:#####*+..,,,,,,,,,:*@@@#**###@@@@@@#**+**@@@@##@@@@@#@@@##@@#+*++****++++++++:::::::::::::.........,,,.+*+::::.......,,,,,,,,,,,,,,,,,,....***************************
.:........:+**.,.........,.,,,,,,..:+.,,,,,,,,,,,,,,,,,,:*@@@@@@@@@@@#**+**#@@@###@@@##*#@#####++*+***++*++++++::::::::::::::.........,,.:*:::::......,,,,,,,,,,,,,,,,,,,,,..+**************************
.:::::+*#@@@@@@#:,.......,,,..:+##@#####,,,,,,,,,,,,,::****#@@@@@@@@@#*****#@@####@@@@#**#**+**++******++++++++::::::::::.:..........,,,.:*+::::.......,.,,,,,,,,,,,,,,,,,...:**************************
:+*#@@@@@@@@@@@@@@*.,.,..:+*###############:,.,.:+**#****######@@@@@@#*****#@#########**+**+++*+++*****+++++++::::::::.::..:.......,,.,,.+++::::.......,,,,,,,,,,,,,,,,,,,,..:**************************
@@@@@@@@@@@@@@@@@##++:*####################*+++#***##*#####@@@@@@@@@@#***+*#@@#####****++++:+++++****+++++++::::::::.:...............,,,:+*::::......,.,,,,,,,,,,,,,,,,,,,,..:**************************
*@@@@@@@@@@@#*+::.......:*############*++:++**############@@@@@@@@@@##***+*#@####*****++*::::::++****+++++++::::::..:..............,.,,.:+*:::::.....,,.,,,,,,,,,,,,,,,,,,,,..*+************************
..:#W@@#*+:::..:.:.::.:....:#####*++++**###############@@@@@@@@######****+*###*#*****++++:::::++******+++++:::::::................,,,.,.:+*:::::.....,,,,,,,,,,,,,,,,,,,,,,,..**************************
.::+*#:.::::..:::::::::::::++**+**###################@@@@@###########*****#####****++++:::::::++*****+++++::::::.................,,,,...++++::::.....,.,,,,,,,,,,,,,,,,,,,,,..*************************+
#@@@@@@@+::::::::::+++++*#######################@####################*****###******+++::::::::++*****++++:::::::............,..,,,,,,,.:+++::::.......,,,,,,,,,,,,,,,,,,,,,,..**************************
@@@@@@@@@@#+:+++++*##################################################*****##*****+++++::::::::+*****+++++:::::::............,,.,,,,,,,.:+++:::::.....,,,,,,,,,,,,,,,,,,,,,,,..**************************
@@@@@@@@@@@@#####@###################################################****#*****++++::::::::::++*****++++::::::.............,,,,,,,,,,,.:+**:::::......,,.,,,,,,,,,,,,,,,,,,,,.**************************
@@@@@@@##*##*####################@@@########*##*#####################***##*****+++:+::::::::::*****++++++::::.:........,,,,,,,,,,,,,,..:+**+:::.......,,,,,,,,,,,,,,,,,,,,,,..**************************
@@###*#####@@@@@##@########@@@@@@#####**#*****#######################***#*****+++++::::::::::+*****+++++::::.........,,,,,,,,,,,,,,,,,.+++*++::.......,,,,,,,,,,,,,,,,,,,,,,..**************************
*######@@@@@@@@@#@#@#@@@@@@@########***#**#*#########################**##*****++++:::::::::::+******+++::::::........,,,,,,,,,,,,,,,,,.:++*:::::......,,,,,,,,,,,,,,,,,,,,,,.:**************************
#@@@@@@@@@@@@##@#@@@@@@@########**##*################################*##*****++++::::::::::::*****+++++::::.:........,,,,,,,,,,,,,,,,,.:++*+::::....,,,,,,,,,,,,,,,,,,,,,,,,.:**************************
#@@@@@@@@#@@@@@@@@@############*##**###################################*****+++++:::::::::::+*****+++++:::::.........,,,,,,,,,,,,,,,,,.:++*:::::...,.,,,,,,,,,,,,,,,,,,,,,,,.+**************************
@@@@@@@@@@@@@@@########################################################****++++::::::::.::::+****+++++:::::.........,,,,,,,,,,,,,,,,,,.:++*::::.....,,,,,,,,,,,,,,,,,,,,,,,,.+**************************
@@@@@@@@@#############################################################****+++++:::::::.:.:::+****++++::::::........,,,,,,,,,,,,,,,,,,,.:++*+::::....,,,,,,,,,,,,,,,,,,,,,,,..***************************
@@@@@@#############################*################################******++++::::::....::::*****++++::::::........,,,,,,,,,,,,,,,,,,,.:++*:::::....,,,,,,,,,,,,,,,,,,,,,,,.:***************************
################################*###################################****++++:+::::::....:::+*****++++::::::.....,,,,,,,,,,,,,,,,,,,,,,..++*+::::....,,,,,,,,,,,,,,,,,,,,,,,.:***************************
####################################*##############################*#***++++::::::::...:::::****++++::::::......,,,,,,,,,,,,,,,,,,,,,,,.++*+::::....,,,,,,,,,,,,,,,,,,,,,,..:***************************
*##########################*#######################################*****++++::::::.....:::::****++++::::::.......,,,,,,,,,,,,,,,,,,,,,,.:+*+::::....,,,,,,,,,,,,,,,,,,,,,,,.+***************************
###################################################################****+++:::::::......::::+****+++:::::::......,,,,,,,,,,,,,,,,,,,,,,,.:+*+::::....,,,,,,,,,,,,,,,,,,,,,,..*#**************************
##################################################################****+++::::::::......::::*****+++::::::.......,,,,,,,,,,,,,,,,,,,,,,,,:+*+:::::....,,,,,,,,,,,,,,,,,,,,,.:******#*********************
##################################################################***+++++:::::........::::****++++::::::.......,,,,,,,,,,,,,,,,,,,,,,,,:+*+::::.....,,,,,,,,,,,,,,,,,,,,,.+***##*#*********************
################################################################*****++++::::::......::::::***++++++:::::.......,,,,,,,,,,,,,,,,,,,,,,,,:+*+:::::...,,,,,,,,,,,,,,,,,,,,,..**#*#***#**#*****************
#################################################################***++++::::::........::::+***++++:+::::......,,,,,,,,,,,,,,,,,,,,,,,,,,.+*+::::.....,,,,,,,,,,,,,,,,,,,,.:****#**#*******#*************
*###############################################################****++++:::::..::....:::::+***+++++::::::.....,.,,,,,,,,,,,,,,,,,,,,,,,,.+*::::::....,,,,,,,,,,,,,,,,,,,,.+#*#*###*#***#******#*********
*###############################################################***++++::::::........:::::****++++::::::......,,,,,,,,,,,,,,,,,,,,,,,,,,.+*+:::::....,,,,,,,,,,,,,,,,,,,.:#WWW@##**##****##*************
*##############################################################****++++::::::........:::::#***++++:::::::.....,,.,,,,,,,,,,,,,,,,,,,,,,,.+*+:::......,,,,,,,,,,,,,,,,,,,.:@WWWWWWW#*#*#*#*#**#**********
*##############################################################***+++++::::::.......::::::**++++++::::::......,,,,,,,,,,,,,,,,,,,,,,,,,,,+*:::::.....,,,,,,,,,,,,,,,,,,,.+WWWWWWWWWWW@##*#*#**##********
*#########################################################**##***++++:::::::........:::::+**++++++:+:::::......,,,,,,,,,,,,,,,,,,,,,,,,,,+*+::::.....,,,,,,,,,,,,,,,,,,,.*@@@@WWWWWWWWWWW@#****#***#****
*#####################################################******###**++++::::::::......::::::****+++++++:::::.....,,,,,,,,,,,,,,,,,,,,,,,,,,,+*:::::....,,,,,,,,,,,,,,,,,,,,.##@@@@@@WWWWWWWWWWW@@***#**#**#
*#################################################****+++***###**+++++::::::........:::::****++++++::::::....,,,,,,,,,,,,,,,,,,,,,,,,,,,,++::::....,,,,,,,,,,,,,,,,,,,,,:***###@@@@@WWWWWWWWWWWW@#####**
*######################################***##*****++*++++*+*###**+++:+:::::::......:::::::#*+*+++++++:::::.....,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::::.:...,,,,,,,,,,,,,,,,,,,.:******####@@@WWWWWWWWWWWWWW@##*
*###****###############################*****++++++++*++*+**###**++++:::::::::...::::::::+**++*++++++:::::.....,,,,,,,,,,,,,,,,,,,,,,,,,,,++::::::....,,,,,,,,,,,,,,,,,,.***############@@@@WWWWWWWWWWWW@
+***+++++++*###########################***++++++++++++++***###**+++:+:::::.:..::::::::::+**+++++++++:::::.....,,,,,,,,,,,,,,,,,,,,,,,,,,,++:::::.....,,,,,,,,,,,,,,,,,,.*#######**#*#*####@@@@@WWWWWWWWW
++*+++++++++++***#####################*****++++++++++++++*####**+++:::::::::::..::::::::+***++++++++:::::.....,,,,,,,,,,,,,,,,,,,,,,,,,,,+++:::::....,,,,,,,,,,,,,,,,,.:*###*#*#*#*##*########@@@@@WWWWW
+*++++++++++++++++++*###########**+*********++++++++++++**###**+++++:::::::::::::::::::++**+++++++++::::::....,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::::.:...,,,,,,,,,,,,,,,,,,.+*##*#***##***############@@@@@WW
++++++++++++++++++++++*######**++*+++*+******++++++++++++*###***++++:::::::::::::::::::++**++++++++++:::::....,,,,,,,,,,,,,,,,,,,,,,,,,,,++:::::.....,,,,,,,,,,,,,,,,,.*#**#*#*#*##*####*############@@@
++++++++++++++++++++++++*#**+++*+++*++*+*****+++++++++++**@##**+++:+:::::::::::::::::::++***+++++++++::::::...,,,,,,,,,,,,,,,,,,,,,,,,,,,++::::::....,,,,,,,,,,,,,,,,.:*##*#*#**##*######*##############
+++++++++++++++++++++++++++++++++++++++++**++*+++++++++***@##**+++:+:::::::::::::::::::++***++++++++++::::....,,,,,,,,,,,,,,,,,,,,,,,,,,,++::::::...,,,,,,,,,,,,,,,,,.+##*#*#*######*##*####*#########*#
++++*++++++++++++++++++++++++++++++++++++****++*++++++***#@##**+++++::::::::::::::::::+++***+++++++++:+:::::..,,,,,,,,,,,,,,,,,,,,,,,,,,,*+:::::....,,,,,,,,,,,,,,,,..*###*####*###*##*###########*#**##
+++++++++++++++++++++++++++++++++++++++++++**++*++++++***####**+++:::::::::::::::::::::+***+*+++++++++++:::::...,,,,,,,,,,,,,,,,,,,,,,,,,*:::::::...,,,,,,,,,,,,,,,,.:*###*#*###*##*#######*###***#*#*##
++++*+++++++++++++++++++++++++++++++**+++++***+**+++++***####***++++::::::::::::::::::++*#*++++++++++++++:+::...,,,,,,,,,,,,,,,,,,,,,,,,.*+::::::...,,,,,,,,,,,,,,,,.:#######*###*####*###*###*#########
++++++++++++++++++++++++++++++++++++++++++++******+++++***###***+++++:::::::::::::::::++*#**+++++++++++++::::....,,,,,,,,,,,,,,,,,,,,,,,:++:::::....,,,,,,,,,,,,,,,..*######*#*##*#####*###*############
++++++++++++++++++++++++++++++++++++++++++++++****++++*+***###**+++++:::::::::::::::++++*#*+++++++++++++++::::...,,,,,,,,,,,,,,,,,,,,,,,++::::::...,,,,,,,,,,,,,,,,.:*###################*##*###########
+++++++++++++++++++++++++++++++++++++++++++++++***+++*+****###**++++:::::::::::::::++++**#*+*+++++++++++++++::....,,,,,,,,,,,,,,,,,,,,,,#*+:::::...,,,,,,,,,,,,,,,,.:###############*#**################
+**++++++++++++++++++++++++++++++++++++++++++++****+++++****#***+++:::+:::::::::::::+++***#*++**++++++*++++:::.....,,,,,,,,,,,,,,,,,,,,.#*++:::.....,,,,,,,,,,,,,,..*#####################*#############
+*+*++++++++++++++++++++++++***+++++++++++++++++***++****#####**++++++:+:::+:::::::+++*******++++***+****++:+:.....,,,,,,,,,,,,,,,,,,,,+#*:::::::..,,,,,,,,,,,,,,,.:*###########*##*#######*############
+*+++*++**+++++++++++++++**############*+++++++++*####*#######****+++++:+::+:::::++++********+++****+****++++::....,,,,,,,,,,,,,,,,,,,.*#*+:::::...,,,,,,,,,,,,,,..:#######**#*#**######################
+*+*+++++++*+*++++++++**###################***##@#@W#@@@#@@@##****+++++++++++:++:+++**#**+*#***+****+*****+++:::....,,,,,,,,,,,,,,,,,.+*#*++::::...,,,,,,,,,,,,,,,.+####################################
++*+*+****+++******############################+#**####@@@@@@###**+++++++++++++++++**#****+**++***+++******++::::...,,,,,,,,,,,,,,,,..**#+++::::....,,,,,,,,,,,,,.:*########################*###########
+*+***********#####@@###@###########################**##@@@@@####***++++++++++++++**###**++****+***++**#***+++:::....,,,,,,,,,,,,,,..++*#+:+::::...,,,,,,,,,,,,,..:##*##################################
++******######@#@@@@@#############################****####@W@@@@##****++++++++++*****#***+++*******+****#**+++::::....,,,,,,,,,,,,..:*+**+::+::...,,,,,,,,,,,,,,,.:*####################################
***###@@#@@@#@@@@@@@@@######@####@@@@@@##########*****#####@WW@@###******************@#*+++++**********##*++++::::....,,,,,,,,,,,..:++*#*+:::::....,,,,,,,,,,,,,,.*#####################################
###@@@@@@@@@@@@@@@@@@#@@##########@@@#############****######WWWW@##***#********#++++*##**+++++********##**+++++:::.....,,,,,,,,,..:+++*#*+:+::....,,,,,,,,,,,,,,.:*#####################################
#@@@@@@@@@@@@@@@@@@@#@#@#########@@@##############***#######WWWWWW@###*#####**++++++*##***++++*********##*+++++:::......,,,,,,...:+++****+:+:::...,,,,,,,,,,,,,,.:*#####################################
@@@@@@@@@@@@@@@@@@@##@##@@###@@@@@##########################@@WWWWW@##******++++++++**##***++++**********#**++:::::.....,......::++++*#*++:+::....,,,,,,,,,,,,,..+###############*###########*####*#####
@@@@@@@@@@@@@@@@@@@#####@@@@@@@@@@####@#####################@@@WWWWWW##+*****++++++++*##****++++*****#*******+++:::::........:::+++++#**++::::....,,,,,,,,,,,,,.:*##**#########*##################*#####
@@@@@@@@@@@@@@@@@W@@#@@@#@@@@@@@@@@##@###############*#******+#@@@@WW@@#*****+++++++++##***++++++#***********++++::::.....:::++++++****++:::.....,.,,,,,,,,,,,..:**##*##################################
@@@@@#@@@@@@@@@@@@@#@@@@#@@@@@###@@@@@@###############*******+*#@@@@W@@#****++++++++++*#*****+++++*#*******+*+++++:::::::::+++++++++#*++::::.....,,,,,,,,,,,,...+**##*#*##*###*##########*##############
@@@@@@@@@@@@@@@@@@@@@#@@@@@@########@@@@@@@###@@@#################@@@@@@#***++++++++++*##***+++++++************+++++::::++++++++++*#**++:::.....,,,,,,,,,......:*****#######*###########################
@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@#***++++++++++**#***++++++++***********+*+++++++++++++++++***+++:::......,,,,,,,......::******#*#**#######*######*##############
@@@@@#@@@@@@@@@@@@@@@@@@@@#@@@#####@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@####@@@#***+++++++++***@#**++++++++++***************+:+:+++++++**#*++++:::....,,,,,,,,.......:+*****#****##########*##############*####
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@#@@####@@#***+++++++++++*##**++++++++++++*********+++++++++++++*+****++::::.....,,,,,,,,.....:::+++++**#**####*##**##*##############*#*##
@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@#####@@#****+*++++++++**@#**++++++++++:++++++::::++++:+++++++++***+++:::....,.,,,,,,,....::::++++++++*##*##****#####################*##
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@#@@#@@@@@@@#######*****+++++++++**##***++++++++++:::::::::::::+++++++++****++++::::....,,,,,,,....:.:::++++++++++**#*#**#***######**#############
#@@@@@@@@@@#@##@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@##########@@@@@##***##****+++++++++++***#**+++++++++++:::+:::::::+++++++++++***++++::::.....,,,,,.,....:::+++++++++++++++***##*########***############
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@###########@@@@####*##*******++++++++***@#**+++++++++++::::::::::+++++++++++***+++::::....,,,,,,,.....::::+++++++++++++++++****#*###***###**#*########
@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@##@#############@@@#####*####***+++++++++****#@**+++++++++:+:+:::::+:++++++++++++**++++:::........,,,,....:::::+++++++++++++++++++++*#***#*#**#***#########
@@@@@@@#@@@@@@@@@@@@@@@#@@@@@@#@@@@@@@@@@@@#@@@##############@@@####**###*****+++++++++***#@#**++++++++++:++++::++:++++++++++*#*++++::::....,..,,,......:::::+++++++++++++++++++++++**####**##*#########
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##################@@####**#*###*****+++++++++**#@#**+*+++++++:+++:+:+:++++++++++++#**+++:::::.....,,,.......:::::::++++++++++++++++++++++++***#**############
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@#####################@@####*##***#*****++++++++****#@#******+++++:++++++:+++++++++++***++++::::......,,,,.....::::::::+++::+++++++++++++:+++++++**#**####**#**##
@@@@@@@@@@@@@@@@@@@@#@@@##@@@@@@@@@@#@@@@####################@#####***+++*+******+++++++***#@#*****++++++++++++++++++++++*+****++++::::.....,,,,,.....:::::::::+++++++++++:++:::++::+:+++++*#***########
@@@@@@@@@@@@@@@@@####@####@@@@@@@@@@@@@@@@#########################*++++++++****+++++++****#@#****++++++++++++++++++++++++****++++:::::.......,,,,....::::::::::+++++++++++:+:+++++:++++++:+++**########
#@@@@@@@@@@@@@@##@##@@####@@@@@@@@@@@@@@@@#######################**+++:+++++****++++++++***#@@#******++++++++++++++++++++*****++++::::......,,,..,...:::....::::++++++++++++++:+:+++++++++++++++*#######
###@#@@@@@@@@@@#@@#@#@@@@#@@@@@@@@@@@@##@#######################*++::+::++++***+*+++++++***#@@##******+*++++++++++++++*+*+*#**++++:::::......,,,,,....:.....::::+++++++:+++:+:+++++::+++++++++++:+##*###
@@#@#@@@@@@@@@#@@@@@@@@@@@@@@@@@@@##@####@@###################**+:::::::++++****+++++++*****#@###*******+++++++++++*+++******+++++::::......,,,,,,..........:::::++++:::++++:++++++++:++++++++++++++***#
#@@#@#@@@@@@@@##@@@@@@@#@@@@@@@#@#@@##@#####@#################*+:::::::::++*****+++++*++****#@##********+++++++++++++*****#**+++++::::........,,,,............::::+:::+:++++::++++:++++++++++++++++++++*
#@#@@#@@@@@@@@@#@@@@@@@@@@@@@@######@@###@###################*++::::::::++**+*****++++*+****#@###*********+++++*+++*********++++++::::.....,,.,,,...........:::::::::::+:++++:+:+:++++++++++++++++++++++
#@@@@@@@@@@@@@#@@@@@@@@@@@@@######@@@@@@@@@@@###@####***++++*++::::::::::+**+*****++++++*+**#@###**********+*+++++***********++++:::::.....,..,.,............:::::+::+::++++++::++++++++++++++++++::+:++
#@#@@@@@W@W@@@@@@@@@@@@@@@@##@##@@@@@####@@##*#******+++++++++:::::::::+++*+++***++++++*****#@###**#************************+++++::::..........,,.............:::::::++:+++++::+:++++++++++++:+:+:::+:++
##@@@@@@W@W@@@@@@@@@@@@@#@######@@##**************++++++++++++:+:+:::::++++++:*****+++++*+**#@###******#********+*******#***++++:::::.......................::::::::+:++++++++:::+++++++++++++::::::::++
#@#@@@@@W@@@@@@@@@@@@####@########****************+++++++++++++:++:+:++++++++:***+++++++****#@@###***##*****************#**++++++:::...........,...............::::::+:+:+++++::+++++++:+++++:+::+::::++
#@@#@@@@@@@@#@@@@@@@#@#@@####***#****************+++++++++++++++::+++:+++::++:*****+++++++***#@###*#***#***************#***+++++:::..........,,..............::::::::::+::++++::+:::::::++++++::::+::+++
###@@@@@@@@@#@@@@@@#@#######*****##***+*+*********++++++++++++++:+:++++++::++++***+*++++*+***#@##*#*##**#**************#**+++++:::::..........................:.::::::+::++++++:::::::::+++++++::::::::+
#@##***##@@@@@@@@@##**#***#*******##***+***********++++*++++++++++:+++++:::++++***++++++++***#@###*#*#**#*#***********##***+++++::.:.............................::::::++++++:+:::::::::++++++:::::++:++
###*******######***********************+***************+++++++++++++++++:::++++***+++++++*****@####***####*#**********#***+++++::::.............................:.:::+:++:::+::::::::::::++++++:::::+:+:
@##****+******##***************************************+++++++++++++++++::::+++***+*+++++++**#@######*######*********##****+++:::::..............................:::::::+:::::::::::::::+++++++:::::::::
@#*****+***++**#***************************************+++++++++++++++++::+:++++***+++++++++*#@####**########********#****++++::::................................:::::::::::+:::::::::::++++++:::::::::
##********+*+++****************************+**********+*++++++++++++++++++++++++***+++++++++**#####*#*####@@##*##***##***+++++::::...............................:::::::::::::::::::::::::++++++::::::::
#*******+***+++++*************++*********************+++++++*++++++++++++++++**+***++++++++***#@##*#***####@####****#****++++::::.................................::::::::::::::::::::::::++++++::::::::
****+*++*****++++++*******+*+*********************+*++++********+*+++++++++++******++++++++++*#@###*##*####@@###***##***+++++:::::................................::::::::::::::::::::::::+++++++:::::::
******+*****+++++*++***++**++********************++*+*+************++++++++++*******+++++++++**@##########@@########****++++::::::................................::::::::::::::::::::::::+++++++:::::::
************+*+++*+++++*************#*###@@##****+*+*++***********+***++*+++++*#****++++++++***#######*##########*##***+++++:::::.................................::++:::::::::::::::::::::++++++:::::::
***************+**+++++++*++******#@@#@@@@@#@####*+*************++++*********##@#***+++++++++**###############***##****++++:::::.................................::+*#+::::::::::::::::::::+++++++::::::
+**************+***++++++++*****###@####@@##########************************###@#***++++++++***#@#############**##*****++++:::::................................::**##*:::::::::::::::::::::++++++::::::
++************+*+**+++++++****##@#@#############@##@@##############@##*****####@#***+++++++++***@###########*#####****++++::::::..............................::*###@@#+::::::::::::::::::::++++++::::::
++*++********++******++++++**##@@##@###########################################@#***++++++++****@@########***#*##*****++++::::..............................::*####@###*::::::::::::::::::::+++++++:::::
+**+++**********+*****+++++**#@@@###@###################################@@#####@@***++++++++****@@#####*##*****#*****++++:::::............................:+*###########+::::::::::::::::::::++++++:::::
+*+************+*+****+++****#@#@@###@#################################@@#@#####@#**++++++++****#@@####*###***##****+++++:::::...........::.:.........::+**#############*::::::::::::::::::::+++++++::::
+++++++**********+***+*++****@@@######@###################@@@@#@@#####@@########@#**++++++++***#@#@########**##****++++++::::..........:::::::.:::::+++*##############@@#::::::::::::::::::::+++++++::::
+++++**++++*********+********##@####@#@@###############@@@@@##@######@@#########@#**++++++++***#####@@#########****+++++::::..........:::::::::++***####################@+::::::::::::::::::::+++++++:::
+++++*************+++**##****+**##@@@@################@@@@@@########@@############***+++++****#######@@@######****+*+++:::::.........::+:*+*++*+::###################@#@@*..:.::.:::::::::::::++++++++::
++++*+*****+*********#*#*****++**##@@@@@############@@@@@#@@######@@#####***####@#***+++++****##@@@@@WWWW@@##*****++++::::::........:+####*+*+:+:..#################@@#@@@+.......:::::::::::::++++++++:
++++*+*****+******************+***##@@@@@@##@#######@@@@@##@#####@####********##@#*****++*****##@@WWWWWWWWW##****+++++:::..........:+#@@@#*+::::+..################@#@@@@@+.......:::::::::::::+++++++++
++++**++++********************+**+**##@@@##@######@@@@@@@@@###@@####*******+***#@#***********###@@@WWWWWWW@#*****++++::::.........:+#@@@@#*+::+::+***################@@@@@+........::::::::::::::+++++++
+++++++++++++++++*****************+***#@##@#@@####@@@@@@@@@@#@##******+++++++**#**************##@@@WWW#@#@##****++++:::::........:+#@@@@@#*+:.:++++**###########@#@#@@@@@@*:......::::::::::::::::++++++
++++++++++++++++**********************+*#@#@@@@@@@@@@@@@@@@@##****++++++++++++****+++++*******###@@W@@@#@@#*****+++:::::.........+#@@@@@@##**+:++****+*###############@@@@#:......::::::::...:::::::++++
:++++++++++*++******************+*+++++**#@@@#@@#######@###*****++++:::::::++***+++++++**+****###@@@@@@@@@#****+++:::::.........:*@@@@@@@*+.##**+******####*******#####@@@@+......:::::::::...:::::::++:
:+++++++++++++++++++++++*****#**+**++++**###@#############****+++++::::::::+***+++++++++++****###@@@@@@#####***+++:::..........:*@@@@@@@#++.:+*+*+***+++::::::...::::*#@@@@+........::::::....::::::::::
.:::::+:++++++++++++++++++++**********#####*******####******+++++:::::::.::+***++::::+++++****###@@@@W@@###***+++:::::........:*@@@@@@@#*:..::**++++::::::.:.........::+@@@+.........:::::.:..:..:::::::
.:::::::+++++++++++++++++++******++*##********************+++++::::::.....:**++::::::++++++***###@@@WW@@###***+++::::........:+####*++*##*+:::++:::::::................::#@*.:........::::..........:..:
.::::::+++++++++++++++++++*****#*##******++++*********+++++++::::::::::::::::::..:::::+++++**#####@#@@@###**++++:::.........:+*+*++*++++*++:::::::::....................::#+..........:::...............
.::::::::++++++++++++++++++++*****++++++++++*******+++++++:::::::::.::+::.........:::::++++***####@@@#@##***++:::::.......::+##:++++*+++::::::::..............,,........:::+...........:::::............
...:::::::::++:++++++++++*******++:++::+++******+++++++++:::::::::::::::.,,,.....:::::::+++**#####@@#@###***++:::::.......:+@#****+++:::::::::................,..........::++..........::::.............
....:::::::::::+:+++++++**#***+++:::::++*****++++++++++:::::::+++:..,...,,,,...:::::::::++++**####@@#####***+::::.......::*@@#**+++:::::::...............,,,.,,,..........::+::.....,....::.............
,...:::::::::::::+++++++*#**+++:::::++******++++++++::::::::++:...,,,..........::::::::::+++**####@@####***++:::.......::*@@#*++:+::::::::...............,,,,............::::+:::....,.....::...........
,...:::::::::::::++++++#**+++::::::+*****+++++++:+:::::::++:...,.....:........::::...:::++++**###@@@##*****++:::......:+*##*++::::::::...............,.,,,,,,............::::+::::...,,....:...........,
,..::::::::::::::++++****+++:::::+*****+++++++++:::::::::**:...::+++::::..:+:++:.....::+++++*####@@###**+++++:::....::+*#*++:::::................,..,,.,.,,,,............:::.:::::::..,,,...:...,.,,..,,
,..::::::::::::+++++****+++::::+*****+++++:+++::::::::::::**++:::..........+*+::.....::+::++**###@##***++:::::::...::+**++:::::................,,.,,.,,,,,,...............::...:::::::..,,....:..,,,..,,
,:.::::::::::++++++****+++:::+****+++++++++:::::::::::::.::..........,,...:*+::......:+::::+*###@###***++*+:....::::+**+::::.............,.,,,,,,,,,,,.,,,,,.............:::.,...:::::..,,,,.::..,,,...,
..:.::::::::++++++****++::::+****+++++++++:+::::::::::::..............,..:++::......:::::::+*##@@##***+:::...::...:*+++::::.............,..,,,.,,,,,,,,,,,,,............:::::..,....:::..,,,,::..,,,...,
..:::::::::::::++****++:::+****++++++++++::::::::::.:................,..:+++::.,,...:::::::+*#@@###**++:::.,,,,,:++++::::............,.,...,,,,,,,,,,,,,,,,.............::::....,,,,......,,.::..,,,,..,
.:::::::::::::++****+++++***+*+++++:++::::::::::::::....................+*++::.....::.::::++*######**++::..,,,,,.+++::::...........,,.,,,,,,,,,,,,,,,,,,,,,,............::::.::...,,,,......:::..,,,...,
,.::::::::::+++*##*+++++***++++++++:::::::::::::::.................,,..+*+::...:::::...::++**#####**++::...,,,.:++::::.............,,,,,,,,,,,,,,,,,,,,,,,,,.........:..::::::::....,,,,,....:...,,,...,
...::::::+++++###**+++****+++++++:::::::::::::::...................,,.:*+:...::**+::..:::+**######**+:::.....:++++::::.........,.,,,,,,,,,,,,,,,,,,,,,,,,,,,..........::::::::+::::...,,.,.......,,,....
.:..:::::+++*###**+****+++++++++:::::::::::::::..........,.....,,,,,.:++:.,,...**::...:+++*######*++:::....::+++:::::.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......::::::::.::::::::..,.,,,.....,,,....
....:::::+++###*******++++++++:+:::::::::::::::..........,...,,,,,,,.+++:.,..,.*+:...::+*+#######*+:::....:++++::::::.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........:::::::::::::::::::.,,,,,....,,....
,..:::::+++*##********++++++++++::::::::::::.............,...,,,,,,,:++:.,..,.:*+:..::+***#####**+:::.:.:++++:::::.........,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,........::::::::.::::::..::::..,,,,,,.,....,
.::::::++++###*****++++++++++:+::::::::.::.::................,,,,,,.+*+:...,,.+*:::.:+#**######*+:::::::+++++:::::.........,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,.,........::::::::...:.::.....:::.,,,,,,.....,
.::+++++++###*#***+*+++++++++:::::::::::..........,.,.,,,,,,,,,,,,,:++::...,,:*+:::::*#*######*+::::::+*++++::::......,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............::::::::...:::.....,..::..,,,,,,..,,
.::+++++++#####*****+++++++:+:::::::::.............,,,,,.,,,,,,,,,:++:...,,,,+*+:+::+##*####*+::..:::+*+++::::::..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........::::::::....::.::...,,.::..,,,,,.,,,
.:+++++**####******++++++++:::::::::::.........,..,..,,,,,,,,,,,,.++::...,,.:*++:+++*#*####*+:....:+**+++::::::..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.........::::::::..,....:::+:+:::+::.,,,,,,,,
.+:+++**####*********+++++++:::::::::..........,...,,,,,,,,,,,,,.:::....,,,.+*+::+++*#####*+:.,,.:****+++::::::.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,..........::::::::..,,,,..++++++++:++:.,,,,,,,
:+++++*#####********++++++::::::::::..........,.,,,.,,,,,,,,,,,..+:....,,..:*+::::+*#####*+:....+****+++::::::........,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,..,.........:::::::.::..,,..:++++++:::::::,,,,,,
:+++++*####*********++++:+::::::::.........,..,,,,,,,,,,,,,,,,,,++.,,:,.,..+++:::++*@###*+::..:+*****+++:::::.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.....,......:.:::::::::.:::..:+++++++::::::::,,,,,
:+++**####**********++++::::::...........,.,,,,.,.,,,,,,,,,,,,,,++.,..,...:+++::++*#####*:..:+*****++++:::::........,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,...............::::::::....::+++++++::::::::::::,,,,
:+*+**#####*********+++:::::::.............,,.,,,,,,,,,,,,,,,,,,.++..,....:*+++++**####*+:..+*******+++::::.........,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,.....,......::::::++:..,.:+*+++++:::::::::::::.,,
+****########******+++::::::............,..,,,,,,,,,,,,,,,,,,,,,,,.,.....:+**++***#####*+:.+*#***+++++:::::.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,.,..........::::::+:...,..+*++++::::::::::::::::,
+****#########*****++::::::..............,,,,,,,,,,,,,,,,,,,,,,,,.,.....:+********#####*+:+*#****++++:::::...........,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,,....,,.........:::::++::.....+*++++:::::::::::::::::
+***##########****+++::::::....,..,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....:::+****#**###@#**++*##****+++:::::.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.,.,............:::::::++::::::+++++:::::::::::::::::::
+***##########****++::::::......,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,...:::+****##*##@###*++*##***++++::::::..........,,,,,,,,,,,,,,,,,,,,,,,,,,..,.....,...........::::::+++:..::++++:::::::::::::::::::::
++*##########*#**++:::::.......,..,,,,,,,,,,,,,,,,,,,,,,,,,.,,,......::+*****##*##@@##*+*##****+++:::::.:.........,,,,,,,,,,,,,,,,,,,,,,,,.,.,,..,.,.............:::::+++:...,.:+++:::::::::::::::::::::
+**#########*#***++:::::.....,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......:::+****#####@@@#***###***+++:::::...........,..,,,,,,,,,,,,,,,,,,,,,,,.,,.,.,.,,...........::::::+++::.:+:++:::::::::::::::::::::::
+**##########****+::::....,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......::::+**+*#####@@@@**####***++++:::::.............,.,,,,,,,,,,,,,,,,,,,,,,,,,,,.,..............:::::+**+:::++++::::::::::::::::::::::::
+*##########****++::::......,.,,,,,,,,,,,,,,,,,,,,,,,,.,.,........::::+****#####@@@#*###*****++++:::::::............,,,,,,,,,,,,,,,,,,,,,,,,,,.,,..............:::::+****+++++::::::::+:+:::::::::::::::
+*###########**++::::....,..,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,......:::::+*#**#####@@@@#####***++++::::::::..........,,,,.,,,,,,,,,,,,,,,,,,,,,,.,,.,..............::::++++++:::::::::::::::::::::::::::::::
*############**++::::..,.,.,.,,,,,,,,,,,,,,,,,,,,,,,,..........:::::++*#########@#@####***+++++:::::::::........,.,,,,,,,,,,,,,,,,,,,,,,,,,..,..............::::::::::::::::::::::::::::::::::::::::::::
+###########***+::::......,,,,,,,,,,,,,,,,,,,,,,,,.....,......::::::++**##############*****+++:::::::............,,,,,,,,,,,,,,,,,,,,,,,,,,,,............::::::::::::::::::::::::::::::::.::::::.:::::::
*###########**+++:::.....,,,,,,,,,,,,,,,,,.,,,,,,...........:::::::++***#########@@##*****+++++::::::............,,,,,,,,,,,,,,,,,,,,,,,,,,...........::::::::::::::::::::..:...::....:....:::::..::::::
*##########**+++::::...,,,,,,,,,,,,,,,,,,,,,,,,,..,.......::::::::+++***#########@@#*****+++++::::::...........,.,,,,,,,,,,,,,,,,,,,,,,,,.........::::::::::::::::::::...:..................::::...:::::
*##########***+++:::......,,,,,,,,,,,,,,,,,,....,........:::::::++++***#########@###***+++++:::::::..::..........,,,,,,,,,,,,,,,,,,,,,,,,....:::::::::::::::::::::...:.......................:.....:::::
###########**+++::::....,,,,,,,.,,.,,,,,,,,..,.,.,......::::::+++++***##########@##****+++++::::::::............,,,,,,,,,,,,,,,,,,,,,,,....:::::::::::::::::::.......................,............::::::