;;;;;;;;;;;;;;;;;;;;;;;;;;;/l../:://:||:::::::::::::::::::::::::::::||:::::::
;;;;;;;;;;;;;;;;;;;;;;;;/::l/::::l/::::||:::::::::::::::::::::::::::::||::::.
;;;;;;;;;;;;;;;;;;;;;/::::/::::::::::::::||::::::::::::::::_,;-''~::::l:::::::
;;;;;;;;;;;;;;;;;;/:::::/(./::::::||::::::::_,;-''====-、_::::::::
;;;;;;;;;;;;;;;//:::::::::巛(:::::||_,;-'' ),−< `>-::::彡
;;;;;;;;;;;;//-===-::::\://./ υ( ∴ ) /:::::::
;;;;;;;;;/个ヽ−/,-、丶ヽヽ、 .`−' ./::::::::
;;;;;;;;;;>ヽヽ:::::/:::::::::::::\ヽ~`------'~::::::::
;;;;;;;;;;;;;;;;l:::::::::iヘ:::::::::::::::::::::::'~~`ヽ、::::::::::::
;;;;;;;;;;;;;;;;|:::::::::| |::::::::::::::::::::::::::::::::::`':::::::
;;;;;;;;;;;;;;;;|:::::::::| .|::::::::::::::::::::::::::::::::::::::::::::. :
;;;;;;;;;;;;;;;;|:::::::::| |::::::::::::::::::::::::::::::::::::::::::::::... ,:::
;;;;;;;;;;;;;;;;|:::::::::| .|::::::::::::::::::::::::::::::::::::::::::::::::: ,::::::
;;;;;;;;;;;;;;;;|:::::::::|./::ヽ::::::::::::::::::::::::::::::::::::::::::::..:::::::