::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::} :::::: | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::':::::::::{ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::r_/! :::::::: 、 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::: ,.r=ミ:::::::::::::: ,x-zx、 :::::::::::::::::::::::::::::::::::::::::::::::::::} :| :l: ト.ヽ::::::::::::::::::::::::::::::::,.r=ミ ::::::::::::: ,x-zx、 :::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::: ∥.frR!::::::::::::::::: ,C心Y_ :::::::::::::::::::::::::::::::::::::::::: r'ノ/!j :::´ :::::::::::::::::::::::::::: ∥.frR! :::::::::::::::::,C心Y_ :::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::: ' ::: ゞツ ::::::::::::::::: V'゚リ :リ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'::: ゞツ::::::::::::::::::V'゚リ : リ::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::: '''' :::: ′::::::::::::::::`´,,,, :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: '''' :::::′ ::::::::::::::: `´,,,, ::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::r‐―┐ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: r‐―┐ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ::::: ノ:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ヽ :::: ノ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ,.r=ミ ::::::::::::::,x-zx、::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::_ :::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::∥.frR! ::::::::::::::::: ,C心Y_:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: f!||} :::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ' :::ゞツ ::::::::::::::::: V'゚リ: リ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: l r'ア :::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::''''::::: ′ ::::::::::::::: `´,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ` ´ :::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: r‐―┐:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::: _ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ヽ :::::ノ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::: /ア ,イ :::::::::::::: ,x-zx、 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.r=ミ ::::::::::::: ,x-zx、 :::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::: r、/././, ク !::::::::::::::::: ,C心Y_ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::nnnn :::::::::::::: ∥.frR! :::::::::::::::::,C心Y_ :::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::: V ::: ' ' '/ / ::::::::::::::::: V'゚リ :リ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::| :| :| :| :| :::::::::::::::'::: ゞツ::::::::::::::::::V'゚リ : リ::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::| ::::::: '''' | :: ′::::::::::::::::`´,,,, :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 〈^V ::::::::::::| ::::::::::::::::: '''' :::::′ ::::::::::::::: `´,,,, ::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::} ::::::::::ノ ::::r‐―┐ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヘ :` :::::::: ノ ::::::::::::::::::::::::::: r‐―┐ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::: y:::::::ヽ::::: ノ:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ヽ :::: ノ :::::::::::: /⌒ヽ :::/ ::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ,.r=ミ ::::::::::::::,x-zx、::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: (__,ィ´ ::: ∨ :::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::∥.frR! ::::::::::::::::: ,C心Y_:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/匸_\ ::::::::::::::::::::::::::::
:::::::::: _::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ' :::ゞツ ::::::::::::::::: V'゚リ: リ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: / : / ::: _ ::: 〈\ ::::::::::::::::::::::
:::::: f!||} ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::''''::::: ′ ::::::::::::::: `´,,,,::::::::::::::::::::::::::::::::::::::::::::::::: __,.ィ´ ::: (__//::::: ノ:::::::::::::::::::::::::::
:::::: l r'ア ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: r‐―┐::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::(__,ノ--<./ :::/ :::) :::::::::::::::::::::::::
:::::: ` ´ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ヽ :::::ノ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ‘ー(__/ ::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::: ,.r=ミ:::::::::::::: ,x-zx、 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.r=ミ ::::::::::::: ,x-zx、 :::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::: ∥.frR!::::::::::::::::: ,C心Y_ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ∥.frR! :::::::::::::::::,C心Y_ :::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::: ' ::: ゞツ ::::::::::::::::: V'゚リ :リ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'::: ゞツ::::::::::::::::::V'゚リ : リ::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::: '''' :::: ′::::::::::::::::`´,,,, :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: '''' :::::′ ::::::::::::::: `´,,,, ::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::r‐―┐ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: r‐―┐ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ::::: ノ:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ヽ :::: ノ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ,.r=ミ ::::::::::::::,x-zx、:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::∥.frR! ::::::::::::::::: ,C心Y_:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ' :::ゞツ ::::::::::::::::: V'゚リ: リ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::''''::::: ′ ::::::::::::::: `´,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: r‐―┐:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::: / ̄ ̄ ̄ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ヽ :::::ノ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::: L{L{L{ノ⌒ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::