::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::゙i\                _
 :::::::::::::::::::::::::::::::::::i::::::::::::::::::::::::::::::::::゙i;;;\        、 -ー';,,'¨゙ ̄   ̄¨ ' -、 ,
 ::::::::::i:::::::::::::::::::::!:::::::::::::::i:::i:::::::!i::::::::::゙i;;;゙i\    ,、 '´    `\::',:::::::::::::::::::::::
::::::::::l:::::::::::::::::::::!::::::::::::;イ !ヘi:::::::::!:i:::::::::::i;;;;;゙i ゙i,..::.'::::`> ,_       ゙ii::::::::::::::::::::::
::::::::::i:::::!::::::::::::::!:i::::::::::::i ! l::::::::ハ::i::::::::l;;;;;;;、'´:::::::::::::::::::::::::' : ,    l::::::::::::::::::::;;
::::::::::i:::::i:::::::::::::!::i::::::::::;;!i  !:::::<!::i;;;;;;ハ ;;;,:':::::::,r'::::::::::::::::::::::::::::\.  l::::::::::::::::::::;;
::::::::!i:::::l::::::::::::!i::i:::::::;;;;;;|  ∨   i!\〈 ∨,::::,r':::::::::ヘ,r'::::::::::::::.;.;i:::\;;::::::::::::::::::::::;
::::::!i::::!l::::::::::::::::゙i::::::!:::::l     ―-メ`∨:::イ:::::::::::::ッ:::::::::\,r';;;;;i::::.:.:.i:::::::::::::::::::::::
 :::/i:::ハ:::::::::::::::::゙i::::|:::::l   .,,    ! i::ヘl::::::::/::::::::::::/i:ン、;;!::::..:.:i:::::::::::::::::::;;:::
 {  i::ハ::::::::::::::::::゙i:!i:::::i    `\,,、' !∨i::::ッ!:::::::::::<  !ハ;ト::::..:.:l:::::::::::::::::::;;;:::
 (,  リ  ゙i:::::::::::::::::! i:::::l      ゙ii'   {::゙i:::i;;l:::::/ ≧ン、 !::|:i::.:.:.:l:::::::::::::::::;i;;;::::
 ゙i\ ゙i  ゙i:::::::::::::::l: l:::l          ゙i;;゙i!;;}iッ  `,,`゙ッ !ハ!:.:.:.:l::::::::::::::::::!;;;;::;'
 ::::\`' <,゙i::::::::::::l .i:::i            !、,r'!            l;;;,r':::::::::::::::;;li;;;;::;';
 ::::::::|:\.__):゙i;::::::::i !::!          、 `     、,     i ヘ:::::::::::::::ッハi;;;∧
 :::::::!    ', ゙i:::::l  ゙ii          ゙i       ゛ミ_,,、   ヘ:::::::::::::/;;ッ;;l;;ヘ;;;;
 ゙i::::!     ゙i \i            〉    /////___/:::::::::/;;;;;ッヘ;;l,'´`゙i    .┏━━━━━━┓
 ∨       \              ' ,       ン-ニ二__;;/ i;;;;;,'`⌒゙i     ┃
          ' ,            ,r'、      <`ッ::::::::::::::://,';;;;;,'⌒  i    ┃  ん っ …
                      ,.'::、',      /::::::::::::::// ,'ッソ!、.  ッ    ┃
                     ,':;,r'ハ    /::::::::::::://;;;//`´_,,,/;;;;    ┗━━━━━━┛
            ,r'^''-- 、 , _、,r'∨ リ !、_ /:、 ,:::::::/:;ハ‐v‐r 厂/;;/;;;;;;
          、´       |::::;,r'    / ,' ゙i/::/ iッ  i //i;;;;;;;;;;;
         、´           リ     /;;;,r'`',  ゙iト ヘ´!  ! ;';ッ l;;;;;;;;;;;
 ゙i      、 ´             ゙i ( \/   !゙i  ゙i   l.  {. ;';{;;;;;;;;i;;;;;;;;;;;
  ゙i   、 ´             _/ ゙i. `'-、,_人}   } ,r'   、i゙i{;;;ソ  ゙i;;;;;;;;;
   ゙i<                ̄/\  ゙i_l   lヘ  ,r'人゙i!、;;;;> ゙i;;;;;;;
    ゙i゙i                 /´   ┤  ゙i l   |   !ヘ . . :.゙i:.:.:.:.:.:. .゙i;;;;
   / ゙i             ,.'     .!   'y   l   ,.'.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:゙i;
  ベッ /           ,r'ッ    _,r'     }  ,r' , ' : : : : : :_、 -- , : : : ::
 (_)| i゙i         _、 `´、ト ─ ─ ― ー- ,,r'  、-''´  、 ー`´    \
 -ゝ i::',       _、 二-、 `             \´__、ー`´          \
  ヘゝ:::',   /        ァニ二  ̄>    \              ゙i
 ::::::::>!、_/            ``''<__/\   )           ゙i.