;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; /. ....:::.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;:;:;::;;;;;;;;;;;;;:;:;:;:;:;:;:;;;;;;;;;;;;;;;;;:;:;;;;;:;;;;:;;;;:;:;;;:;::;:;::;::;;:;:;: |. |;;;;;;;;;;;;;;;:;:;;;;;:;;;;:;;;;:;:;;;:;::;
;;:;:::::;::;::;::::;::::;:::;::;::;:::;:::;::;:::;:::;::;::;:;::;::;::;:::;::;::;::;::;:::;:::;::;:;::::::.............. ...;::;::;:::;::;:;::;::;::;:::;::
ヽ /
\ /
` ー ─ '
~`゙゙''--、.__,,;; ,,,,__.、--─--、_____ ,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;__.、--─--,,,
~`y、___ ___ ̄______...,,-‐‐''~ ~` -、....__ ,,,,, ,..............................,,,,-‐‐''~ ~` -、.._
 ̄  ̄  ̄~^‐-‐''''"~~~`‐-‐''~^ヘ.-‐‐~`‐‐‐-、__.....--‐‐""~ ̄ ゙̄w"" ,,,,,,:::::::::::::::::::::::
,,;;;;,,,,;;;;,;;;;,;;,,,,;;;;;,,,;;;.,,,,,,,,,,..;;;;;;;;;;;;;;;;;..,,;;;;,,,,,;;;;;::;;;:::,,,,,;;;;,,,;;,,,,,,;;;:::::::::;;;;,,,,r-、,.,..,,.,,::;;--゙゙
illlllllliiiiiillllllllllliiiiiiiiiiliiiiiiiiliiii!!!;;;,,,,,;;;!!!iillllllliiiiii!!;;;,,,,,;;;!!!iillllll!!!iiiiiiiiiiii!!!lll;;;;;;;;;::::::: :::: ;;;;;;iiiiii!!!;;;;;;;;;iillllllliii
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::γ'"~~"'丶::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::,i' :::: ';:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::! :::: :::..... l::::::::::::::;;;,-~""";;;'''-;;;;__
:::::::::::::::::::::::::::::::::::::::::::ヽ、:::: :: ,ノ::::::::::(,.,;.,〜-ー''''~ ̄::::::
:::::::::::::::::::::::::::::::::::::::::::::::::`ーー'":::::::::::::::::::::::::::::::::::::::::::::::::::::
''''-,,、__::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::
-ー'"":::::::::::::::::::::::::::::::::::::::,;´""'';,, ,,,`,-;;ー,,,,,__,;:::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::'''''-ー''"""''-ーー''~:::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::彡::::彡::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::/::::::/:::::彡::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/::ヾ/:::::彡::,;彡::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::ヽ:i:ヾ/::/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:ヽ::ノ::/:/ー、:彡::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::