_::::::::::::::::::::::::::::::::::::::::::::::::::::::
/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ:
/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
/:::::::::::::/: :::::: ::::::::::::::::::::::::::::::::::::::::::::::::::: ::ヽ
/:::::::::// /:::::::/i::::: ::: :::: :: ::: :::::::::: :::::::: ヽ
/::::::::::// //:::::/ i i !::::::!!!::::::::::: ::::: /:::ゝ :::ヽ/:::ii::::、
i/::::::// /ii::::::i i i i::::::i iヽ:::::::::::::::::::::::::::::::::::::::::::::::::::::::::、
ii:::::::ii:i ii i i i____i ii iヽヽ:::::::::::::::::::::::::::::::::::::::::::::::::::::::::i
i[i! i ヽi___ ヽi\i !i ヽヽ:::::::::::::::::::::::::::::::::::::::::::::::::::::::i
ーィj ‐‐''''''''\ヽ ヽヽ:::::::::::::::::::::::::::::::::::::::::::::::::::::i
iミ !ミfイ ヽヽ:::::::::::::::::::::::::::::::::::::::::::::::::i
、、、‐ i ii::::::::::::::::::::::::::::::::::::::::::::::::::i
〃 ∞∞=@ i::i i:::::::::::::::::::::::::::::::::::::::::::::::::}
! ヽ 、 i i i:::::::::::::::::::::::::::::::::::::::::::::::::}
、 i i i::::::::::::::::::::::::::::::::::::::::::::::::}
、 ‐、 i i i:::::::::::::::i i::::::::::::::::::::::::::::/
、 ii i:::::::::::::::i i:::::::::::i i::::::ii:::::i
!::::、 i ii:::::::::::::::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 !