::::::::::::::::::::::::::::::::::::::::::::::::::::ノ___:::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::>:.:'":.:.:.:.:.:.:.:.:.:.\_::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::/:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.\:::;:::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::/:.:.:.:.:.:N.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.∨::::::::::::::::
. :::::::::::::::::::::::::::::::::::::::/:.:.:.:.:.:.:.| \:.::.ト、:.:.:ト、:.:.:.:.l:.:.:|::::::::;:::::::::::
:::::::::::::::::::::::::::::::::/:.:.:.:.:.i:.:.:..| ヽj \|  ̄::.:.:| /::::::::::::::
:::::::::::::::::::::::::::::::::::::}:.:.:.:.:ノ^l:.j l⌒l /::::::::::::::::
:::::::::::::::::::::::::::::::::::∧:.:.:.:| |/ ‐ 何/ ゚o pノ /::::::::::::::
::::::::::::::::::::::::::::::::::::::::\::l ラ可} ⌒ |/ /::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::.:.:ヽ、 o゚⌒ }_ /:::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::.:.:.:::::⌒⌒\ _,ノ! /:::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::\ | | /::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::! / / /::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::| { { /:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::/ | }o./:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::{ ーU |::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::ij\人ノ::::::::::::::