:-----------------
----========+++++==========---
--=====+++=--:::::::::::-==++++=====-
--===+++=--......................:-=++++===-:.
-===+++=:.... ....:=+*+++===
===+*+=:.... .. .........-+*++===
-=++**-........ ............:+**++==
-=++*#:.......... ................*#*++=
=++*#-............ .................:*#**+=
=++*#+:.............. .......................-##*++=
++*##=................. ...........................:*##*+=
++*##-..................... ...............................+%#*+=
+**#*:.........................................................:...=%##++
+*###:..........................................................:::..=%##*+
+*##%:..............::-:.......................:--:...............::::.=%##*=
+*##%-.............-%%%%%#+..................:*%%%%%%=.............::::::*%##*
**#%=.............*%%%%%%%%*................-#%%%%%%%%*:..........::::::::@%#*+
+*#%*:............=%%%%%%%%%%+..............:+%%%%%%%%%%+:.........::::::::=%%#*=
+*#%%-.............%%%%%%%%%%%#..............=#%%%%%%%%%%%-.........:::::::::%%%#*
**#%*:............=%%%%%%%%%%%#:.............+%%%%%%%%%%%%=.........:::::--::=%%#*
*#%%=...:.........*%%%%%%%%%%%#:.............+%%%%%%%%%%%%+:........:::::---::@%%#+
+*#%%-..::.........#%%%%%%%%%%%#:.............+%%%%%%%%%%%%*:........:::::---::*%%#*
**#%*:.:::.........#@%%%%%%%%%%#:.............+%%%%%%%%%%%%+:........:::::----:-@%#*=
*#%%=.:::::........+@%%%%%%%%%%*..............-#%%%%%%%%%%%=........::::::----:-@%%#+
+*#%%-.::::.........:@%%%%%%%%%%-..............:+%%%%%%%%%%%-.......:::::::------%%%#* -======-
+*#%%-.:::::.........*%%%%%%%%%*................-#@%%%%%%%%=:.......:::::::------*%%#* =====++++***+++
.-========- *##%*:.:::::..........+%%#%%%%+..................-*%%%%%%%+:........:::::::------=%%## ++++++*+++*####***
+++*****+++=== *#%%+::::::::..........-*###+:.....................-*###*-..........::::::::-----=%%%#**++++***=:....:+#%%#**
=*##%%##****+++==*#%%=.:::::::.........................:--:..........................::::::::-----=%%##******+-........:=#%%#**
=*#%%#-....:+#*****#%%-.:::::::........................-#@@%*:........................:::::::::--::-#%#####+:..........::-*%%##*
**#%%+.......:+##**#%@-.:::::::.......................:+@@@%%=........................::::::::::::...-=-:..............:--*%%%#*
**#%#-..........-+*#%@-.:::::::.......................:*@%%%%+........................::::::::::......................::--#%%%#*
**#%#-.:.........-*%%%-.:::::::.......................:*@%%%%+.........................::::::::......................::--=#@%%#*
**#%#=::.........-*%%%-.::::::::......................:+@%%%%=..........................::::::.....................:::--=*%@%##
**#%%+:::........=#%%%-:::::::::::.....................-%%%%#:...........................:::::....................:::--=+#@%%#*
*#%%*:::::.....:=#%%#-:::::::::::......................-##*-.................::::.......:::::..................::::--==#@@%##
**#%%=::::::..::+#%%#::::::::::::::..........................................::::.......:::::................:::::--==#%@%%#*
*#%%*::::::::::+#%%*::::::::::::::.........................................::::::......:::::..............:::::--===#@@%%##
**#%%*:--::::::+#%%*::::::::::::::........................................:::::::......::::::..........:::::::--==+#@@%%##
*##%%+:--::::-+#%@+:::::::::::::::.......................................:::::::......::::::.......::::::::--===*%@@%%##
*#%%%*-------+#%@+.:::::::::::::::.....................................::::::::.......:::::::::::::::::----==+#@@@%%#*
*#%%%#=----=*#%@+.:::::::::::::::.....................................:::::::::......:::--:::::::::----===+*%@@%%%#*
*##%%%*====*%%@=.:::::::::::::::.....................................:::::::::.....::::---:::::-----===+*%@@@%%##
**##%@%#++*%%@=.:::::::::::::::.....................................:::::::::.....::::---------=====+#@@@@%%%#
+*#%%@@%#%%@=.::::::::::::::::...................................::::::::::::...::::---=======++#@@@@@%%%#
**#%%##%%@=.::::::::::::::::...................................::::::::::::...::::---====+#@@@@@@@%%##
**####%@=.:::::::::::::::::...............:::::..............:::::::::::::..:::::--==+@@@@@@@%%%##
***#%@=.::::::::::-::::::..............:::::::.............::::::--::::::.:::::--==+%@@@%%%%#
+##%@=.::::::::::-::::::..............::::::::............:::::---::::::::::::---===*##@@%#+
+##%@=.::::::::::-::::::::...........:::::::::::..........:::::---::::::::::::---==--:=@@%#+
+*#%@=.:::::::::--::::::::.........::::::::::::::........::::::----::::::::::::---=--:-@@%#+
+*#%@=.:-:::::::---::::::::.......:::::::::::::::::.....:::::::----::::::::::::------:-%@%#+
+*#%@=.:-:::::::---::::::::.......:::::::::::::::::.....:::::::-----::::::::::::-------*@%#*
*#%@+::-:::::::---:::::::::....::::::::::::::::::::...::::::::-----:::::::::::::-----:-%%%#+
*#%@*::-:::::::---::::::::::::::::::::::::::::::::::::::::::::------::::::::::::-----:-%@%#*
*#%%#::--:::::---=:-::::::::::::::::::::::::::::::::::::::::::-------::::::::::::-----:+@%#*+
*#%%%-:--:::::---=::::::::::::::::::::::::::::::::::::::::::::---=----::::::::::::----:-%%%#*
*#%%%-:---::::---=-:::::::::::::::::::::::::::::::::::::::::::---==-----::::::::::-----:=@%#*+
*#%%@-:----------=-:-:::::::::::::::::::::::::::::::::::::::::---==------::::::::::----:-#@%#*+
-*#%@=:----------==:-:::::::::::::::::::::::::::::::::::::::::---====-----::::::::::----:-%%%#*
-*#%@+:----------==:-:::::::::::::::::::----::::::::::::::::::---======--------:::::-----:=@%##*
*#%%#-:---------==:--::::::::::::::::::------::::::::::::::::---==========---------------:=@%#**
*#%%@=:---------==-:--::::::::::::::::---------::::::::::::::---==++=+***+====-------------+%%#*+
+##%@=:--------====:--:::::::::::::::-----------::::::::::::---===+#@@@@@@@%##+====-----==-+%%%#*
*#%%#--------====+:---::::::::::::::-------------:::::::::----==*%@@@@@@@@@@@@@##*+=======*@%%##+
*#%%@+----======++----::::::::::::::----------------::::-----==*@@@@%%%%%%%@@@@@@@@@%###%@@@%%##
*#%%@+=====+**#*+=:---::::::::::::----=========------------==#@@@%%# ####%%%%%@@@@@@@@@@%%%#+
##%%@@%%%@@@@@@@#:---:::::::::::----===++*##*++===========*%%@@%#* ####%%%%%%%%%%%##
*#%%%@@@@@@@%%%%%:-----::::::-----==+#@@@@@@@@@@%#***#%@@@@@%%## ########
*###%%%%%%%%##%%#:--------------==*%@@@@@@@@@@@@@%%%%@@@@%%##
#######+:=*#%@#------------==+#@@@@%%%%%%%%%%%%%%%%%%%###
*#%%%*====---===+#%@@@%%%# ***#########
*#%%@@#***+**#%@@@@%%%#
*##%%@@@@@@@@@@%%%%##
*##%%%%%%%%%%%##*
*#########