+@#####*+::+*##*##@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@#***+++**###****######***+++++++++:::::::::::::::::::::::++++++++++********+++++::::::::::+++++++++++++++++++++++++++++++++++++++++++++*******************#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*++:::::::::..............:::::::::::::++++++++++++++***********##**++#@@@@@@@@@@WWWW@WWWWWWW
+@#####*+::+*####@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@#***++++**###****######***++++++++++::::::::::::::::::::::++++++++++********+++++:::::::::::++++++++++++++++++++++++++++++++++++++++++++++******************#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++:::::::::.......:....::::::::::::::::+++++++++++++************#**++*@@@@@@@@@@WWWWWWWWWWWW
+@#####*:::+*####@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@#**+++++**###****######****+++++++++:::::::::::::::::::::::++++++++++********+++::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++******************######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@*+:::::::::............:::::::::::::::::+++++++++++++***************+*@@@@@@@@@WWWWWWWWWWWWW
+@####*+:::+*###@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@#**++++++**###****####******+++++++++:::::::::::::::::::::::++++++++++********++++::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++******************####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@#++::::::::............::::::::::::::::::++++++++++++***************++#@@@@WWWWWWWWWWWWWWWWW
+@####*+:::+*###@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@#**++++++**###****###*******++++++++++::::::::::::::::::::::++++++++++********++++++::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++******************###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+::::::::.............:::::::::::::::::+++++++++++++*********#****++*@@WWWWWWWWWWWWWWWWWWW
+@####*+:::+*##@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWW@#****+++++**###****###**+****++++++++++::::::::::::::::::::::+++++++++++*******+++++++::::::::::++++++++++++++++++++++++++++++++++++++++++++++++*******************##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+:::::::..............:::::::::::::::::::+++++++++++**********#***++*@@WWWWWWWWWWWWWWWWWWW
:#####*+:::+**#@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWW@#****+++++**###****##**+++***++++++++++:::::::::::::::::::::::++++++++++*******+++++++::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++*******************#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*+::::::::.............:::::::::::::::::++++++++++++***************++#@WWWWWWWWWWWWWWWWWWW
:#####*+:::+**##@@@@@@@@@@@@@@@@@W@WWWWWWWWWWWWWWWWWWWWWWWWWWW@##****++++**###****##*++++***++++++++++:::::::::::::::::::::::++++++++++*******++++:+++:::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++*****************#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+::::::::.............:::::::::::::::::+++++++++++++**************++*@WWWWWWWWWWWWWWWWWWW
:#**##*+:::+**###@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWW@###********####****##*++::+**++++++++++:::::::::::::::::::::::++++++++++*******++++++++::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++****************#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+:::::::::.............::::::::::::::+::+++++++++++++*************++*@WWWWWWWWWWWWWWWWWWW
:#*****+:::+**##@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWW@@####*******####****##*+:::+***+++++++++:::::::::::::::::::::::+++++++++********+++++++:::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++*****************#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*+:::::::::::.......::::::::::::::::::::+++++++++++++**************++#@WWWWWWWWWWWWWWWWWW
:#*****+:::+*####@@@##@@@@@@@@@WW@WWWWWWWWWWWWWWWWWWWWWWWWWWW@@####*******####****##*+:::+***+++++++++::::::::::::::::::::::::++++++++********+++:+++::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++******************#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@#+:::::::::::.........:::::::::::::::::::+++++++++++++*************++*@WWWWWWWWWWWWWWWWWW
:******+:::++*+********####@@@@WW@WWWWWWWWWWWWWWWWWWWWWWWWWWW@@####*******####****##*+:::+***+++++++++::::::::::::::::::::::::++++++++*********++++++::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++******************#@@@@@@@##@@@@@@@@@@@##@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*::::::::::....:....:::::::::::::::::::::+++++++++++++************++*@WWWWWWWWWWWWWWWWWW
:******+:::+:::::::::::++****###@@@@WWWWWWWWWWWWWWWWWWWWWWWW@@@####*******####****##*+:::+***+++++++++:::::::::::::::::::::::::+++++++*********++++++:::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++*****************#@@@@@####@@@@@@@@@@##@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+:::::::::....:::..:::::::::::::::::::::+++++++++++++************+++#WWWWWWWWWWWWWWWWWW
:*+****++++:...:::::::::::++++***##@@@@WWWWWWWWWWWWWWWWWWWWW@@#####*******####****##*++::+***+++++++++:::::::::::::::::::::::::++++++++********++::++::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++*****************#@@@@####@@@@##@@@@#@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+:::::::::......:...::::::::::::::::::::::+++++++++++++**********+++#@WWWWWWWWWWWWWWWWW
:*++****++:...::::....:::::++++++***###@@WWWWWWWWWWWWWWWWWW@@@###*********####****##**++++***++++++++:::::::::::::::::::::::::::++++++++*******++:::::::::::.:::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++***************##@@@####@@@@##@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++::::::::::...........:::::::::::::::::::++++++++++++************++*@WWWWWWWWWWWWWWWWW
:*+++****+:...........::::::++++++****###@@@WWWWWWWWWWWWWW@@#####*********####****###**+++***++++++++:::::::::::::::::::::::::::++++++++*******++::::::::::....:::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++****************##@#####@@@###@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+::::::::::.........:::::::::::::::::::::++++++++++++************+++#WWWWWWWWWWWWWWWWW
:*++++*+++:............:::::++++++******###@@@WWWWWWWWWWWW@######*********####****####*******+++++++:::::::::::::::::::::..:::::++++++++*******++:::::::::.....:::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++***************######@@@@##@@@###@@@@@@@@###@@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@#+::::::::::::.......::::::::::::::::::+++++++++++++++************+++*@WWWWWWWWWWWWWWWW
:*++++++::.............:::::++++++********###@@WWWWWWWWWW@#######*********###*****#####*******+++++++::::::::::::::::::.....:::::++++++++******++:::::::::.....::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++**************#####@@@@##@@@##@@@@@@@@@***@@@@WWWWWW@@@@@@@@@@@@@@@@@@@@@@*:::::::::::.........:::::::::::::::::++++++++++++++**************++*@WWWWWWWWWWWWWWWW
:#*+++++:..............:::::+++++**********####@@WWWWWWWW@#######*********###*****########****++++++::::::::::::::::........:::::++++++++******++:::::::::.....:::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++*************####@@@##@@@@##@@@@@@@@#***#@@@WWWWWWW@@@@@@@@@@@@@@@@@@@@@*+:::::::::.........::::::::::::::::::+++++++++++++++*************+++#WWWWWWWWWWWWWWWW
:#***++::.............::::::+++++***********####@@WWWWWWW@########********###*****#######*****++++++::::::::::::::..........:::::++++++++******++:::::::::.....::::::::::::::::::::++++++++++++++::::::::::+++++++++++++++++++++++*************###@@@##@@@###@@@@@@@@#***#@@@@WWWWWWWWW@@@@@@@@@@@@@@@@@@#+:::::::::........::::::::::::::::::::+++++++++++++++************+++#@WWWWWWWWWWWWWWW
:#****+::.............::::::++++************#####@@WWWWWW@#######*********###*****#########***+++++::::::::::::::...........::::::+++++++******++::::::::......::::::::::::::::::::::++++++++:::::::::::::::::::::++++++++++++++++++************##@@##@@@@###@@@@@@@@#***@@@@@@@@@WWW@@@@@@@@@@@@@@@@@@@@@*::::::::::::..::::::::::::::::::::::::+++++++++++++++************++*@WWWWWWWWWWWWWWW
:*****++:.............:::::+++++*************#####@@WWWW@#*#####**********###*****##########**+++++::::::::::::::...........::::::++++++++*****++::::::::.......:::::::::::::::::::::::++:::::::::::::::::::::::::::::::+++++++++++++++**********#@@##@@@###@@@@#@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+::::::::::::::::::::::::::::::::::::::++++++++++++++************+++@WWWWWWWWWWWWWWW
:******+:.............:::::+++++*************######@@WWW@#*#####**********###*****##########**+++++::::::::::::::............::::::+++++++*****++:::::::.........:::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::+++++++++******#####@@@#*#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+::::::::::::::::::::::::::::::::::::::::++++++++++++************+++#@WWWWWWWWWWWWWW
:******+:......,......:::::+++++************#######@@WW@@#**####**********###*****###########*+++++:::::::::::::.............::::::++++++++***+++::::::..........:...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++****####@@@**#@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*:::::::::::::::::::::::::::::::::::::::++++++++++++++***********+++*@WWWWWWWWWWWWWW
:******+.....,,.......::::++++++***********#########@@W@##**######********###*****########@##*++++:::::::::::::...............::::::++++++++**+++:::::..............:::::::::::::::::::::::::::::::::::..............................:::::::::++++***#@@@**#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+::::::::::::::::::::::::::::::::::::::::++++++++++++************++*@WWWWWWWWWWWWWW
:****#*+.....,,......:::::+++++************#########@@W@#**#######********###*****######@@@@#**+++:::::::::::::................:::::+++++++++++++:::...............::::::::::::::::::::::::::::.........................................::::::::::+++*###**#@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+::::::::::::::::::::::::::::::::::::::::+++++++++++++*++******+*+++#WWWWWWWWWWWWWW
:**####+.,...,,......:::::+++++**********###########@WW@#**#######********###*****#####@@@@@#**+++::::::::::::::...............:::::::++++++++++:::................:::::::::::::::::::::::..................................................:::::::::+++***#@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+::::::::::::::::::::::::::::::::::::::++++++++++++++********++++++#@WWWWWWWWWWWWW
:#*####:.,.,.........:::::++++***********###########@W@##*########********###*****###@@@@@@@@#*+++::::::::::::::................::::::::+++++++:::.............................::..............................................................:::::::::+++*#@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+::::::::::::::::::::::::::::::::::::::+++++++++++++++***+**+++++++*@WWWWWWWWWWWWW
:###@@*:.,,,,........::::+++++***********##########@@@@##*######*#********###*****###@@@@@@@@#*++::::::::::::::..................::::::::::::::::...............................................,,,,,,,.,.......................................::::::::::+++*##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*+:::::::::::::::::::::::::::::::::::::++++++++++++++++****+++++++++#WWWWWWWWWWWWW
:###@#+.,.,,,.,.....:::::++++************##########@@@##########*#********###****####@@@@@@@@#*++::::::::::::..........,,.........::::::::::::::....................................,,,,,,.,,,,,,,,,,,,,,,,,,.,,,,...............................::::::::::::++**#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+::::::::::::::::::::::::::::::::::::::++++++++++++++++***+++++++++#WWWWWWWWWWWWW
:@@@@#+....,,.......::::++++*************##########@@###########**********###****####@@@@@@@@#*++::::::::::::..........,,,,........::::::::::::...........,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................::::::::::::::+**#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++::::::::::::::::::::::::::::::::::::::+++++++++++++++***+++++++++*@WWWWWWWWWWWW
+@@@@*:....,,,,.....:::+++++*************#######################**********###****####@@@@@@@@#*++:::::::::::..........,,,,,..........:::::::..........,,,,,,,,,..,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,..................................::::::::::::::++++*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*++::::::::::::::::::::::::::::::::::::::+++++++++++++++**+++++++++*@WWWWWWWWWWWW
+@@@#*....,,,,,....::::+++++************########################**********###****####@@@@@@@@#*++:::::::::::..........,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,...................................::::::::::::::++++**#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++:::::::::::::::::::::::::::::::::::::++++++++++++++++*++++++++++#WWWWWWWWWWWW
+@@##+....,,,,.,..::::++++++************#######################***********###****####@@@@@@@@@*++:::::::::::.........,,,,,,,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................:::::::::::::++++*##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*++:::::::::::::::::::::::::::::::::::::+++++++++++++++++*+++++++++*WWWWWWWWWWWW
+@##*:....,,,,,...::::+++++*************########################**********###****####@@@@@@@@@*+:::::::::::.........,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................:::::::::::::+++++*##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++::::::::::::::::::::::::::::::::::::+++++++++++++++*++++++++*++*@WWWWWWWWWWW
:@##*:.,.,,,,,...::::+++++************#*##########@#############*********####****####@@@@@@@@#*+::::::::::..........,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................::::::::::::::+++++*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*+++:::::::::::::::::::::::::::::::::::+++++++++++++****+++++++*+++@WWWWWWWWWWW
+@##*:,,,,,,,,...::::+++++*************###########@##########*##*********####****####@@@@@@@@@*+::::::::...........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................................:::::::::::::::+++++*##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+++::::::::::::::::::::::::::::::::::::+++++++++++++***+++++++++++#WWWWWWWWWWW
:@##+.,.,,,,,...:::::++++*************#####################***##*#*******####****####@@@@@@@@@*+::::::.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................................:..:::::::::::::++++++*##@@@@@@@@@@@@@W@@@@@@@@@@@@@@@@@#++++:::::::::::::::::::::::::::::::::::++++++++++++++****+++++++++#@WWWWWWWWWW
:@##+.,.,,,,,..:::::+++++*************#####################***##*********####****####@@@@@@@@@*+::::::............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................::::::::::::::+++++*##@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@@*+++:::::::::::::::::::::::::::::::::::++++++++++++++****+++++++++*@WWWWWWWWWW
:##*:.,.,,,,...:::::+++++*************###################*#**###*********####****####@@@@@@@@#*+:::::.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................:::::::::::::::++++++*#@@@@@@@@@@WWW@@@@@@@@@@@@@@@@@#+++:::::::::::::::::::::::::::::::::::++++++++++++++*****+++++++:+@WWWWWWWWWW
:#**:...,,,,...::::++++++**************##################****###********##@##****####@@@@@@@@#*::::::.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................::::::::::::::++++++*##@@@@@@@@WWW@@@@@@@@W@@@@@@@@#*+++::::::::::::::::::::::::::::::::::++++++++++++++*****+++++++++#WWWWWWWWWW
:#*+...,,,,....::::+++++**************###################****####******###@##****####@@@@@@@@#+:::::.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.............................................:::::::::::::::+++++++*##@@@@@@@WWW@@@@@@@@W@@@@@@@@@#++++::::::::::::::::::::::::::::::::::++++++++++++++****+++++++++#WWWWWWWWWW
:#*:....,,,...::::+++++***************###################***#####***######@##****###@@@@@@@@@#+:::...............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,............................................::::::::::::::::+++++++++*#@@@@@@@WW@@@@@@@@W@@@@@@@@@#*+++::::::::::::::::::::::::::::::::::++++++++++++++****+++++++++*@WWWWWWWWW
:#+:...,,,....::::+++++**************####################***#################****###@@@@@@@@@*::::................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,...............................................:::::::::::::::::+++++++++*#@@@@@@WWW@@@@@WWWW@@@@@@@@@*+++:::::::::::::::::::::::::::::::::+++++++++++++++*****++++++++*@WWWWWWWWW
:*+:...,,,...::::++++++**************################***#**##################****###@@@@@@@@#*::::...............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,...........................................::::::::::::::::::::+++++++++*#@@@@@WWWW@@@@WWWW@@@@@@@@@#+++:::::::::::::::::::::::::::::::::++++++++++++++++***+++++++++*@WWWWWWWWW
:*+....,,....::::+++++***************###############****###############*#####****####@@@@@@@#+:::................,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................::::::::::::::::::::++++++++++*##@@@WWWWW@WWWWWW@@@@@@@@@@*+++::::::::::::::::::::::::::::::::::++++++++++++++****+++++++++#WWWWWWWWW
:*:...,,,....::::+++++**************##########@#####***###############**#####****####@@@@@@@*+:::................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................::::::::::::::::::::+:+++++++++*##@WW@WWWWWWWWWWWW@@@@@@W@#++++:::::::::::::::::::::::::::::::::+++++++++++++++++*+++++++++#WWWWWWWWW
:*:...,,,....:::++++++*************##########@@#####****#############***#####***####@@@@@@@@*:::...................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................:::::::::::::::::::::::++++++++++**#@W@@WWWWWWWWWWWW@@@@@@@#*+++:::::::::::::::::::::::::::::::::+++++++++++++++++*++++++++:*@WWWWWWWW
:+:...,,....::::+++++**************#########@@@###********############**#####****###@@@@@@@#+:::..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................:..:::::::::::::::::::::::::+++++++++**#@W@WWWWWWWWWWWWW@@@@@@@*++++::::::::::::::::::::::::::::::::++++++++++++++**+**+++++++:*@WWWWWWWW
:+....,.....:::++++++*************##########@@@###*********###########***####***##@@@@@@@@@*+:...................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................................::::::::::::::::::::::::::::+++++++++++**#@WWWWW@WWWWWWWW@@@@@@@#*++++::::::::::::::::::::::::::::::::+++++++++++++*****+++++++:+@WWWWWWWW
:+...,,....::::+++++**************#########@@@@###*********####@@@####***####***##@@@@@@@@#+:..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,.,,..............................................:::::::::::::::::::::::::::++++++++++**#@WWWWWWWWWWWWWW@@@@@@#*+++++:::::::::::::::::::::::::::::::+++++++++++++****++++++++:+#WWWWWWWW
.+..,,,....:::+++++***************#########@@@######*****#####@@@@@###***####***#@@@@@@@@@#+:............,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................::::::::::::::::::::::::::+++++++++++++**#@WWWWWWWWWWWWW@@@@@@@#+++++:::::::::::::::::::::::::::::::++++++++++++++****+++++++++#WWWWWWWW
.:..,,,...::::+++++**************#########@@@@#######****#####@@@@####**#####***#@@@@@@@@@*:.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................:..::::::::::::::::::::::::::++++++++++++++**#@WWWWWWWWWW@@@@@@@@@@*++++:::::::::::::::::::::::::::::::++++++++++++++****+++++++++*@WWWWWWW
.:..,,,...:::++++++*************############@####*###****#####@@@@#####*#####***###@@@@@@#+:...........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,.......................................::::::.:.::::::::::::::::::::::::+++++++++++++****#@WWWWWWWW@@@@@@@@@@@#*+++::::::::::::::::::::::::::::::::+++++++++++++****++++++++:*@WWWWWWW
....,,....:::++++++**************########@#######**##****#######@@@##########****###@@@@@*::.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................:::::::::.:::::::::::::::::::::::+++++++++++++++****@@WW@@WWW@@@@@@@@@@W@*++++:::::::::::::::::::::::::::::::++++++++++++++***+++++++++*@WWWWWWW
,..,,,....:::+++++***************################****##########@@@@@#########*****##@@@@#+:.........,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.............................................:::::::::::::::::::::::::::::::++++++++++++++++****@@W@@WWW@@@@@@@@@@W@#++++:::::::::::::::::::::::::::::::+++++++++++++*****+++++++++#WWWWWWW
,.,,.....::::+++++**************###########@####******#########@@@@@####*####*****###@@@*:.........,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,.............................................:::::::::::::::::::::::::::::::+++++++++++++++++****@WWWWWW@@@@@@@@@@@W@*++++++::::::::::::::::::::::::::::++++++++++++******+++++++++#@WWWWWW
,........:::+++++***************###########@###********#########@@@####**####****####@@#+:.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,..,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,............................................::::::::::::::::::::::::::::::::++++++++++++++++++***#@WWWWW@@@@@@@@@@@W@#*++++++::::::::::::::::::::::::::::++++++++++********++++++++*@WWWWWW
,........:::+++++***************#########@@@###********################**####****####@@#+........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,...........................................:::::::::::::::::::::::::::::+:::++++++++++++++++++***#@W@@@@@@@@@@@@@@W@@*++++++::::::::::::::::::::::::::::+++++++++++++*****++++++++*@WWWWWW
,.,,,...:::+++++***************#########@@@@@####******###############***####***#####@#+:.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................,,,,,,,,,,,,,,,,,,,,,,,,,,,......,.......................................::::.:::::::::::::::::::::::::::::++++++++++++++++++++++****#@@@@@@WW@@@@@@@@W@#*+++++:::::::::::::::::::::::::::++++++++++++++******++++++++@WWWWWW
,.,,,...:::++++****************#######@@@@@@@#####*****###############***####***#######+......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........:::.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................:::::::::::::::::::::::::::::::::::++++++++++++++++++++++****#@@@@WWWWW@@@@@@WW@*++++++::::::::::::::::::::::::::++++++++++++++******++++++++#WWWWWW
,.,,,..:::+++++****************########@@@@@########***###############***####***######+:.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........:::::::..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................:::......:::::::::::::::::::::::::::::::::::++++++++++++++++++++++*****#@WWWWWWWWWWWWWWWW#*+++++++:::::::::::::::::::::::::+++++++++++++*******++++:::#@WWWWW
,.,,...:::++++*****************######@#@@@@###########*###############***####***######+:....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........::::::::::::............,,,,,,,,,,,,,,,,,,,,,..,,,,....................................:...:....::::::::::::::::::::::::::::::::::+++++++++++++++++++++++*****#@WWWWWWWWWWWWWWWW@#+++++++:::::::::::::::::::::::::++++++++++++++******++++:::*@WWWWW
,.,,...:::++++****************######@@@@@@############################***####***###@#*:...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........:::::::::::::::...........,,,,,,,,,,,,,,,,,,,,,,.,,,,....................................:...::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++*+****#@WWWWWWWWWWWW@WWW#*++++++::::::::::::::::::::::::::+++++++++++++******++++++:*@WWWWW
,.,,..:::+++++****************######@@@@@@############################***####***#####+:..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........:::::::::::+::::...........,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................::...:::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++****#@WWWWWWW@@@@@@@W@#*++++++::::::::::::::::::::::::++++++++++++++*******+++++:+@WWWWW
,.,...:::++++****************##########@@#####################@########*#####***####+:..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........::::::::+++++++::::.........,,,,,,,,,,,,,,,,,,,,,,,,,,....................................::::..::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++****@@WWWWWW@@@@@@@W@#**++++++:::::::::::::::::::::::++++++++++++++*******+++++:+#WWWWW
,.,...::++++****************########**########****##########@@@#######***####***###*+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........:::::::++++++++::::.........,,,,,,,,,,,,,,,,,,,,,,,,,,...................................:::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++****#@WWWWWW@@@@@@@WW@#*+++++++:::::::::::::::::::::++:++++++++++++********++++::#WWWWW
,....:::++++****************########***########***#########@@@########***####***###+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........:::::::++++++++++::::........,,,,,,,,,,,,,,,,,,,,,,,,,...,...............................::...::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++****#@WWW@@@@@@@@@WW@#**+++++++:::::::::::::::::::::++++++++++++++********+++++:*@WWWW
,....:::++++****************########***##########*#########@@##**#####***####*****+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........::::::+++++++++++::.::........,,,,,,,,,,,,,,,,,,,,,,,,..,...........................::::::::.:::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++****@@W@@W@@@@@WWWWW@#*++++++++:::::::::::::::::::::++++++++++++*********++++++*@WWWW
,....::++++***************########@#######################@@##***#####***###*****+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........:::::::+++++++***++::::........,,,,,,,,,,,,,,,,,,,,,.,,,............................::..::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++****#@WWWW@@@@@@WWWW@@**+++++++:::::::::::::::::::::++++++++++++**********++++++#WWWW
,...:::++++***************########@@@########**#***##########****####*****##****:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........:::::::::+++++++***++::::.........,,,,,,,,,,,,,,,,,,,,..,,................................:::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++*+*****#@WWWW@@@@@@W@@@@#**+++++++:::::::::::::::::::+++++++++++++**********++++++#WWWW
,...:::++++***************#######@@@@@#####********##########*****##******###**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........::::::::++++++++****+:::::........,,,,,,,,,,,,,,,,,.,.................................:..:::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++*+++******#@WWW@@@@@@@@WWW@@#**++++++++::::::::::::::::+++++++++++++++*********++++++#WWWW
,...::+++++**************########@@@@######********##########*************###*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........:::::::+++++++++****++:::::.......,,,,,,,,,,,,,,,,.,...........................::...:::::::::::::::::::::::::::::::::::::::::::::++:++++++++++++++++++++++++++++++**+++******#@WW@@@@@@@WWWWW@#**+++++++++:::::::::::::::+++++++++++++++**********+++++*@WWW
,..:::++++**************########@@@@######********############************##*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............:::::::++++++++++****+::.::.......,..,,,,,,,,,,.,..,..........................:::...::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++***+******#@WW@@@@@WWWWWW@@#**+++++++++::::::::::::::++++++++++++++++*********+++++*@WWW
,..::+++++**************########@@@@######**********############**********#*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............:::::::::++++++++****+:::.:...........,,,,,,,,,......,........................::...:::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++***+*******@@W@@@@WWWWW@@W@#***++++++++::::::::::::::+++++++++++++++++********++++++#WWW
,..::++++***************########@@@#######**********###############******#*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............:::::::++++++++++***++::::.......,..,,,..,,,,,,.....,..............................::..::::::::::::::::::::::::::::::::::::++++:::+++++++++++++++++++++++++++++++++****+******#@WW@@WWWWW@@@W@@#***+++++++++:::::::::::::+++++++++++++++++*******++++++#WWW
,.:::++++***************##################**********################******:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............:::::::::++++++++++***++:::::..........,,,,,,...,,,..............................::.....:::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++***********#@@W@@@W@W@@@@@W@#***+++++++++:::::::::::++++++++++++++++++++******++++++*@WW
,:::++++***************###############*###**********#################****:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............:::::::::++++++++++****+::.::..........,,,,,.....,,,,.......................:....::....:::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++*************#@W@@@@@@@@@@@@@@#***++++++++::::::::::+++++++++++++++++++++*******+++++*@WW
,::+++++**************###################*********#####################*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............:::::::+++++++++++*****+:::::............,.............,..................::....::..::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++*************##@@@@@@@@@@@@@@@#****++++++++++:::++:++++++++++++++++++++++*******++++++#WW
.:+++++**************#################************####################*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............:::::::+++++++++++*****+::::..........,.............................................::::::::::::::::::::::::::::::::::::++++:++++++++++++++++++++++++++++++++++++++**************#@@@@@@@@WW@@@@@@#***++++++++++:::++++++++++++++++++++++++++******++++++#@W
.:++++***************##########################*#####################*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,.............:::::::+++++++++++*****+:::::..........,,,.......,,...........................::::.:::::::::::::::::::::::::::::::::::+:+++++++++++++++++++++++++++++++++++++++++++**************##@W@@@@WW@@@@@@@#****+++++++++:::++++++++++++++++++++++++++*******+++++*@W
.############# .#################. .#### +############. .#### .#####################+ .#####################+ .:+++****************################################################:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................:::::::+++++++++++******::::::..........,...............................:....:::::.::::::::::::::::::::::::::::::::::++:++++++++++++++++++++++++++++++++++++++++*+++**************#@@@@@@@W@@@@@@@@#****++++++++++++++++++++++++++++++++++++********+++++*@W
.WWWWWWWWWWWWW .WWWWWWWWWWWWWWWWW. .WWWW #WWWWWWWWWWWW. .WWWW .WWWWWWWWWWWWWWWWWWWWW# .WWWWWWWWWWWWWWWWWWWWW# .++++***************#################################*##############+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................::::::::++++++++++*******+::::..........................................::....:::::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++++++++++++++++++++++***+**************##@@@@@@@@@@@@@@@#****+++++++++++++++++++++++++++++++++++*********+++++*@W
.WWWWWWWWWWWWW .WWWWWWWWWWWWWWWWW. .WWWW #WWWWWWWWWWWW. .WWWW .WWWWWWWWWWWWWWWWWWWWW# .WWWWWWWWWWWWWWWWWWWWW# .++++***************###############################***#############+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............:::::::::++++++++++*****#*+:::.................,.........................::.....::::::::::::::::::::::::::::::::::::::++:+++++++++++++++++++++++++++++++++++++++++*****************###@@@@@@@@@@@@@@@@#****++++++++++++++++++++++++++++++++++*********++++++#W
.WWWWWWWWWWWWW .WWWWWWWWWWWWWWWWW. .WWWW #WWWWWWWWWWWW. .WWWW .WWWWWWWWWWWWWWWWWWWWW# .WWWWWWWWWWWWWWWWWWWWW# .++++****************#############################****############*.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................:::::::+++++++++++++****#**:::................,,.................................:::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++*****************####@@@@@WWW@@@@@@@#*****+++++++++++++++++++++++++++++++++**********+++++#@
,++++++++#WWWW .+++++++++++++++++++++++++*WWWW ,+++++++++++++++++++++*WWWW ,++++++++#WWWW++++++++: ,++++++++#WWWW++++++++: .++++****************#################****#######*****###########*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............:::::::::+:++++++++++++****##*+::..................................................:::::::::::::::::::::::::::::::::::::++:+++++++++++++++++++++++++++++++++++++++++*******************###@@@@@WWW@@@@@@@@#****++++++++++++++++++++++++++++++++++*********+++++*@
+WWWW +WWW# #WWWWWWWW .WWWW. #WWWWWWWW +WWWW +WWWW .+++*****************#########**####*******#####*****############:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............:::::::::::::++++++++++*****##*+::............................................::.:::::::::::::::::::::::::::::::::::::::++:+++++++++++++++++++++++++++++++++++++++++++******************####@@@@WWW@@@@@@@@#*****++++++++++++++++++++++++++++++++++*********++++*@
+WWWW +WWW# #WWWWWWWW .WWWW. #WWWWWWWW +WWWW +WWWW .+++*****************########*************#####******###*######*+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............:::::::::::::++++++++++******##+:::...........................................:::::::::::::::::::::::::::::::::::::::::+++:+++++++++++++++++++++++++++++++++++++++***+******************####@@@@@WW@@@@@@@@@#****++++++++++++++++++++++++++++++++++*********+++++#
+WWWW +WWW# #WWWWWWWW .WWWW. #WWWWWWWW +WWWW +WWWW .++*****************#########**********######*******#*******##*+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............:::::::::::::++++++++++*******##*::::....................................:.......::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++***********************####@@@@@WW@@@@@@@@@#*****+++++++++++++++++++++++++++++++++**********++++#
+WWWW +WWW# #WWWWWWWW .WWWW. #WWWWWWWW +WWWW +WWWW .*+******************########**##*****######*******###*******#*.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............:::::::::::::+++++++++******###*+:::...................................:.....::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++**************************#####@@@@WWWW@@@@@@@@#****++++++++++++++++++++++++++++++++**********+++++*
#WWW+ WWWW. +WWW# .WWWW +WWW# .WWWW +WWWW +WWWW .******************#########**********####*************++++**#:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............:.:::::::::::+:++++++++++******####+:::......................................:..::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++*++++**************************#####@@@@WWWW@@@@@@@@#****++++++++++++++++++++++++++++++++***********++++*
#WWW+ WWWW. +WWW# .WWWW +WWW# .WWWW +WWWW +WWWW :******************#########***###***####**************++++**+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............:::::::::::::+++++++++++++*******###+:::.....................................::..::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++**++++**************************######@@@@WWWW@@@@@@@@#****+++++++++++++++++++++++++++++++***********++++*
#WWW+ WWWW. +WWW# .WWWW +WWW# .WWWW +WWWW +WWWW :******************#########*###########*****************+***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............:...:::::::::::+++++++++++++*******###+:::....................................:::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++**+*+**+++*************************#####@@@@WWWWW@@@@@@@#*****++++++++++++++++++++++++++++++***********+++++
#WWW+ WWWW. +WWW# .WWWW +WWW# .WWWW +WWWW +WWWW :******************###################**********************:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................:::::::::::::+++++++++++++*******###*::::.................................:.::::::::::::::::::::::::::::::::::::::++::+++++++++++++++++++++++++++++++++++**+++*******************************#####@@@@WWWWW@@@@@@@##****+++++++++++++++++++++++++++++++***********++++
#WWW+ WWWW. +WWW# ,.... +WWW# .WWWW +WWWW +WWWW :******************#################*******************####+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................:..::::::::::::++++++++++++********###*:.:..................................::::::::::::::::::::::::::::::::::::::::+:::++++++++++++++++++++++++++++++++++++**++*******************************#####@@@@WWWWW@@@@@@@@#*****++++++++++++++++++++++++++++++***********++++
#WWW+ WWWW. +WWW# +WWW# .WWWW +WWWW +WWWW :*****************########@#####*#*********************###*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................::.::::::::::::+++++++++++++********##@*:.::..................................:::::::::::::::::::::::::::::::::::::::+++++:++++++++++++++++++++++++++++++++*+**********************************#######@@@WWWWWW@@@@@@@##*****+++++++++++++++++++++++++++++***********++++
#WWW+ WWWW. +WWW# +WWW# .WWWW +WWWW +WWWW :*****************############******************####**####+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................:::::::::::::::++++++++++++++*******###@*:.::....................................::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++**+**+**********************************#######@@@WWWWWW@@@@@@@@#******++++++++++++++++++++++++++++************+++
#WWW+ WWWW. +WWW# +WWW# .WWWW +WWWW +WWWW :*****************###########*******************#########*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................:::::::::::::::++++++++++++++******####@#:.::................................::.:::::::::::::::::::::::::::::::::::+::+++++++++++++++++++++++++++++++++++++***+**********************************######@@@WWWWWW@@@@@W@@##*****+++++++++++++++++++++++++++++***********+++
,....*###: ####:.... :###*............. +WWW# .#### +WWWW +WWWW :*****************##########*****#####*********#####**###+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,..................:.::::::::::::+++:+++++++++********####@#+.:::...........................:..::.:::::::::::::::::::::::::::::::::::++::+++++++++++++++++++++++++++++++++++++**************************************######@@@@WWWWW@@@@@WW@@#******++++++++++++++++++++++++++++***********+++
.WWWW. #WWW# .WWWWWWWWWWWWW +WWW# +WWWW +WWWW :*****************########******#######*###########***##+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,...................:::::::::::::::++++++++++++*********#####+..::...............................:::::::::::::::::::::::::::::::::::+:++:+++++++++++++++++++++++++++++++++++++++*************************************#######@@@WWWWW@@@@@@@@@##*****+++++++++++++++++++++++++++++**********+++
.WWWW. #WWW# .WWWWWWWWWWWWW +WWW# +WWWW +WWWW :****************#########*****###################****#*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................:::::::::::::::+++++++++++++*******#*####+...:............................::.::::::::::::::::::::::::::::+:::::+++++++++++++++++++++++++++++++++++++++**++***************************************#######@@@WWWWW@@@@@@WW@###*****++++++++++++++++++++++++++++***********++
.WWWW. #WWW# .WWWWWWWWWWWWW +WWW# +WWWW +WWWW :****************#########*****###################***##+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................:::::::::::::+++++++++++++++*******#*####+:...............................:..::::::::::::::::::::::::::::+:::++++++++++++++++++++++++++++++++++++++++++******************************************#######@@@WWWWWW@@@@@@W@@##******+++++++++++++++++++++++++++*************
.WWWW. #WWW# .WWWWWWWWWWWWW +WWW# +WWWW +WWWW :****************########******##########*#########**##:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................::::::::::::::+++::++++++++++********#*####*:...............................:::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++*+***********************************##**#######@@@WWWWWW@@@@@@W@@###******++++++++++++++++++++++++++************+
.WWWW. #WWW# WWWWWWWW# +WWW# +WWWW +WWWW :*****************#######******#########****#######*##+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................:::::::::::::::+++:+++++++++++********#####@*:...........................:.:::::::::::::::::::::::::::::::::::::+:+++++++++++++++++++++++++++++++++++++++*+++************************************###########@@WWWWWWW@@@@@WW@###******++++++++++++++++++++++++++++**********+
.WWWW. #WWW# WWWWWWWW# +WWW# +WWWW +WWWW :***+++**********########****#****#####*****#######*#*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................:::::::::::::::::::+++++++++++++********####@*:.:.......................::..::.:::::::::::::::::::::::::::+::::::+++++++++++++++++++++++++++++++++++++**+******************************************##########@@WWWWWWW@@@@@@W@@##******+++++++++++++++++++++++++++***********+
.WWWW. #WWW# WWWWWWWW# +WWW# +WWWW +WWWW :**++++**********#########*#********##*****########*#+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................::::::::::::::::::+:++++++++++++*********####@#+::......................:.......:::::::::::::::::::+::+::+:::::+:+++++++++++++++++++++++++++++++++++++*++****************************************#**##########@@@WWWWWW@@@@@@W@@##********++++++++++++++++++++++++*************
.WWWW. #WWW# WWWWWWWW# +WWW# +WWWW +WWWW :*++++***********#########****************#######****:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,.........................:::::::::::::::::::+++++++++++***********####@#+::.....................::..::::::::::::::::::::+:::::::::+::::+++++++++++++++++++++++++++++++++++++++++++*******************************************##########@@@WWWWWW@@@@@@WW@###*******++++++++++++++++++++++++*************
.WWWW*++++++++++++@WWW# +++++++++++++ +WWW# +WWWW +WWWW :*++++**********#########****************#######****+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................:::::::::::::::::::++++++++++++*+******#*####@#+::::......................::::::::::::::::::+::+:::::::::+++++++++++++++++++++++++++++++++++++++++++++++*******************************************###########@@@WWWWW@@@@@@@WW@@###*******+++++++++++++++++++++++*************
.WWWWWWWWWWWWWWWWWWWWW# .WWWW +WWW# +WWWW +WWWW .+++++**********########****************########****:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................::::::::::::::::::++++++++++++++**********####@#+:..:.................:..::::::::::::::::::::::+++::::::::+++++++++++++++++++++++++++++++++++++++++++++++*****************************************#############@@@WWWWWW@@@@@@@W@@###*******+++++++++++++++++++++++*************
.WWWWWWWWWWWWWWWWWWWWW# .WWWW +WWW# +WWWW +WWWW .++++***********########***************##########***:,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................::::::::::::::::::+++++++++++++++**********####@#*:...:...........:...::.:::::::::::::::::::::::++++:::::::+++++++++++++++++++++++++++++++++++++++++*++********************************************##############@@WWWWWW@@@@@@@WW@####******+++++++++++++++++++++++*************
.WWWWWWWWWWWWWWWWWWWWW# .WWWW +WWW# +WWWW +WWWW .+++************########*************#############*+.,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................::::::::::::::::::++++++++++++++++**********###@#*::..::.............:..::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++**++********************************************##############@@WWWWWWW@@@@@@WW@@###******+++++++++++++++++++++++*************
,...:#####################*.... ,.... .WWWW +WWW# +WWWW +WWWW .*+************#########************##############*:.,,,,,,,,,,,,,,,,,,,,,,,,,.............................:..::::::::::::::::::++++++++++++++*++********####@@*::::::..:.............::::::::::::::::::::::::::::++++::++++++++++++++++++++++++++++++++++++++++**++*********************************************##############@@WWWWWWWW@@@@@@W@@###*******+++++++++++++++++++++**************
+WWW# .WWWW +WWW# .WWWW +WWW# +WWWW +WWWW .*+************#########***********#######*#######*.,,,,,,,,,,,,,,,,,,,,,,,,,,..............................:::::::::::::::::::++++++++++++++++++*********####@#+::::...::.....::....:::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++*++++*************************************************###############@@WWWWWWWW@@@@@@@@@####******+++++++++++++++++++++**************
+WWW# .WWWW +WWW# .WWWW +WWW# +WWWW +WWWW :*******#####***########**********######***#######+.,,,,,,,,,,,,,,,,,,,,,,.,,...............................:::::::::::::::::::++++++++++++++++++*********####@#+::::..::::..:::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++*+++++++++********+*********************************************################@@WWWWWWWW@@@@@@@@@@####*****+++++++++++++++++++++**************
+WWW# .WWWW +WWW# .WWWW +WWW# +WWWW +WWWW :*******#*###***###########*############***######*:.,,,,,,,,,,,,,,,,,,,,,,.,..............................:::::::::::::::::::++++++++++++++++++++********#####@#+::.:..::.:::::::::::::::::::::::::::::::+::+::::+::+++++++++++++++++++++++++++*++++++++++*******+**********************************************###############@@WWWWWWW@@@@@@@@@@@#####******+++++++++++++++++++**************
+WWW# .WWWW +WWW# .WWWW +WWW# +WWWW +WWWW :**************##########################*###***#+..,,,,,,,,.,,,,,,,,,..,,................................:::::::::::::::::::++++++++++++++++++++********#####@#+::.:.....::::.::...::::::::::::::::::::::::+:++::+++++++++++++++++++++++++++++*++*++++++++******************************************************##############@@WWWWWWWW@@@@@@@@@@#####*******+++++++++++++++*****************
+WWW# .WWWW +WWW@####. .WWWW ,...:####. .#### +WWWW +WWWW :**************#########**##################*****+....,,,,,,.,,,,,..,..,,..............................:..::::::::::::::::::++++++++++++++++++++***********###@#+::.:::..::::::::.::::::::::::::::::::::::++++++:+++++++++++++++++++++++++++++++++****+++*******************************************************###############@@WWWWWWWW@@@@@@@@@@@#####********+++++++++++++*****************
+WWW# .WWWW +WWWWWWWW. .WWWW .WWWW. .WWWW +WWWW +WWWW :*************########################***###*****:....,,,,,,,,,........................................:.::::::::::::::::::+++++++++++++++++++++************##@#*::::::::::::::::::::::::::::::::::::::+:+++++++++++++++++++++++++++++++++++++++++****++*******************************************************################@@@WWWWWWWW@@@@@@@@@@#####********++++++++++++******************
+WWW# .WWWW +WWWWWWWW. .WWWW .WWWW. .WWWW +WWWW +WWWW :*************#######################*****##***#*:,..,,,,,..,........,.................................:::::::::::::::::::::++++++++++++++++++++***********###@@*:::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++*+************************************************************###############@@@WWWWWWWW@@@@@@@@@######********++++++++++++******************
+WWW# .WWWW +WWWWWWWW. .WWWW .WWWW. .WWWW +WWWW +WWWW :*************#######################*****#***##+.,..,,.,,...........................................::::::::::::::::::::::++++++++++++++++++++************###@@#+::::..::::::::::::::::::::::::::::+:++++++++++++++++++++++++++++++++++++++++++***++************************************************************##############@@@WWWWWWWW@@@@@@@@@@####************+++++++++******************
++++#WWW@++++, :+++*WWWW++++. +WWW@++++++++++++++++++++++++++ ,++++++++++++++++++++++++++ ,++++++++#WWWW++++++++: ,++++++++#WWWW++++++++: :#*************########################******#*#+.,................................................::..::::::::::::::::::::++++++++++++++++++++**+*********###@@#+:::..::::::::::::::::::::::::::::+::++++++++++++++++++++++++++++++++++++++++++****************************************************************##############@@@@@@@@@@@@@@@@@@@@@@####*************++++++++******************
WWWWWWWWWWWWW. #WWWWWWWWWWWW+ +WWW# #WWWWWWWWWWWWWWWW# #WWWWWWWWWWWWWWWW# .WWWWWWWWWWWWWWWWWWWWW# .WWWWWWWWWWWWWWWWWWWWW# :#*************##########################*****##:..................................................::.:::::::::::::::::::::++++++++++++++++++++************###@@#+:::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++***+**************************************************************##############@@@@@@@@@@@@@@@@@@@@@@#####************+++++*********************
WWWWWWWWWWWWW. #WWWWWWWWWWWW+ +WWW# #WWWWWWWWWWWWWWWW# #WWWWWWWWWWWWWWWW# .WWWWWWWWWWWWWWWWWWWWW# .WWWWWWWWWWWWWWWWWWWWW# :#**************##########################***##*:,................................................::::::::::::::::::::::::++++++++++++++++++++++***********####@#+::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++*****************************************************************################@@@@@@@@@@@@@@@@@@@@@#####************++************************
WWWWWWWWWWWWW. #WWWWWWWWWWWW+ +WWW# #WWWWWWWWWWWWWWWW# #WWWWWWWWWWWWWWWW# .WWWWWWWWWWWWWWWWWWWWW# .WWWWWWWWWWWWWWWWWWWWW# :#*************###########################***#@*.,...............................................::::::::::::::::::::+::::+++++++++++++++++++++++*********#####@@*+:::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++*++****+**************************************************************#################@@@@@@@@@@@@@@@@@@@@@@@###***********++++***********************
WWWWWWWWWWWWW. #WWWWWWWWWWWW+ +WWW# #WWWWWWWWWWWWWWWW# #WWWWWWWWWWWWWWWW# .WWWWWWWWWWWWWWWWWWWWW# .WWWWWWWWWWWWWWWWWWWWW# :**************##########################****##+.,...............................................::::::::::::::::::::++::++++++++++++++++++++++++**********####@@*+::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++*++*********************************************************************##############@@@@@@@@@@@@@@@@@@@@@@@@####**#***************++******************
:**************#########################****#@#+.................................................::::::::::::::::::::+++++++++++++++++++++++++*************####@@#+:::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++*+++**********************************************************************##############@@@@@@@@@@@@@@@@@@@@@@@@####**************************************
:*****++********########################***#@@#:................................................:::::::::::::::::::::+++++++++++++++++++++++++************#####@@#+:::::::::::::::::::::::::+:::::+++++++++++++++++++++++++++++++++++++++********************************************************************#*##############@@@@@@@@@@@@@@@@@@@@@@@@@@###*************************************
:***++++*********######################***##@@#:..........................................:.....::::::::::::::::::::++++++++++++++++++++++++++************#####@@@*:::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++******************************************************************#**#**###############@@@@@@@@@@@@@@@@@@@@@@@@@###*************************************
:*++++***********######################***#@@@*.........................................:::.:..:::::::::::::::::::::+++++++++++++++++++++++++**************####@@@*+::::::::::::::::::::+:::::++++++++++++++++++++++++++++++++++++++++***+**********************************************************##****##**################@@@@@@@@@@@@@@@@@@@@@@@@@####************************************
:****+***********#####***##############**#@@@@+.........................................::::::::::::::::::::::::::::++++++++++++++++++++++++***************####@@@*+::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++*****************************************************************######################@@@@@@@@@@@@@@@@@@@@@@@@@@@###**##********************************
:***++++++++*****####****#################@@@#+.......................................:::::::::::::::::::::::::::::+++++++++++++++++++++++++***************#####@@#+:+:::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++******************************************************************######################@@@@@@@@@@@@@@@@@@@@#@@@@#@####**#******************************##
:**+++++++++******###****###############@@@@@#:......................................:::.:::::::::::::::::::::::::+++++++++++++++++++++++++****************#####@@@*:+::::::::::::::::::+++::+++++++++++++++++++++++++++++++++++++**************************************************************#******######################@@@@@@@@@@@@@@@@@@@@####@#@#####********************++*********###
:*++++++++*++*****###*****#############@@@@@@*:......................................::::::::::::::::::::::::::::::++++++++++++++++++++++++****************#####@@@*+++:::::::::::::+++::::++++++++++++++++++++++++++++++++**++++*+******************************************************************########################@@@@@@@@@@@@@@@@@@@@#######@#####*******************+***********##
.*+++++++++++*****###*****##**########@@@@@@@*:.....................................:::.::::::::::::::::::::::::+++++++++++++++++++++++**+++************########@@@#++++:::::+++::::+++:::+++++++++++++++++++++++++++++++++++++++****************************************************************#***########################@@@@@@@@@@@@@@@@@@@@#######@###********************++************#
WWWW. .++++++++++++*****####***##****#####@@@@@@@@#*:..................................::::::::::::::::::::::::::::::+++++++++++++++++++++++++*++*************########@@@@*+++++:::++++:::+:+++++++++++++++++++++++++++++++++++++++++*****************************************************#*********#**##*#########################@@@@#@##@@@@@@@@@@@@#######@####****************+++++*************
WWWW. .*++++++++++******#########****#####@@@@@@#@#*:.............................:...:::::::::::::::::::::::::::::::++++++++++++++++++++++++++++*************########@@@@*++++++::::::++::+++++++++++++++++++++++++++++++++++++*++**************************************####************##***********##**#########################@@@@#####@@@@@@@@@@@@######@####***************+++++**************
WWWW. .*+++++++++++*****#########****#####@@@@@@###*............................::::..:::::::::::::::::::::::::::::::++++++++++++++++++++++++++++**************#######@@@@#+++++:::::::++:+++++++++++++++++++++++++++++++++++++******************************************##**********#**#########****###*#########################@@@@@#####@@@@@@@@@@@@@#####@@######***********+++++***************
WWWW. .++++++++++******##########****#####@@@@@####+............................::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++*****************########@@@@#+++++:+:::::+++++++++++++++++++++++++++++++++++++++******************************************#******#***######*########################################@@@@@####@@@@@@@@@@@@@@######@#####************++++****************
.++++++++, .+++++++++********########****##*###@@@@@####+........................:.:::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++**+***************#######@@@@@*+++++++:+::++++++++++++++++++++++++++++++++++++*++******************************************#**######*##########*###*#################################@@@@#####@@@@@@@@@@@@@@######@#####********************************
+WWWW .+++++++++*******#########****#####@@@@@@@###+.......................::.::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++*++**++**************########@@@@@#+++++++++::++++++++++++++++++++++++++++++++++++*+********************************************########*##########*#####################################@@@@#####@@@@@@@@@@@@@@######@#####********************************
+WWWW .++++++++********##########***####@@@@@@@@##*+.......................::.::::::::::::::::::::::::::::::::::::++++++++++++++++++++++*+++*****************#########@@@@@#*+++++++:++++++++++++++++++++++++++++++++++++++**********************************************##**######################################################@@@#####@@@@@@WW@@@@@@######@@####****##**************************
+WWWW :*++++++********###########***##@@@@@@@@@###*:.....................:::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++*+++******************########@@@@@@*+++++++++++++++++++++++++++++++++++++++++++++*+***************************************#**#**##**######################################################@@@@####@@@@@@WW@@@@@@######@@#####*******************************
:#### :*+++++*********###########**###@@@@@#######*:.....................:::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++**********************########@@@@@@#++++++++++++++++++++++++++++++++++++++++++++****************************************#****#############################################################@@@@####@@@@@@WWW@@@@@######@@#####*******************************
:*++++***********##############@@@@@########*:.......:............:::::::::::::::::::::::::::::+:::::::::::++++++++++++++++++++**++********************##########@@@@@#*++++++++++++++++++++++++++++++++++++++++++*****************************************##*##############################################################@@@@@####@@@@@WWWW@@@@@@#####@@#####***##**************************
:*+++++**********#############@@@@@#########*:......:::.........:::::::::::::::::::::::::::::::+:::::::+::+++++++++++++++++++++************************##########@@@@@@*++++++++++++++++++++++++++++++++++++++++*******************************************################################################################@@@@@@#####@@@@@WWWW@@@@@@@@##@@#####****#**************************
:*+++++++********###########@@@@@@@#########*:......:......:.::.:::::::::::::::::::::::::::::::::::::::+:+++++++++++++++++*+++************************###########@@@@@@#++++++++++++++++++++++++++++++++++*++++*******************************************#################################################################@@@@@@#####@@@@@WWWW@@@@@@@@@##@@####*******************************
:*+++++++********##########@@@@@@@##########*:.....::.......::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++***********************#############@@@@@@#*+++++++++++++++++++++++++++++++++++++*******************************************##################################################################@@@@@@#####@@@@@@WWW@@@@@@@@@##@#####*******************************
:#########################+ :############################## #######################################: :#########################+ +############. :*++++++*********########@@@@@@@@###########*:.....::....::::::::::::::::::::::::::::::::::+:::::++:::++:+++++++++++++++++++***********************##############@@@@@@@*+++++++++++++++++++++++++++++++*+++++*****************************************#**################################################################@@@@@@@#####@@@@@@@WW@@@@@@@@@##@#####*******************************
+WWWWWWWWWWWWWWWWWWWWWWWWW# +WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW+ +WWWWWWWWWWWWWWWWWWWWWWWWW# #WWWWWWWWWWWW. :*+++++*********#########@@@@@##############*:.......::..::::::::::::::::::::::::::::::::::::::::++::++:++++++++++++++++++++************************##############@@@@@@#*+++++++++++++++++++++++++++++++**+******************************************#***###############################################################@@@@@@@@@###@@@@@@@@WWW@@@@@@@@##@@#####**************************+++*
+WWWWWWWWWWWWWWWWWWWWWWWWW# +WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW+ +WWWWWWWWWWWWWWWWWWWWWWWWW# #WWWWWWWWWWWW. :*++++*********##**######@@###*#############+:........:.:::::::::::::::::::::::::::::::::+::::::::+++++:++++++++++++++++++++**********************################@@@@@@@**++++++++++++++++++++++++++++++*************************************************###############################################################@#@@@@@@@####@@@@@@@WWWW@@@@@@@@#@@#####***************************+**
+WWWWWWWWWWWWWWWWWWWWWWWWW# +WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW+ +WWWWWWWWWWWWWWWWWWWWWWWWW# #WWWWWWWWWWWW. :*++++****+***#*****####@###***#############+:.:.......:::::::::::::::::::::::::::::::::+::::+::::++++:++++++++++++++++++++************************##############@@@@@@@@**+++++++++++++++++++++++++++****************************************************#################################################################@@@@@#####@@@@@@@@WWWW@@@@@@@@#@@######*****************************
.+++*WWWW*+++++++++++++++++++++ .+++*WWWW*++++++++++++++++*WWWW WWWW#++++++++++++#WWWW+++++++++++++WWWW+ .+++*WWWW*+++++++++++++++++++++ ,+++++++++++++++++++++: :*++++++++***********######***########@@####+:.::...::.:::::::::::::::::::::::::::::::::++:::::::+++++++++++++++++++++++++***+*********************##############@@@@@@@@#*+++++++++++++++++++++++++++***************************************************#################################################################@@@@@@#####@@@@@@@@@WWW@@@@@@@@##@@#####*****************************
.WWWW. .WWWW .WWWW. .WWWW WWWW+ +WWWW WWWW+ .WWWW. .WWWW .WWWW. #WWW# :*+++++++*************#####**#########@@@@@#+:::::::::::::::::::::::::::::::::::::::::::++++:::+++++++++++++++++++++++**++***********************#*###############@@@@@@@@**+++++++++++++++++++++++++************************************************##**################################################################@@@@@@@#####@@@@@@@@WWWWW@@@@@@@@#@#######**#*#***********************
.WWWW. .WWWW .WWWW. .WWWW WWWW+ +WWWW WWWW+ .WWWW. .WWWW .WWWW. #WWW# :#*+++++**************#####*##########@@@@@@+:::.:::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++***************************#################@@@@@@@@#*++++++++++++++++++++**+***********************************************#*#####################################################################@@@@@@@@@@####@@@@@@WWWWW@@@@@@@@@@#@##########***********************
.WWWW. .WWWW .WWWW. .WWWW WWWW+ +WWWW WWWW+ .WWWW. .WWWW .WWWW. #WWW# :#*++++****************##################@@#+::::::::::::::::::::::::::::::::::::::::+++::+:+++++++++++++++++++++++++++***************************###############@@@@@@@@@#*+++++++++++++++++++***+************************************************#***###################################################################@@@@@@#@######@@@@@WWWWW@@@@@@@@@@#@##########***********************
.WWWW. .WWWW .WWWW. .WWWW WWWW+ +WWWW WWWW+ .WWWW. .WWWW .WWWW. #WWW# :#**++**********+++****###################@#+::::::::::::::::::::::::::::::::::::::++:++++++++++++++++++++++++++++++++++**************************################@@@@@@@@@***++++++++++++++++*****************************************************#######################################################################@@@@@@#@######@@@@@WWWWW@@@@@@@@@@@#@#########******************##***
.WWWW. .WWWW .WWWW. +WWWW .WWWW. .WWWW +WWW# .WWWW :#******++++***+++++****####################+:::::::::::::::::::::::::::::::::::::++++:++++++++++++++++++++++++++++++*++*************************#################@@@@@@@@@#**+++++++++++++++*********************************************#********#####################################################################@@@@@@@@#@######@@@@@WWWWW@@@@@@@@@@@#@@########***********************
.WWWW. .WWWW .WWWW. +WWWW .WWWW. .WWWW +WWW# .WWWW :#******++++**++++++****####################+::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++******************************#################@@@@@@@@@@***++++++++++++++***+****************************************###****#*#*####################################################################@@@@@@@@#@#######@@@@@WWWWW@@@@@@@@@@##########************************
.WWWW. .WWWW .WWWW. +WWWW .WWWW. .WWWW +WWW# .WWWW :#******++****++++++****####################+:::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++*******************************#################@@@@@@@@@#**+++++++++++++++*************************************************#***######################################################################@@@@@@@#@@######@@@@@WWWWW@@@@@@@@@@@##########**********#************
.WWWW. .WWWW .WWWW. +WWWW .WWWW. .WWWW +WWW# .WWWW :#***********+++++++***#####################+::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++*******************************#################@@@@@@@@W@#*****++++++++**++***********************************************##*########################################################################@@@@@@@@@@@#####@@@@@@WWWWW@@@@##@@@@@###########**********************
.WWWW. .WWWW .WWWW. ####. +WWWW .WWWW. .WWWW +WWW# .WWWW :##**********+++++++***###############**####+:::::::::::::::::::::::::::::::+::++++++++++++++++++++++++++++++++++********************************#################@@@@@@@@@@#****+++++++++**+***********************************************#############################################################################@@@@@@@@@@#####@@@@@@WWWWW@@@###@@@@@@############********************
.WWWW. .WWWW .WWWW. WWWW. +WWWW .WWWW. .WWWW +WWW# .WWWW :######*****+++++++****####***#########***##+::::::::::::::::::::::::::::+::++++++++++++++++++++++++++++++++*++++**************************#*****#################@@@@@@@@@@@***+++++++++**+**********************************************################################################################################@@@@@@@@@@@@@@@@@@@@WWWWW@@@####@@@#@############*******########*****
.WWWW. .WWWW .WWWW. WWWW. +WWWW .WWWW. .WWWW +WWW# .WWWW :@######***+++++++*****####****#######****##+:::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++**************************#***#*###################@@@@@@@@@#****+++++++++*******************************************#***###############################################################################@@@@@@@@@@@@@@@@@@@@@@WWWW@@@@###@#################******########*****
.WWWW. .WWWW .WWWW. WWWW. +WWWW .WWWW. .WWWW +WWW# .WWWW :@####*****+++++++*****###****######******##+::::::::::::::::::::::::+++:+++++++++++++++++++++++++++++++++++++++++*****************************#*##################@@@@@@@@@@@******++++****************************************************###*#######################################################################@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@@@@@@@#################******#######******
.WWWW. .WWWW .WWWW+........WWWW. +WWWW .WWWW. .WWWW +WWW# .WWWW :@####**+++++++++*******##***#####*********#+::::::::::::::::::::::+++::+++++++++++++++++++++++++++++++++++++++*****************************####**#################@@@@@@@@@@@#*****+++++*********************************************#*#**###########################################################################@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@@@@@@@###############********######*******
.WWWW. .WWWW .WWWWWWWWWWWWWWWWW. +WWWW .WWWW. .WWWW +WWW# .WWWW :@####***+:++++++********#***#######********+::::::::::::::::::::::+++::++++++++++++++++++++++++++++++++++++++*******************************######################@@@@@@@@@@@@******+*+*******************************************#**###*############################################################################@@@@@@@@@#@@@@@@@@@@@@@@@@WWWW@@@@@@@###############*####**######********
.WWWW. .WWWW .WWWWWWWWWWWWWWWWW. +WWWW .WWWW. .WWWW +WWW# .WWWW :@######*+:::+++++++++****##########****####*::::::::::::::::::::::+++:+++++++++++++++++++++++++++++++++++++***********************************####################@@@@@@@@@@@@#****************************************************#*################################################################################@@@@@@@@@#@@@@@@@@@@@@@@@@WWWW@@@@@@@#################*#########*********
.WWWW. .WWWW .WWWWWWWWWWWWWWWWW. +WWWW .WWWW. .WWWW +WWW# .WWWW :@######*+::::++++++++++**###############@@@#:::::::::::::::::::::+++++++++++++++++++++++++++++++++++++************************************#***#####################@@@@@@@@@@@@#***************************************************################################################################################@@@@@@@@@@@#@@@@@@@@@@@@@@@@WWWWW@@@@@@################**##****************
.WWWW. .WWWW .WWWWWWWWWWWWWWWWW. +WWWW .WWWW. .WWWW +WWW# .WWWW :@###@##*++::::::::::+++***###**###@@@@@@WWW#+::::::::::::::::::+++++++++++++++++++++++++++++++++++++++****************************************#####################@@@@@@@@@@W@#**************************************##***##*##***##################################################################################@@@#@@@@@#@@@@@@@@@@@@@@@@WWWW@@@@@###################*******************
.WWWWWWWWWWWWWWWWWWWWW# .WWWW. WWWW. +WWWW .WWWWWWWWWWWWWWWWWWWWW# +WWW# .WWWW +@###@##**++:..:::::::+++**#####@@@@WWWWWWWW@+:::::::::::::::::::+++++++++++++++++++++++++++++++*++++++******************************##*####*#######################@@@@@@@@@@WW@#**************************************#***#******###################################################################################@@@@@@@@@#@@W@@@@@@@@@@@@@WWWW@@@@@###################*******************
.WWWWWWWWWWWWWWWWWWWWW# .WWWW. WWWW. +WWWW .WWWWWWWWWWWWWWWWWWWWW# +WWW# .WWWW +@#@@@##****+:.::::::::++**##@@@WWWWWWWWWWWW@+::::::::::::::::++:+++++++++++++++++++++++++++++++**+++********************************##############################@@@@@@@@@@@@W@@#***************************************##****#####################################################################################@@@@@@@@@@#@@WW@@@@@@@@@@@@WWWW@@@@@###################*******************
.WWWWWWWWWWWWWWWWWWWWW# .WWWW. WWWW. +WWWW .WWWWWWWWWWWWWWWWWWWWW# +WWW# .WWWW +@@@@####**#*+:::::::::++**#@WWWWWWWWWWWWWWW@*::::::::::::::::++++++++++++++++++++++++++++++++++**+++********************************###############################@@@@@@@@@@@WW@##*******************************************#####################################################################################@@@@@@@@@@@#@WWWW@@@@@@@@@@@WWWW@@@@@@##################*******************
.WWWWWWWWWWWWWWWWWWWWW# .WWWW. WWWW. +WWWW .WWWWWWWWWWWWWWWWWWWWW# +WWW# .WWWW +@@##########*::::::.::+++**@WWWWWWWWWWWWWWW@*:::::::::::::+::+++++++++++++++++++++++++++++++++***************************************#############################@@@@@@@@@@@@@WW@###*************************************######################################################################################@@##@@@@@@@@@@#@@WWW@@@@@@@@@@@@WWW@@@@@@@###################*****************
.WWWW*++++++++WWWW*+++: .WWWW. ++++, +WWWW .WWWW*++++++++WWWW*+++: +WWW# .WWWW +@############*:::::.::+++**#@WWWWWWWWWWWW@W@*::::::::::::++:+++++++++++++++++++++++++++++++++***************************************################################@@@@@@@@@@@WWW@###******************************####*#######################################################################################@@@#@@@@@@@@@@#@@WWW@@@@@@@@@@@@WWW@@@@@@@@###############*###*###************
.WWWW. WWWW. .WWWW. +WWWW .WWWW. WWWW. +WWW# .WWWW +@#############*+::.::++++***@WWWWWWWWWWW@@WW#::::::::::::++++++++++++++++++++++++++++++***+++***************************************###############################@@@@@@@@@@@@@WW@@###****************************####*#########################################################################################@@@@@@@@@@@@@#@@W@W@@@@@@@@@@@@@WWW@@@@@@@################**#####**********##
.WWWW. WWWW. .WWWW. +WWWW .WWWW. WWWW. +WWW# .WWWW +@#############@#+::::+++****#WWWWWWWWWWWWWWW#+:::::::::::++++++++++++++++++++++++++++++****+**************************************#################################@@@@@@@@@@@@@WWW@####*********************##*****##**#########################################################################################@@@@@@@@@@@@@@@WW@W@@@@@@@@@@@@@@WW@@@@@@@################***###*********####
.WWWW. WWWW. .WWWW. +WWWW .WWWW. WWWW. +WWW# .WWWW +@##########*##@@#*+::++****##@WWWWWWWWWWWWWW#+:::::+::+:++++++++++++++++++++++++++++*++*++***************************************##################################@@@@@@@@@@@@@WWWW@####*****#**************#***##############################################################################################@@@@@@@@@@@@@@@@@WWW@@@@@@@@@@@@@@@WW@@@@@@@#########****########***###**######
.WWWW. ####:.... .WWWW. +WWWW .WWWW. ####:.... +WWW# .WWWW +@#**######***##@@#*+::+****#@@WWWWWWWWWWWWWW@*::::+++++:+++++++++++++++++++++++++++***++*+*************************************#**#################################@@@@@@@@@@@@@WWWWW@#######*#****#*******####***############################################################################################@@@@@@@@@@@@@@@@@@WWW@@@@@@@@@@@@@@@WW@@@@@@@#########*********######**##**#####
.WWWW. #WWW# .WWWW. +WWWW .WWWW. #WWW# +WWW# .WWWW +@#**######***##@@@#*+:+***##@WWWWWWWWWWWWWWW@*+:+++++++++++++++++++++++++++++++++++********************************************##**#################################@@@@@@@@@@@@WWWWWW@##############****#######**#############################################################################################@@@@@@@@@@@@@@@@@WWW@@@@@@@@@@@@@@@@WW@@@@@@#######**************##############
.WWWW. #WWW# .WWWW. +WWWW .WWWW. #WWW# +WWW# .WWWW +@#*######*****#@@@@@#*+***#@@WWWWWWWWWWWWWW@@*+:++++++++++++++++++++++++++++++++++******************************************#*######################################@@@@@@@@@@@@WWWWWWW@#####################################################################################################################@@@@@@@@@@@@@@@@@@@WWWW@@@@@@@@@@@@@@@WW@@@@@@@######****************############
.WWWW. #WWW# .WWWW. +WWWW .WWWW. #WWW# +WWW# .WWWW +@########*****#@@@@@@######@@WWWWWWWWWWWW@@##*+++++++++++++++++++++++++++++++++++****************************************##***#######################################@@@@@@@@@@@@WWWWWWW@###################################################################################################################@@@@@@@@@@@@@@@@@@@@WWWWW@@@@@@@@@@@@@@WW@@@@@@@@#####******************##########
.WWWW. #WWW# .WWWW. +WWWW .WWWW. #WWW# +WWW# .WWWW +@#########*****#@@@@@@@@###@WWWWWWWWWWW@@#####++++++++++++++++++++++++++++++++++*****************************************###*########################################@@@@@@@@@@@WWWWWWWW@@#################################################################################################################@#@@@@@@@@@@@@@@@@@@@WWWWWW@@@@@@@@@@@@@@W@@@@@@@@@#####*******************########
.WWWW. ....:#### .WWWW. .#### +WWWW .WWWW. ....:#### ,...:####. +###*.... :#########***####@@@@@@#####@@@@WWW@@@@@@######*++++++++++++++++++++++++++++++++********************************************##########################################@@@@@@@@@@@WWWWWWWWWW@################################################################################################################@##@@@@@@@@@@@@@@@@@@WWWWWWW@@@@@@@@@@@@@@@@@@@@@@@#####******************#########
.WWWW. .WWWW .WWWW. .WWWW +WWWW .WWWW. .WWWW .WWWW. #WWW# :#########***###@@@@@@@@#######@@@###########@#*++++++++++++++++++++++++++++++++********************************************########################################@#@@@@@@@@@@@WWWWWWWWWWW@#############################################################################################################@#@@##@@@@@@@@@@@@@@@@WWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@#####*****************#########@
.WWWW. .WWWW .WWWW. .WWWW +WWWW .WWWW. .WWWW .WWWW. #WWW# :#########***####@@@@@@@@######@@##*###@@######*+++++++++++++++++++++++++++**+++************************************##******##########################################@@@@@@@@@@@WWWWWWWWWWWW@############################################################################################################@@@@@@@@@@@@@@@@@@@@#@WWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@#####**************###########@@
.WWWW. .WWWW .WWWW. .WWWW +WWWW .WWWW. .WWWW .WWWW. #WWW# :#########***#####@@@@@@@@######@@##*##@@#######+++++++++++++++++++++++++****++**************************************#*****#########################################@@@@@@@@@@@@WWWWWWWWWWWWWW@@#########################################################################################################@@##@@@@@@@@@@@@@@@@@@@WWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@#####**#***********###########@
.+++*WWWW*+++. .WWWW++++. .+++*WWWW*++++++++++++++++*WWWW ,++++++++#WWWW++++++++: .+++*WWWW*+++. .WWWW++++. ,+++++++++++++++++++++: :#########***####**##@@@@@@@#####@@####@@#######*+++++++++++++++++++++++******+**************************************#****###########################################@@@@@@@@@@@WWWWWWWWWWWWWWW@@########################################################################################################@@@#@@@@@@@@@@@@@@@@@@@WWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@########****####***##########@@
+WWWWWWWWWWWW+ .WWWWWWWW+ +WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW .WWWWWWWWWWWWWWWWWWWWW# +WWWWWWWWWWWW+ .WWWWWWWW+ #WWWWWWWWWWWW. :#########***###*+:+*##@@@@@@@####@@@@@@#########+++++++++++++++++**+++**********************************************##*****#########################################@@@@@@@@@@@WWWWWWWWWWWWWWWW@@@@####################################################################################################@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@#####*######################@@@
+WWWWWWWWWWWW+ .WWWWWWWW+ +WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW .WWWWWWWWWWWWWWWWWWWWW# +WWWWWWWWWWWW+ .WWWWWWWW+ #WWWWWWWWWWWW. :#########***###*++++**##@@@@@@@##@@@@@@#######@#*+++++++++++++++****++*********************************#######*###***###***#########################################@@@@@@@@@@WWWWWWWWWWWWWWWWWW@@@@@##################################################################################################@@@@@@#@@@@@@@@@@@@@@@@@WWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@#####*######################@@@
+WWWWWWWWWWWW+ .WWWWWWWW+ +WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW .WWWWWWWWWWWWWWWWWWWWW# +WWWWWWWWWWWW+ .WWWWWWWW+ #WWWWWWWWWWWW. :##########**####*+++***###@@@@@@@@@@@@@@####@@@@#*+++++++++++++***++***********************************#######**####*####**#######################################@@@@@@@@@@@@WWWWWWWWWWWWWWWWW@@@@@@@@################################################################################################@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWW@@@@@@@@@@@@@@@@@@@#######**##################@@@@@
+WWWWWWWWWWWW+ .WWWWWWWW+ +WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW .WWWWWWWWWWWWWWWWWWWWW# +WWWWWWWWWWWW+ .WWWWWWWW+ #WWWWWWWWWWWW. :###*######**##@##**+*****#####@@@@@@@@@@@###@@@@#*+++++++++**+*****************************************#######**##################################################@@@@@@@@@@@WWWWWWWWWWWWWWWWW@@@@@@@@@@#############################################################################################@@@@@@@@@@@#@@@@@@@@@@@@@@@@WWWWWWWWWWW@@@@@@@@@@@@@@@@@@###########################@@@@@
:###*######**#@@@#*********##**###@@@@@@@@@##@@@@##***************************************************#########**##**##############################################@@@@@@@@@@@WWWWWWWWWWWWWWWWW@@@@@@@@@@@@@##########################################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWW@@@@@@@@@@@@@@@@@##########################@@@@@@
:@##*######**##@@##****#*++*#****###@@@@@@@####@###**************************************************###########*****##############################################@@@@@@@@@@WWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@########################################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWW@@@@@@@@@@@@@@@@@##########################@@@@@@
:@##########*##@@###**##*++*##*########@@@#@########*********************************************###########*####*################################################@@@@@@@@@@@WWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@############################################################################@#####@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWW@@@@@@@@@@@@@@@###########################@@@@@@
:@######@@#####@@###*###+++*#############@@##########********************************************#################################################################@@@@@@@@@@WWWWWWWWWWWWWWWWWW@@@@@@@@@@@#####@@@@################################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWW@@@@@@@@@@@@@@@@#########################@@@@@@@
:@######@@#####@@#######+::*########@####@@@##########***************************************###**################################################################@@@@@@@@@@WWWWWWWWWWWWWWWWWW@@@@@@@@@@#########################################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@WWWWWW@@@@@@@@@@@@@@@@######################@@@@@@@@@
:@#**###@@##############+::*#######@@@@@##@@@#@########*************************************#####**##############################################################@@@@@@@@@@WWWWWWWWWWWWWWWWWWW@@@@@@@@@#########################################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@WWWWWW@@@@@@@@@@@@@@@#######################@@@@@@@@
:@#**###################+:+#######@@@@@#####@@#@@########***********************************#####################################################################@@@@@@@@@@WWWWWWWWWWWWWWWWWW@@@@@@@@@@#########################################################################################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@WWWWWW@@@@@@@@@@@@@@######################@@@@@@@@@
+@#**######*#############*######@@@@@@@#####@@@@@@###@@@##****************************#**#######################################################################@@@@@@@@@@WWWWWWWWWWWWWWWWWWW@@@@@@@@@@#######################################################################################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@WWWWWW@@@@@@@@@@#@@@@###################@@@@@@@@@@@
+@#**#####***##@@###############@@@@@@@#########@@@@#@@@@@##**************************#**######################################################################@@@@@@@@@@@WWWWWWWWWWWWWWWWWWW@@@@@@@@@@#######**#*############################################################################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWW@@@@@@@@@#@@@@@#################@@@@@@@@@@@@
+@#**#####***#@@@###############@@@@@@###########@@@@@@@@@@@##****************#******##*######################################################################@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWW@@@@@@@@@@########***###*#######################################################################@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWW@@@@@@@@#@@@@@@###############@@@@@@@@@@@@@
+@#**##@@##***@@@@##############@@@@@#############@@@@@@@@@@@######***********###***#########################################################################@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@######***********#******#############################################################@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWW@@@@@###@@@@@@@@###########@@@@@@@@@@@@@@
+@######@##***@@@@##############@@@@@####*#########@@@@@@@@@@@@@############**#############################################################################@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@######******************###*####################################################@@##@###@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWW@@@@@###@@@#@@@###########@@@@@@@@@@@@@@@
+@#########***#@@@@#############@@@@####***#########@@@@@@@@@@@@@@#########################################################################################@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@#######****************################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWW@@@@####@@@@#@@@##########@@@@@@@@@@@@@@@
+@########****#@@@@@###########@@@@###***#######*###@@@@@@@@@@@@@@@@@####################################################################################@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@######**********************####################################################@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@W@@@WWWWWWWWWWWWW@@@@#######@@@@@@###@@@###@@@@@@@#@@@@@@@
+@#########***#@@@@@@##########@@@@############***##@@@@@@@@@@@@@@WW@@@##################################################################################@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@######***********************####################################################@###@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@WWWW@@@WWWWWWWWWWW@@@#########@@#@@@@####@@##@@@@@@@@@@@@@@
:@#########***#@@@@@@#########@@##############***###@@@@@@@@@@@@@@@WWWW@@###############################################################################@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@######*************************#####################################################@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@WWWW@@@@WWWWWWWWWW@@@@########@@@##@@@@@###@###@@@@@@@@@@@@@
:##########***#@@@@@@@@#####@@@###############***####@@@@@@#*#@@WW@@@@WWW@@############################################################################@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@#######*************************#################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@WW@@@@@@@WWWWWWWWW@@@@########@######@@@@######@@@@@@@@@@@@@
:##########***#@@@@@@@@@@###@@######@#########*#######@@@@@#***#@@WWW@@@@WW@@@#######################################################################@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@########***********************##################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@WWWWWWWW@@@@#########@#######@@@###@@@@@@@@@@@@@@@
:#*#########*##@@@@@@@@@@@@########@@########*#########@@@@@*++**##@@WWW@@WWWW@@@@##################################################################@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@########***********************##################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@@@@@@@@@@@@WWWWWWWW@@@@@########@#########@@@@@@@@@@@@@@@@@@@
:#**#####@####@@@@@@@@@@@@@#######@@@###################@@@@#*++++*##@@W@@@@WWWWW@@@##############################################################@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@#########***#******************#############################################@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@@@@@@@@@@@@WWWWWWW@@@@@@#########@@########@@@@@#@@@@@@@@@@@@
:#**###@#@#@@@@@@@@@@@@@@@@@#####@@@####################@@@@#*+++++++*#@@WWW@@@WWWWW@@@@@######################################################@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@##########**##****************#############################################@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@@@@@@@@@@WWWWWWWWW@@@@@@#########@@@#######@@@@@@@@@@@@@@@@@@
:#***###@@@@@@@@@@@@@@@@@@@@#####@@@@@####***############@@@#*+++++++++**#@@WWWWWWWWWWWW@@@@@#################################################@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@##########***#*##***********#############################################@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@@@WWWWWWWWWWWWWW@@@@@@@@#########@@@@@@@@@@@#@@@@@@@@@@@##@@
:#****###@@@@@@@@@@@@@@@@@@@@######@@####****###@@@@@#####@@@#*+++++++++++*##@@WWWWWWWWWWWWW@@@@@@@########################################@@#@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@############***********#**################################################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWW@@@@@@WWW@@@@@@@@@########@@@@@@@@@@#@@@@@@@@@@@###@@
:#******##@@@@@@@@@@@@@@@@@@@#######@@###****##@@@@@@@@##@@@@#*++++++++++:+++**#@@@WWWWWWWWWWWWWW@@@@@@@@##########@@#################@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@###############***##***###################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWW@@@@@@@@@WWW@@@@@@@@#####@@###@@@@@@@@#@@@@@@@@@@@###@@@
:#*******##@@@@@@@@@@@@@@@@@@@##**########**##@@@@@@@@@##@@@@#*+++++++++++++++++**#@@WWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@###@#@@######@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@################**######################################################@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWW@@@@@@@@@@@@@W@@@@@@@@@######@@###@@@@@@@@@@@@@@@@@@@###@@@
:#**###***##@@@@@@@@@@@@#@@@@###***#####################@@@@@@*++++++++++++++++++++**#@@WWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@########################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@###########@@@@@#@@@#@@@@@@@@###@@@@
:#**####***##@@@@@@@@@##########***####################@@@@@@@#+++++++++++++++++++++++**##@@WWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@########################################################################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWW@@@@@@@@@@@@WWW@@@@@@@@@@@#########@@@@##@@@@@@@@@@@@@###@@@@
:#*######***##@@@@@@@@#################################@@@@@@@#*+++++++++++++++++++++++++**##@@@WWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@##################################################################@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWW@@@@WWWWWWWWW@@@@@@@@@@@@#########@@###@@@@@@@@@@@@@@###@@@@
:#*########**##@@W@@@##***###############****##########@@@@@@@#*++++++++++++++++++++++++++++***#@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@###############################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@########@@#####@@@@@@@@@@@@@@##@@@@@
:#*##@######*##@@@W@@#****##############*******#########@@@@@@#*+++++++++++++++++++++++++++++++***##@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@###########################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWW@@@@@@@@@@@@@#########@#######@@@@@@@@@@@@@@##@@@@@
:####@@@###***###@@@@#****#######@@@@####*******########@@@@@@@#+++++++++++++++++++++++++++++++++****##@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@####################################################@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWW@@@@@@@@@@@@@@@#########@@#########@@@@@@@@@@@@@@@@@@@@
:###@@@@###***####@@@##########@@@@@@@#####*****#######@@@@@@@@#*++++++++++++++++++++++++++++++++++++***###@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@####@@###############################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@WWWWWWW@@@@@@@@@@@@@@@@###########@##@#####@@@@@@@@@@@@@@@@@@@@
:###@@@@##***#######@@@@###*###@@@@@@@@####****####@@@@@@@@@@@@#*+++++++++++++++++++++++++++++++++++++******###@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@#########################@@####@@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@@@@WWWWW@@@@@@@@@@@@@@@@#####@@@##@@@@@#####@@@@@@@@@@@@@@@@@@@@
:###@@@@##***########@@@@##*####@@@@@############@@@@@@@@@@@@@@@*++++++++++++++++++++++++++++++++++++***********##@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@############@########@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@@@@@@WWWW@@WW@@@@@@@@@@@@@@@@@@@@@W@@@@#####@@@@@@@@@@@@@@@@@@@@
:####@@@#****##@@@####@@@##*####@@@@@####@#####@@@@@@@@@@@@@@@@@#*++++++++++++++++++++++++++++++++++**************##@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@############@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@@@@@@WWWWWWWW@@@@@@@@@@@@@@@@@WWWWW@@@@#####@@@@@@@@@@@@@@@@@@@@
:#**#@@##****##@@@@@####@#####@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@#*+++++++++++++++++++++++++++++++++*****************##@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@WWWWWWWWW@@@@#####@@@@@@@@@@@@@@@@@@@@
:#**#@@##****##@@@@@@#######@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*++++++++++++++++++++++++++++++++********************#@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@WWWWWWWWWWWWWWWWWWWWWW@@@@@@@WWWWWWWWWWWWW@@@@@@@###@@@@@WW@@@@@@@@@@@@@
:#**######**###@@@@@@@#####@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*+++++++++++++++++++++++++++++++***********************#@@@WWWWWWWWWWWWWW@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@####@@@WWWW@@@@@@@@@@@@
:##############@@@@@@@@@####@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@###@@@@*+++++++++++*+++++++++++**++****************************####@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@###@@@WWWWWW@@@@@@@@@@@
+@###@@#######@@@@@@@@@@@####@@@####@@@@@@@@@@@@@@@@@@@@@####@@@@#+++++++*+++*++++**++*++***********************************#######@@@####@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@##@@@WWWWWW@@@@@@@@@@@
+@##@@@######@@@@@@@@@@@@@@@#@@######@@@@@@@##@@@@@##@@##**##@@@@#*++++++*+++++++*******************************************##############@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@##@@WWWWWWW@@@@@@@@@@@
+@##@@@@#@@@@@@@@@@@@@@@@@@@@@@@######@@@@@@####@###*******##@@@@#*++++++++++++******************************************#################@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@##@@WWWWWWW@@@@@@@@@@@
+@###@@@#@@@@@@@@@@@@@@@@WWWWW@@@####@@@@@@@@#####**++***###@@@@@#*++++++++*******************************************##################@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWW@@@@@WWWWWWWWWWWWWWWWW@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@##@@WWWWWWWW@@@@@@@@@@
+@##@@@@@@@@@@@@@W@@@@@@@WWWWWW@@###@@@@@@@@@@@##*++++*##@@@@@@@@@*++++++++***************************************######################@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@WWWWWWWW@@@@@@@@@@
+@##@@@@@@@@@@@@@@@@@@@@@WWWWW@@@##@@@@@@@@@@##**++++*#@@@@@@@@@@@#+++++++++*************************************########################@#@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@@WW@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@WWWWWWWW@@@@@@@@@@@@@WWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@WWWWWWWWW@@@@@@@@@@
+@#@@@@@@#####@@@@@@@@@@WWW@@@@@@##@@@@@@@@@#**+++++*#@@@@@@@@@@@@#*++++++++*****************************################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######################################@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWW@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWW@@@@@@W@@
+@@@@@@@######@@@@@@@@@@WW@@@@@@###@@@W@@@##**++++++#@@@@@@@@@@@@@@*++++++**********************************############################@@#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@#############################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWW@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@WWWWWWWWWW@@@@@@WW@
+W@@@W@@###*##@@@@WW@@@W@@@@########@@@@@##**++++++*#@@@@@@@@@@@@@@#+++++**********************************#################################@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@@@@@@@@@@@@@@@@@@@@@###########################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWW@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@WWWWWWWWWW@@@@@WWWW
+W@WW@@###***#@@WWWW@@@@@@@##########@@@@###*+++++*#@@@@@@@@@@@@@@@#*++++*****************************########################################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@@#################################*********##############################################@@@@@@@@@@@@@@@@@@@@@@WWWWWWWW@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@@@@WWWWWWWWW@@@@@@WWW@
+W@@@@###****#@@WWWW@@@@@@@@@@@@@@####@@@@##*+++++*#@@@@@@@@@@@@@@@@*++++****************************#########################################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@######################***********#**********######**#####################################@@#@@@@@@@@@@@@@@@@@@WWWWWWWWW@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@WWWW@@@@@WWWWWWWWW@@@@@@WWW@
+W@@######**##@@WW@@@@@@@@@@@@@@@@####@@@@@#*++++*##@@@@@@@@@@@@@@@@#*++++**************************###############################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@@@@@@@@@@######################************************########*#######################################@@@@@@@@@@@@@@@@@@WWWWWWWWWW@@WWW@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@WWW@WWWW@@@@@WWWWWWWW@@@@@@@WW@@
+@########**#@@@@@@@@@@@@@@@@@@@@@###@@@@@@#*+++*###@@@@@@@@@@@@@@@@#*++++**************************############################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@#########################***************###***###############################################@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@WWWWWW@@@@@@@@@WWWWWWWW@@@@@WWWWWWWW@@@@@@WW@@@
+@########*##@@W@@@@@@@@@@@@@@@@####@@@@@@@#*++*####@@@@@@@@@@####@@@**+++**************************###########################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@########################**###*#***********##*****##############################################@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWW@@@@@@@@@@@@@@WWWWWWWWW@@@@@@@WWWWWWWWWW@@@WWWWWWWWW@@@@@@@@@@@
+@@@@@@@####@@WW@@@@@@@@@@@@@@#####@@@@@@@@##**#####@@###@@@@#######@#*+********************************#######################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@########################****************#######**###################################@@#########@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWW@@@@@@@@@@@@@@@WWWWWWWWW@@@@@@WWWWWWWWWWWW@@WWWWWWWWW@@@@@@@@@@@
+W@@@@@@@###@@W@@@@@@@@@@@@@@######@@@@@@@#################@@#########*+*********************************######################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@#########################*************##############################################@@#######@@#@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@WWWWWWW@@@@@WWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@
+WWW@@@@@@@@@WW@@@@@@@@@@@@@@###@@@@@@#####################@@@########*********************************#####################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@######################******************##########################################@######@@#@@@##@@@@@@@@@@@@@@@@@@@@WWWW@@WWWWWW@@@@@@@@@@@@@@@@@@@@@@WWWWWW@@@@WWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@
+WWWW@@@@@@@WWW@@@@@@@@@@@@@@##@@@@@@@#####################@@@#########********************************#####################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@####################*******************#*############################################@###@##@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@@@@WWWWWWW@@@@@@@@@@@@@@@@@@@@@WWWW@@@@@WWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@
+WW@@@@@@@@WWWWW@@@@@@@@@@@@@@@@@@@@@@#####################@@@@########********************************####################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@##################*********************##############################################@@#@@@@@@#@@@@@@@@@@@@@@@@@@@@@WWWWW@@@@@WWWWWWWW@@@@@@W@@@@@@@@@@@@@@@@@@@@WW@WWWWWWWWWWWWWWWWWWWWWW@@@@@@WWW@W
+W@@@@@@W@@WWWWW@@@@@@@@@@@@@@@@@@@@@@@####################@@@@@#####@@#***************************#***##############################@@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@###########********************#####################################################@@@#@@@@@@#@@@@@@@@@@@@@@@@@@@@@WWWW@@@@@@WWWWWWWWW@@@@WWWWWW@@@@@@@@@@@@@@WWWW@WWWWWWWWWWWWWWWWWWWWW@@@@@@WWWWWW
+W@@@@@WWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@##############@@@##@@@@@@@@@@@@@*************************#####*#################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@###########*******************#######################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@@@@@@@@WWWWWWW@@@@WWWWWWWW@@@@@@@@@@@@WWWWW@WWWWWWWWWWWW@@WWWWWW@@@@@@WWWWWW
+@@@@@@@WWWW@@@@@@@@@@@@@@@@@@@@@@@###################@@@###@@@@@@@@@@@@#*+**********************####################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@#########*********************#####################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@@@@@@@@WWWWWWW@@@@WWWWWWWWW@@@@@@@@@@@@WWWWWWWWWWWWWWWWWW@@@WWWW@@@@@WWWWWWW
+@@@@@@@@@@@@@@@@@@@@@@#######@@@@########@##########@@@@###@@@@@@@@@@W@@*+*********************####################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@#########*****************########################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@WW@@@@WWWWWWWWWW@@@@@@@@@@@@WWWWWWWWWWWW@WWW@@@@@WW@@@@@@WWWWWWW
+@@@@@@@@@@@@@@@@@@@@@@#######@@##########@#########@@@@@@#@@@@####@@@@@@#*+********************##################################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@#########*****************#####################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@WWWWWWWWWWWW@@@@@@@@@@@@WWWWWWWWWWW@W@@@@@@@WW@@@@@WWWWWWWW
+@@@@@@@@@@@@@@@@@@@@@@###############@@#@@#########@@@@@@@@@@@##*##@@@@@#*+*******************##################################@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@#########******************##############################################@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWW@@@@@@@@@@@@@WWWWWWWWWWWWW@@@@@WWWW@@@@@WWWW@@@
+@@@@@@@@@@@@@@@@@@@@@################@@@@@@@##@###@@@@@@@@@@@@##*###@@@@@#*******************######################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@#########*******************#############################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWW@@@@@@@@@@@WWWWWWWWWWWWWW@@@@@WWWW@@@@@WWWW@@W
+@@@@@@@@@@@@@@@@@@@@#################@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@#*******************##################################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@#######*********************###########################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@WW@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWW@@@@WWWWW@@@@@@WWW@@W
+@@@@@@@@@@@@@@@@@@@@#########***#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@#******************###############################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@#######*******************#########################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@WWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWW@@@@WWWWWW@@@@@WWW@@W
+@@@@###@@@@@@@@@@@@@@@####@###**####@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#****************##################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@#######******************#########################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWW@@@@@@@WWWW@@@@@@@@@@W
+@@@@####@@@#@@@@@@@@@@@@@@@@######@@@@@#@@@@@@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@#***************#################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@########*********************#####################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWW@@@@@@@@@W@WW@@@@@@@@@@@
+@#######@@@@@@#####@@@@@@@#######@@@@@@#@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@#***************#################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@########*********************#################################@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@#########@@@#######@@@@#########@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@@@@@@@@@#**************##############################@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@@@########**********************############################@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@@@@@@@@@@@@@@@@@@@@@@@
:@##########@########@@@@###*######@@@@@@@@@@@@@@@@@@@@#@@@@#######@@@@@@@@@@@#************###############################@@@#@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@@@########***********************###########################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@@@@WWWWW@@@@@@@@@@@@@@@@@@@@@@@
:@####################@@################@@@@@@@@@@@@######@@######@@@@@@@@@@@W#************##########################@@@##@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@@@#######************************############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@##@@@@@@@@@@@@@@@@@@WWW@W@@@@@@@@@@@@@@@@@@WWWWWW@@@@@@@@@@@@@@@@@@@@@@
+@@@###################################@@@@@@@@@@@#######@@@#####@@@@@@@@@@@@W@#***********##########################@@#####@@@@@@@@@@@@@@@@@@@@@##@@@@@#@@@@#@@@@@@@@@@@@@@@@@@@@WW@@@@@######*************************############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@WWWWWW@@@@@@@@@@@@@@@@@@@@@@
:@##############################@######@@@@@@@@@@#######@@@@@##@@@@@@@@@@@@@@WW@***********##########################@###@#@@@@@@@@@@@@@@@@@@@@####@@##@@@@@@#@@@@@@@@@@@@@@@@@@@@WW@@@@@######*********************###############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@@@@@W
:######################***############@@@@@@@@@@@######@@@@#####@@@@@@##@@@@WWW@#**********##########################@###@@@@@@@@@@@@@@@@@@@@##########@@@@@@#@@@@@@@@@@@@@@@@@@@@WW@@@@@#####*********************##############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
:#################***##****###########@@@#@@@###########@############@@@@@@@@@@W@#**********############################@@@@@@@@@@@@@@@@@@@@###########@##@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@#####**********************#############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
:@###############***###***#################################**########@@@@@@@@@@@W@#*********############################@@@@@@@@@@@@@@@@@@#@##########@###@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@#####**************************#####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@###@@@@@@##****######################################***########@@@@@@@@@@@WW@*******#*########################@##@@@@@@@@@@@@@@@@@@############@##@@@##@@@#@@@@@@@@@@@@@@@@@WW@@@@@#####***************************#####################@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Original Image:
Powered by Boosty's ASCIIArtist