,,,,,,,,,,,---------、、、、___ ,/:::::::::::::::::::::;
,,,-‐'''"" , ``‐,、、,、、_ ,/::::::::::::::;;-‐''"
_,,-‐'" ヽ i i/////、 ,/:::::::::::::;-''"
,,/ ヽ、ヽヽ\||/《ヾ i i,,/`/`,-‐'"/_/:::::::::;;;;/
,,/ ヽヾ,<ヽヽii ヽ/.i i`' /,‐‐. i /;;;;;;;;;;/ /
/:::: ヘ`‐``ヽiiヽノi i ,/ /,,,-''" i i;;;;;/ /
/:::::::::: >`''""`` `ヽiヾ/// /,、 /: |''" ,,,,-''"
/:::::::::::::::::: ,、、--‐'''""",‐'''~/ヽヾ‐''"`"""ヽ ,/::: ノ ,,,,,,,=''" ,,,,,,-‐'''"
, ,-i、::::::::::::::::: ,,,,--‐‐'''""::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;---------------,,,iiiiii''''",,,,,,--‐‐''''";;;;;;-‐''"
,/ ヽ'`ヽ、:::::::: ,---''''''"":::::::::;;;;;;;;;;;;---‐‐''""--‐‐'''''''"""" ̄ ̄ ̄;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---‐''"‐--、、__
,,-''"、 ...:::::... ヽ、 ヽ‐ヽ ,-‐‐'''""ヽ;;;;;;;;--‐''",,--‐‐''''""";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>``;;;ヽ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;--、、__::::::::::::
‐'",,,、、..ヽ::;-ヽ,‐ ノ i::.. ! ....:::::::;;-''"",,,,,--‐''";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/;;;;;;;;/ i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-、```‐-、、_
ヽ、く::::::/ ,-、/ |、:: i::;-‐''",-‐''";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---'";;;;/ /;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ、::::::
:i::ト-'/:/ /i:: i''|ヽ:. iヽ-‐-、;;;;;;ヽヽ;;;;;;;;;;;;;;、'''';;;;;;;;;ヽ'''';;;;;;;;;;;;;;;;/'";;;;;;;;;;;/.⌒/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`
.:::!:`:::`-‐'‐i ! !.ヽ、:`.> ,,-';;;;iヽ;;ヽヽ;;;;;;;;;;ヽ:::::ヽ'';;;;ヽ-ヽ'';;;;;;/::::ヽ';;;;;;'、ゝ‐'";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''‐-
::ヽ::::::::::'、‐`'";;;ノ:::::::/;;;;;;;iヾ、ヽ';ヽ::ヽ';;;;;;ヽ,-‐''"_,,ヾ、、____/::::: ヽ';;;;;;;;;;;-‐、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ、::::::
ヽ::::::::::'‐'''`‐'::::::::/;;;;;;;;;;;;;;i:ヾ、:::ヾヽ:::::,-、;ヽ//,-'"i:::::;,, iii} ヾ;;;;;i ./`‐ヾ、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ;:
ヽ::::::::::::::::::::: ::/;;;;;;;;;;;i'';;;;i::::ヽ、::::`:::::::::::::`::!i!. ヽ:ヾii!:::! i;;;;| /`ヽ、ヽ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ、`‐-
..:i i;;;;;;;;;;;;;;;iヽ;;i:::::::::::::::::::::::::::::::::::ヽ. ヽ;;;;;;ノ i;ノ ):::::ノ ./;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ、:::::
...::::::ノ /;;;;;;;;;;;;;;;;;i:::;ヽ、:::::::::::::::::::::: ` ,ノ /:;-'" ./;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''-ヽ:::::
::: /;;;;;;;;;;;;;;;;;;;;;;;i' ヽヽ、::::::: ''" `' /‐--、、_;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/:::::::::::
.....::::::::::::;/;;;;;;;;;;;;;;;;;;;;;;ヽ`!/``‐、ヽ ヽ 、';;;;;;;``‐-,、‐、;;;;;;;;;;;;;;;;;;;;;;/:::::::::::::;
. .::::::;、_;;-''";;;;;;;;;;;;;;;;;;;;;/"::::!i ヾヾヽ、ヽ、 ヽ''"`-、_‐、__;;;;;;;;;;ヽヽ;;;;;;;;;;;;;/":::::::,-‐''"
. .::::/':::::i;;;;i:::!;;;;;;;;;;;;;;;;;;;;ヽ、--!i、 `-、;;i、::) !;;;;;;;;;;;;`‐---、`''"-';;;;;;;;;;;/;;;-‐<":::::::::::
.::::/::::::::::i;;;;!:ヽ;;;;;;;;;;;;;;;;;;;;;;;;ヽ、``‐.......,-'.《...... ,...-、 ヽ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ、 `‐-、_:::
. .:::/:::::::::::::ヽ;;;i::::ヽ;;;iヽ;i‐-、、;;;;;ヽ、:::::: ::::\::: ,..-'":::::::i i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ソ `
.:::/:::::::::::::::::::ヾ;i:::::::ヾヽ`:::::::::::i;;;;;;;;ヽ、 ::::::::::::. .-'":::::::::::::::i !;;;;;;;;;;;;;;;;;;;;;ヽ;;;;;;;;;;;;;;;;;;;;;;/
. .:::/::::::::::::::::::::::::::ヽ:::::::::``:::::::::::::!;;;;;;;;;;ヽ‐、_ :::::::::::::: `ヽ、::::::::::! , .!;;;;;;;;;;;;;;;;;;;;;;iヽ;;;;;;;;;;;;;;/
. .::::/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|;;;;;;;;;;;;;ヽ:::::::::::::::::::::.... `‐--' /:: !;;;;;;;;;;;;;;;;;;;;;ヽ\;;;;;;/
.::::/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|;;;;;;;;;;;;;;;;;;ヽ、:::::::::::::::...... ..::: ./::::::,,,. i;;;;;;;;;;;;;;;;;;;;;;ヽ ヽ'
:::/```‐‐‐--、、、..___::::::::::::::::::::::::::::|;!!;;;;;;;;;;;;;;;//;;ヽ、:::::::::::...... ::::: ..:/-''" i .i;;;;;;;;;;;;;;;;;;iヽ-、_
/  ̄``````````|;!i;;;;;i;;;;;;;;;i i;;;;;;;;;;;;;`‐-、._:::.. ,,.-''" i i;;;;;;;;;;;;;i i ヽ、 ,,--、
i;! !;;;i ヽ;;;;;i i;;;;;;;;;;;;;;;;;;;;;;! i;``‐‐/::::__:::::.. i .ヽ;/' i ヽ /::;;;;;/:i
! .!;;! ヽ、ヽヽ‐‐-、_ノ丿;;;;;;;丿/ヽヽ、_:.. i ヽ‐''"! / /;---'--`‐''
ヽヽ ヽヽ、`,,,'"/``'''"/;;;;;;ノ::::::::i:::.............. ヽ、、、.::::>' ..:.... ./-<;;;;::---‐,‐‐‐
,-‐'" ̄`````‐--‐''"`<`''"-‐''";;;;;;;:::::;ノ:::: ヽ:i'"..::::;;-''";;;-‐-;;/;;;-‐'",,
,,,,,-'" : ヽ```‐-、--、--=====、、、、、..._ii...;-''",-‐''""...-''``‐'''""
,/"""" : ::....ヽ::::;;;;;;ヽ、 ヽ、 ... .................ヽ、;;;;;-‐''"""~ヽ:::::::::ヽ
,-'ヽ、 /:::::;;;;:::::::::::::... : :.ヽ:::::::::::ヽ ヽ、 ::.... i;;i、``‐、、__ iヽ;;;;;;;;;ヽ:::::::
/....... ヽ、:::::::::::ヽ:::::::::... : ヽ::::::::::::ヽ、 ヽ、 ::::::.....i;;i ヾヽ-、_```‐‐‐‐-、ヽ
‐----‐‐'''''" ヽ、 ::::::ヽ::::::.. : :... ヽ:::::::::::::ヽ ..... ヽ、 :::::ヾヽ、// `.i```ヽ‐-、;;;;;`‐
. ヽ、 ヽ::::.. ::::.... : :.....ヽ:::::::::::::::ヽ :::...ヽ、 `-''":::::::../ ;ヽi''"`ヾ
::........ ヽ :::.. :::::::.... : :::ヽ::::::::;;;;;;:ヽ-‐''''"`‐-ヽ、______,,,,,,,,,,/-‐''":::;;i`‐-‐'
::::::::::::::::........ ヽ、 :::.. ::::::::;... ヽ(:::::::::):`‐,;;;;;;:::::::::::::ヽ、:::;;;;;;;;;;;/:::;;;;;;;:::::::;;i:::;:-、::
:::....:::::::::::::::::..... ヽ、 : ;:::::::::.... ,-'":::ヽ`''''"::::;;i:::::::::::;;::::::::::::ヽ、::::::::/::::::::::;;;:::::::;;;::::::::::
::::::::::::::::::::::::.... ヽ、.. : :::::::::::::..../;;::;;::::::::ヽ-ヽ-'":::::::;;;:::::::::::::::::::::`ヽ!.、::::::::::::;;::::::::::::::::::
.... :::::::::::::::::::::::..... ヽ、..... : ::::::::/;;;;;;:::::;:::::::::;;::::::::::;;;;::::::::::;;;;;::::::::::::::::::::;|!;\.、、:::::::::::::::::::::
::.. :::::::::::.......... :::::::::::::::::::::..... ヽ、:::;.... :::/;;;;;;;;;;::::;:::::::::::::::::::::::::::;;;;:::::::;;;;;;;::::::::::::::;;i!;;;;;;;>ヽ、、::::::::::::::
::::::::... :::::::::::::::::::........... ::::::::::::::::::::::.... ;::::::::../;;;;;;;::;;;;;:::;::::::::::::::::::::::::::::::::;;;;::::::;;;;;;;::::::::;;;;i!;/;;;ヽ;;;i!:::::::::::::::
:::::::::::::::.... :::::::::::::::::::::::::::::::::::::::::::::.....::/;;;;;;;;;;;;:::::;;::::::::::::::::::::::::::::::::::::::::;;;;;;;::;;;;;;::::;;;;;、、;;;;;;;ヽ;;i;;:::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;:::---、、__:::::::::::::::::::::::::::::::::::/;::;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;ヽ、;;;ヽ;!:::;;;;;;:::::
::::::::::::::::::::::::::::::::::;;;:::--‐‐'''"~ ```‐‐-、、_:::::::::::/;;;;::;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;ヽ、;!:::::::;;;;;;
/‐--、__;;::-‐''" `‐-<;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;:`::::::::::::;;
. i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;::::::::::::::::
i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;:::::::::::::
i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;:::::
ヽ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;
i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ヽ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ヽ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
. i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::
|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::;;;::::::::::::
|;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::;;;;;;;;;;;;;:::
|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::;;;;;;;;;;;;;;
!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::;;;;;;;;;;;;
. i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::;;;;;;;;;
i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::;;;;;;
!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::;;;
. i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;::-'i:::::;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::
i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:-''"::::::::!;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::
!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/:::::::::::::::::i;;;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::
. i;;;;;;;;;;;;;;;;;;;;;;;;;;:‐"::::::::::::::::::::::!;;;::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::
i;;;;;;;;;;;;;;;;;;;;;-'":::::::::::::::::::::::::::i;;;;::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;::::::::::::::::::
!;;;;;;;;;;;;;;;;;;;i:::::::::::::::::::::;-‐''''";;;;;:::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;:::::::::::::::
|;;;;;;;;;;;;;;;;;;;i::::::::::::::::/;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;::::::::::::
|;;;;;;;;;;;;;;;;;;;!::::::::::::/;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;:::::::::
|;;;;;;;;;;;;;;;;;;;!:::::::::/;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;::::::
|;;;;;;;;;;;;;;;;;;;!::::::/;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;:::
|;;;;;;;;;;;;;;;;;;i::/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;
. |;;;;;;;;;;;;;;;;;`';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;
. |;;;;;;;;;;;;;;;;;;:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;
. |;;;;;;;;;;;;;;;;;;;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;
!;;;;;;;;;;;;;;;;;;;:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::
i;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::
. i;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::