;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::..:::::..... . . ::::::::. . . .... .. ....... .... ......... ......... ........::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::: ::::::::::::::::::::::^^::::::::: ::::::::::::::::: ::::::::::::::: :::::::::::::::::::::::::::
::::::::: :::::::::::::::::::::::::::::::^^::::::: ::: :::::::^^::::: :::::::::::::::::::::: :::::::::::::::
:::::::::::::::::::: :::::::: ::::^^::::: ::::::::::^^:::: ::::::: :: ::::::::::::::::::::::::::::ξ:::::::::::::::
.........::::.:::... .. :. / ̄ ̄\ . . . .. ::. . . ::::::::.::::..................::::::::_ロロ‡_::::::::::::
________|____|____________ヽ 〃__
−−−−−−−=======−−− 〜〜〜〜
−−−−−====−−−
〜〜〜 〜〜〜 〜〜〜
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜゛∧∧ヘヘ 〜〜〜〜〜〜〜〜〜〜
〜〜〜;.;";;".;.;".;〜〜〜〜〜.; .;.;" (;;; ノ;;; ) ;.;".〜〜〜.;.;"; ;.;"
.; ;"..;".;.;".;.;".;.;".;.;".;.;.;". / | \.;.;"..;.;"..;;:
.;".;.;".;.;".;.;".;.;".; .;.;".;.;" @_;ノ(_;;;;ノ .;.;";;.;;.;".;.;.;"
;.;".;.;".;.;".;.;".;.;;..;.;;.;";;.;;.;";\ \\ \.;".;.;".;.;.;";.;"