:::::::::-------========
======-=------:::::::::::::::::::...:::==++*=#%**#%@%####@%*%%#####+.::..::::::::::::----------======
=======------:-:-:::::::::-:::::::::::--=*##=*%##%+*%=%#%%%#%#%#%#%##:.:.::::::::::::::-----=---=====
======------::-:-:::::::::::::::::::--=-+*##+==#%*%*%@%%#%%%%**%*@%%##:::::::::-::::::-----------====
+======------------::::::::::::::::---+=-*###+*=+%+%%%%##%%%*+%+@%####*::::::=-::::::-----------=====
+++======---------:::--:-:--:::::---=:==-*##%+*#=-#%%#*#%%@@+#%#@%#͝#͝%%#:::::::--:-:::-------------===
**+++++=+=======------------::-:--==+-**--##%%=*%*#-+###%#@%###%@#%%%%%-:::+=#%%%+----------===--====
**+++++=======-=---------=-----=--=***##=-:###̣̖̘̤ͨ͆̒ͪ̅ͭ͌ͥ̀ͭͅ###=%===%%%%%%##*##%%%*###*+=*%%%%%#-------========+=++
+*+++++==========--------------+==+**##̛̣̜͈ͬ͛ͬ̃̋̊ͫͦ̄͐̏+=--#%+#%##*=+#%%%##*%#@.=+*%*.:#%#%%%#%%%-----------=====+++
****+++++==+===========-+-==*++*+*###̣̖̘̤ͨ͆̒ͪ̅ͭ͌ͥ̀ͭͅ#̣̖̘̤ͨ͆̒ͪ̅ͭ͌ͥ̀ͭͅ#%--++++%@
@@%%%%##*****++==###*##*+*-==++=+++%%%%%%%####*++#***#*#**#*+%+++++******=+++*+***
%%%%%%%%%%%%##%%#%%%#%######*#++***#****+===*#==*+=*-#*==#%%%#%@@@@@@@@@@@@@%*#%%#*+**=+*#%#%%##%#%%%
%@@@@@@%%%####%####̡͈͈̥͉̺͓͆͗͗̅̅̎ͣ͝#̡͈͈̥͉̺͓͆͗͗̅̅̎ͣ͝#%#######**+*#*===*=#=#=====*#%%%##@@@@@@@@@@@@@@@@@@@@%#%%##%@%%%@@@@@@@@@
%%@%@@####%%######*##*#######*##*####+*+#++++%+=%**@+=*#*#%@@%%%%%#%%%##@%%@@@#%%%%%#%%%%%@%%%%%%%%%%
%%%%########%%####*###*###%*%#%%@@@@%@%#%+++*#%#=%%#++*+*@%%@@@%%@%%@@%##@#@#%%@@@%%%%%@@@%%@%%@@@@@@
%%%%%%%%%%%%#%#***####@@@@@@@@@@@@@@@@@@@%+***%%#+%%%++++*#%%%%%#%%%%@@@@@@@%%@@@@@@%@@%@@@@@%%@%%@@@
%#%#######%#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+****%##*%@=++*##%%%%%%%@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@