.:IHHMHHI:..,                                                                                                                                                                       ,,, ,
.IHHI..IIHMMMMHIHHH:..                                                                                                                                                                  ,`    , `,``,
MHHMHHMMMMMMHMMHMHI::,                                                                                                                                                                ,`  ,,`,:I:,`," `` ,
IHHHMHMHMHHMMMMMMMMMMH::..:                                                                                                                                                         ,` ,,`,`,`:II:..,,:,:,`,
MMMMMMMMMHMMMMMMHMMMMMMMMMM:                                                                                                                                                      ,` ,,`,`,`,`:II:,:I:,:,`,:`,
MMMMMMMMMMMMMMMHMMMMMMMMMM,:                                                                                                                                                     `  , ,`,`,`,`:I:,:,:,::`,`,`,`,
MMMMMMMMMMMMMMMMMMMMMMMMMMM,                                                                                                                                                    ,    ,,`,`,,`,:II:,::I:,:,`,`,`,,
MHMHMEMMMMMMMHMMMMHHMMMMMMMM:..                                                                                                                                                ,   ,,`,`,`,`,::II::,:,::,:,:``,`,,
HMMMMMMHMMMMMMHHMMMMMMMMMMMMM                                                                                                                                                 ,   ,`,`,`,`,`,,:II:::, ,::,:,`,`,`,,
MMMMMMMMMHMMHHHI'  '::I HMMMMMI                                                                                                                                              ,,  ,,` ,,`,`,`,`,`:I:,:,`,`,`:`,``,:`,
MMMHMMMMMMMMMMHHI, '   HIHMMMMMM.                                                                                                                                           ,, ,,`,`,:`  `,,`,:,::,::,:,, ,`:`,` ,:`
MMMMMMMMMMMMMMIII,     '':IHMMMM                                                                                                                                          ,, , ,,`, :`  ,`,`, ,,:,:I:`:,`   ,`:`,:,:,
MMMMMMMMMHMMMMMMH:      ... HMMM:                                                                                                                                        ,,  , ,` ,,` ,`,:, ,   ,,:,:II,:,   ,`:,:,,`
MMMMMMMMMMMMMMMHHH        IMM MH,                                                                                                                                       ,`  , ,:`,,: ,:,,:,, ,  , ,:,:I:,:,  ,`,:,: ,,
MMMMMMMMMMMMMMMMMI,   ...IMMMMMM                                                                                                                                       ,, ,,  :: :: ,::I:,, ,    , ,:,:I:,:,   ,:,: ,:,
MMMMHMMMMMMMMMMM      :MIMMI.,                                                                                                                                        ,` ,   ,:: :: ,:I:,:,,        ,`:I:,:, ,:,`,`: ,,
MMMMMMMHHMMMMMMMM IMMI..  IMMIHH:.                                                                                                                                   ,      ,:` ,::  ,HIII;..         `:II:, ,,:, ,:,,`
MMMMMMMHHHHHMMMMIMMH:::... 'IHI,...                                                                                                                                 ,       ,:` ,::, I:  .."::,      .;IIA,:,,:::,`::,:,
MMMMMMMMMMMMMMM'H:MHIII:...:  ':.:.                                                                                                                                 , ,    ,:` ,,:,, ::X"TB7:;, `   `;..  :I:,:II:,`:,,:
MMMMMHHMMHHMHI ,,MMMII:'::I:I.  :I::                                                                                                                               ,,    , ,::`,,:I: ::";;9I.9, ,  ,;7B9"A:,: ,:III:`: ,,
MMMMMMMMHH....:'''''::.::I,.: MII:                                                                                                                                 ,, ,  ,,,:` ,::,: :, `,,`,, ,  , ":99.;`,`,A :II:,:, ,
MMMMMMMMM::.::'''   '':::IH:IM:: IM.                                                                                                                               `,    ,,,: ,,:,: ,:,    , ,,,  , `,` `   ,:HIII:, :, ,
MMMMMMMMMMII:'' '    ''::I::  :MMMM.                                                                                                                                , ,  ,, :,`,`,`,::,,    ,,,   ,,        ,AII:I::,I, ,
MMMMMMMMMMII:.        ':I:.,MMMMM':                                                                                                                                 , ,  ,,  `,``, :,:, ,  ,:,,    ,,      ,:AI:`,`,II:,
MMMMMMMMMHHHII:.     .::I:IIMMM':::                                                                                                                                 , ,, `,:,, ,,AA::,:,  ,,:,-, .-`:, ,  ,:A::`,`.:I::,,
MMMMMMMMMMMMMII::.. .:II: '::II:''.,:''''::..,                                                                                                                       ,`,`,,:,, :IHA:::,, : , ,,``   `:,, ,:A:`  ,:I:II:`
MMMMMMMMMMMMMMI:::.:I::.. .. ..:'' ,.:'''::,   ':,                                                                                                                    ,, ``::, ::VHA:::, ,":::::;;;..,:,:II`   ,::,III:`,
MMMMMMMMMMMHII::'II::....' .:'                   ::.,                                                                                                                 , ,  `:,: ::IIA:, , ,";;....;:",,:I"  , ,::IHII:",,
IHIMMMMMMMMMMMMMHI::....::::: :'        ::            '.                                                                                                              , ,,  `,:,`:VIIA:,,,   ";;;:" ,::V`,`,`,,:IHHII , ,
 '':HMMMMMMMMMMHHHHHI:..::::II::' .::::::III:,,           ',                                                                                                          ,,  , ,: ::, `:IH:,,, , ` `   ,:V,:,:, ,:IHII: , ,
      'IHMMMHHHHHHIHIIIIHHHH:    ,'' ::,  .::..         ',                                                                                                             ,    ,:, `:::.., A, ,,      ,,AI,:: ::IIHI:`  , ,
         'MMMHHHHHIIHHHHHHHII: .:::    ::::::::......    ....:,                                                                                                       ,,     :  , , `::VIHA,,`, , .AHHA., :,:I:I`,,,  ,:
          MMHHHHHHHIHIIHHIIII  '...''''   '''H:IIHII...    ...',                                                                                                    ,`  ,, ,:`,I, ,:,,`:VHIHHIHHHHHIHHIH,:I,:II::::,` ,:
         .MMHHHHHHHHHHIIIIII':' .....    .:::::II.  'HHH:..    .. ,                                                                                                ,`  `  `  ,,IHI:,`,` ,IHIHMHMHHHHHHHHI::,`:I:::`` ,, , ,
        .MMMMMHHHHII::'''  ''       ..     .....:HI:,  II:..  ...::                                                                                                ,    , , , ,:IIHHII: ,IHIHHMHHHH:IHMH,`::, "``  , ,,,:`
       ,MHMMMMMHH:.''      ...            ..   ...::H:,  'I::.    .:                                                                                              ,  ,  ,,` :`,`::IHI:, ,HIHHIHIII:I:,"VI, `,::,, , ,,:,:
      .IMHMMMHI:''     ..:. I       ..    ..    ...::II,  'II....   ::..                                                                                       ,,` , ,,, `, `:,,,:,II,`,AIHHHI:I:I::,:`,,`,`,`:: ,, ::,:, ,
      IMHIMMI:''         . :                      ....::H:  I:: .    ...                                                                                      , ,  ,,    ,    `, `::`,:III:,,:,,:,:, ::IIHII,`::,,, `::::,,`
      MMHIMMI:.''    ..:    ...:            ...      ....II,'I:....    .                                                                                      ,, ,,    ,,  ,:,:,,, `":I:, , :,, ,,:,:IHII: ,,     ``, `:,::`
     'MMHIMM:'':.    .         .. .     .. ,:           ,.IIHI:::.                                                                                           ,, ,   ,,,  , ,:,:II:,::,",, ,,   `:,:IIHI, , , ,  ,:I::,,:,
     IMIHMMI:::''           .     ,                  .,,  ..::IHIII...                                                                                       ,, ,,  ,,,  ::,:II:, ,, , ,,,,,, ,    `:,:II::-,,,..,:,::, , ,,
     IMIHMMM.......                .                         ..::HH:..                                                                                        ,, ,   ,,:   ,::,:,, , , ,,:,,, ,,,, ,:, ,, , ,    , I,::,:,,
     HMIHMMMH:.       .                                    ...:::IIHHI.                                                                                        , `,, ,:I, ,, ,::,, , ,, ,,,,, , ,,,,:,, ,, ,      ,:I::,`,
     IHIMMM::...                                              ''':::::::                                                                                        ,,``,`,I:, ,,:, ,:, ,,,,, ,, ,  , ,,:,, ,, ,       ,I :,:``,
     :MMHOM:..  .       ...       I II..... .                     ''':::                                                                                       ,,,  ,  `I`,`,:, ,,, ,  ,, ,,    , ,:, ,, , ,       ,:I:::, ,
     'MIHMMI:...       :::..    .     I. :::::.. ...::....  ..        ''                                                                                       ``,`` ,:,:,:,,,:,   ,, ,,,,   , , ,:,,,, , , ,     ,,:I:,:: ,
      MMHMMM:...  ..         .:.....:.III:::.........::::........   ..                                                                                        `    ,,:,,:,`,  `,,  ,, , ,,     , ,:,,,, ,, ,       ,:I`::`,`
      HMIMMI:...         ..:::::::::III:H:IIHII:::::...::::.........                                                                                        ,`    ,,:,:,:,  ,   ,,, ,,,,  ,  , ,,,,:, ,, ,, ,     , ,:
      IMHIMM:.....         ....:::::III:IIIHHHHHHH'III:....:..........                                                                                     ,    , ,::,:,:,       ,,,,,,,, , , ,,,,:, ,, , ,  ,      ,:
      'MHHMM:...           ....:::::IIIIHMI:':::IHHMHIII:::::...........                                                                                  ,    , ,,:,:,::        , ,,:,, ,  :,,::, ,, , , , ,     , ,:
        IMIMM:::...            ...:::::III' :....::::IHHMHIIII.::.:......                                                                                 ,   , ,:,::,:::`     ,, ,:, ,, ,,  :,:,, ,, ,  , , ,    , ,,:
        'MMIMM:...             ....::I:.'  '      ''''::IIIHMH,':::::::::                                                                               ,:   , ,,:::::I:V     , ,:, ,  ,, ,, `::,,, ,, ,, , , ,  , ,,:`
         IMHMMI:::....       ,    ..::::::..    .. ...   ..::IHMM:, '':::                                                                              B``   ,,:::::I:IV     , ,, ,, ,  , ,,  ::,:, ,,, ,, ,, ,  , ,::
          HMMMMH......:  .         ..::::::..            ..::::MMMM)                                                                                   ::`, ,:::I:I:IIV    , ,,, ,, ,  , , ,,,:I,, ,,:,, ,, ,   , ,,:
          IMIMMHH:...:...     ..  ...:::::...   ..  ...  ..:,::MMMI                                                                                    :`,,:,::I:IIIHV    , ,:, , ,, ,  , ,:,:I:,:,,:,, ,, , , , ,,:`
           HMHMMHI:... ..:.       ....:::::::..:.      ....::::IMM'                                                                                    :,,::I:IIIHIHH:   , ,,,, , ,      , ,:IH,:,,:,, ,, , ,   ,,::
           'MMOHHHI:..::...     ....::::II::.::....  ..: ...::IHM'                                                                                     `,::I:IIHIHHHH   , ,,,,, ,, , ,    ,:IH:,:,:,, ,, ,, ,  , ,:`
            IMMHHI:.:::... .      ......::III:..::.::::::..IIHHM'                                                                                       `:IHIHHIHHHHI   , ,,, ,, , ,      ,:IH,:,:,:, ,, , ,  , ,,:
            'MMMHI:::..::.       ......:IIIHIHII::IHHHHHHHHHI''                                                                                          `:IHHHHHHHH` , ... ,, ,, , ,     ,:HI,,:,, ,, , ,  ,  ,,:
             MIMHHHII::..:.    .. ..:::I::.:HHHHIHMMMHMHHIH'                                                                                                `""":HIM  ,::::: , ,, ,  ,   ,,IH:,:,:,, ,, , ,   ,,:`
             'MMHHHHII::. ...        ..:.::HHHHHHHMHHMMHI'                                                                                                       HIH ,::`:::, ,, , ,     ,:IV,:,::,, ,, ,  , , ,:
              IMMHHIII:::...       .....IHHIIHHIIIHHHHMH                                                                                                         VHH ,:A"I::,,, , , ,    ,:V,:,:,:, ,, ,  ,  ,,:
              'MMHHHIII:..:..   ..  ...:HI:...:::IIHHHMH                                                                                                         :VH,`::I::,,,, , ,     ,:V,:,:,, ,, ,  ,  , ,:
               IMHHHII::::...       ..IHI..  ..:HHHIHMHH                                                                                                         `,VA `:::`,,,, , , ,  ,:II,,:, ,, , , ,  , ,:
               'MHHII:::....       ...III:...  .IHHHHMMH                                                                                                          ,`VA,:,, ,:, ,, , , ,:IV,,:, ,,, ,, , , ,,:
                IMHHHIII::...    ..  ..IHH..  ..:::IHHMH                                                                                                           ,:IIA,:,:,:,:,,,:,:IAH:,:,:,, ,,  , , ,,:`
                'MHHHIIIII:... .    ....II:....:::IHMMHI                                                                                                            ,,:,`:A:,,:,:,,:IIHHV,:,:, ,,, ,,  , ,:I
                 MHHIIII:::::.        ...:::..:::.HHHHH'                                                                                                             ,::,`:IHIHHIHIHHHHV:,:,:,, ,, , ,  ,,AI
                 'MMHI::::.......       ..:::::.IHHHIHH                                                    ,#` ,,                                                     ,:,,:IHIHHHIHIHHH:,:,:,, ,, , ,  ,:AH`
                  MMIII::::.......    ....::::::HIIHHH'                                                    ,#'   '#,            ,,                                    ,,,:,::IHIIHIHHHV,:,,, ,, , ,  , :AIH
                  'MHHHHHII::...         ...:::::MHHHH                            $,    ,   #,    ,,      ,#'     '#,            '#,  ,,,                              ,,:::IHIIHIIHHH,::, ,,, ,,  , ,:IHIH
                   MHHHHHHIIH::.           .::::HIMMH'                             #,  ,$,  ,$  .#  #;    :#    ;#"$#  '#.   '#.      $#  `                            ,,:,::I:IHIHHV::, ,,, ,,  ,  ,:,:IIH
                   HMHHHHHHHHH::..       ....:::HHHHI                               #,,#'#,,#;  #'  '#    $#    #, .$   ##,   #:       '''.                            , ,:,::I:IIIHV,:,, ,, ,  ,  ,,:,,:IA
                   IMMHHHHHIIII:.    ..   ..::::IHHM'                                ;'    ;'   "#,,$#,. ,:'    '###:,  '#:,,##       `:##'                            , ,,,;I:IIIHV `,, ,, ,  ,  ,,:,, ,:IA
                   IMMHHHHHHHHHI::.    ..  ..::HMHHH                                                                          #;'                                      , ,,,::IIIHV  ,,, ,  ,  , ,,:,  , ,:IA
                   IMHHHHHHHIII::....   ......::HHHI                                                                     ,   ;#'                                       ,  ,,::IIHV ,,:, ,, ,  , ,,:      , ,:A,
                   HMHHHHHHIII::''' '   '''''::MHHM'                                                                      `'''`                                        , ,,::IHV" ,,:, , ,, ,, ,::       , , ,:A
                  IMMHHHIII::'''            '::HMMM                                 ,,                                                                                   ,,:IHV ,,::, ,,,,,:, ,,:        ,  , ,,:,
                 ,HMHHHII::''''         ''''::MMMHM                               ,#'                                                                                 ,  ,,:IV ,,::, , ,:,, ,:,: , ,     ,  , , ,,,
                IHMHHHHH:''   ''        ''':IHMMMMI                              ,#'      ,,,    '#,:$, ,#.    ,,,   , ,,,      ,,       ,,,     ,,,                  ,  ,,:V ,:::, , ,, , ,,,:,,, , ,    ,  , ,, ,,
               ,HMHHHHII::.            ''..::MMMMM'                              #$'`#,  .#'  `,  :#  '#  #; .#'  `,  :#'  `, .#  #;   .#'  `, .#'  `,                ,  ,,V ,,::,, , ,:, ,,,,:::,, ,,  ,   ,  ,, ,,`
              ,HMHHII::''          ''''':HHHIHMMMM                               #:  '#  ##.   :  $#      '# ##,,.'   ##    : #'  '#   ##.  ,# ##,,.'                    ,,: ,,::, , , ,:,, ,A:::,, ,, , ,   , , ,, , ,
             ,HMHHI::.              ''::IIIMMHHMMM                              ,#'   ', '#:,,#' ,:'     ,#' '#:.,'   $#,,#'  "#,,$#,. '#:.,#: '#:.,'                ,  ,,: ,::,,  , , ,, ,,AI::,, ,,, ,  , , ,, ,, ,, ,
           ,IHMMH::''               ..''IHIIMMHMMH                                                                   ,#'                   ##"                       ,  ,: ,::,:,, , ,, , ,AI::,:, ,,,, ,,  , , ,,, ,, ,,
          ,HMHHI:''              ...   .IIIHIMHMHH                                                                  ,#'               .   ##'                        , ,: ,::,:, ,,  , , ,AII::,:,,:,, ,, , ,   , ,, , , ,
         ,HMMI:'          .        ...   ::H MMHHI                                                                  ''                 ````                          , , ,::,:,, , ,  , ,AHI:I::,:,, ,,, ,, , ,   ,  , , ,,
        :HMHI:'           ..   ... ....:::. MMMHH'                                                                                                                    , ,:I::, ,, ,  , ,AHHII:I:, ,,:, ,,, , ,   ,  ,  ,, :,
       IHMHHHI:     .         ...  ....:::::MMHIM                                                                                                                   , , ,:I:,, ,,  ,  ,AHHHIIHII:,::, ,:,, ,, , ,     ,  ,::,
     ,IHMHHHHII::.             .....  ....::::MM'                                                                                                                    , ,:I::,, ,  ,  ,AHHHHIHIHI:I::,:,,:,,,  ,  ,      ,,::A
    ,HMMHHHHII::.                     ....:::MH'                                                                                                                   ,, ,:I::, ,,   , ,AHHHIHIIHIHI:I::,:,:, ,, ,       , ,,:IH:
    HMHHHHHHII:::.        ......     ...:::..IM'                                                                                                                  ,, ,:I::,, ,  ,  ,AHHHIHIHIIIHI:II::,:,:, ,, ,    , ,, ,,:IA
   MMMHHHHIII::,             ....::..   ..:::M'                                                                                                                  ,, ,:I::, ,, ,  ,,AHHHIIHIHIIIHIHI:I:,::, ,, ,  ,   , , ,,:IH:
  :MHHHHHIII::'                ....::..:::.:IM'                                                                                                                  , ,:I::,, ,  , ,AHHIHIHIHIHIHIIHI:I::,::, ,,,  ,  ,  , ,,:,:IA
  MMHHHHHIII::'                ....::::.::IHM'                                                                                                                , , ,:I:::, , ,  ,AWMHHIIHWIIIIHIHIHII::,,:, ,, ,  ,  , , ,, ,:IH
 ,MIHHHHHHHII.  .                   :::. .:III                                                                                                               , , :II:::,, , ,,`  "WMMHHIHIHIHIIHHII:I::,:,, ,, ,   ,  , , ,,:IH
 IMIHHHHMMHHII                     ''::::::II:,                                                                                                            ,  , :III::,, , ,,    , "WWMWIIWIWIIHIHII:::,,:, ,,  ,   ,  , ,,::IH
 HMIHHMMHHHHH::.                 '' :::IIH::,:,                                                                                                          ,   , ,III:,:, ,, ,   ,  , ,WWMWMWIWIWIHII:::,:,, ,,, ,  , , , ,,,::IH
 MMHHHHHHHII::'                    ''::::::II::,                                                                                                       ,    ,,:IHI:,:, ,,,` , , , , ,,"WMWMWWIHWHI,,:,,,,,, ,,  ,  , , ,,:,::II
 HMHHHHHHHHHI:'          ..       ..:   :::::....                                                                                                          ,,IIHII:::,,:,  , ,  ,  , ,,:WMWWWMWHI:,::,,,,, ,  ,   ,  , ,,::I:II
 IMMHHHHHHHHH::..                  ...:::::..:II::.                                                                                                       ,,:IHHI:,:,,,: ,  ,  ,  , ,,:,:WWWMWWI:,:,:,,,,,, ,   ,  , ,,:,:,:II:
 'MMHHHHHHHHH::::.          ....    ....::::.::I::.,                                                                                                   -`,::IHHI:,, ,,: , ,, ,  , ,,:,:,::WWMWV,::,::,:,,, ,  ,  , , , ,:,::IH
  IMMIHHHHHHHHHII::.              ....::::::...:::::.                                                                                                  ::IIII:II:,,,:` ,, ,  , , ,,:,::,::IWWW`  ,`,:,,:, ,, ,  ,  , ,,:,::IIH
  'MMMHHHHHHHHHHII::.           ...    ........::::::,                                                                                                 ::,::,,,:::,: , , ,,  ,  , ,,:,::I:IIW   , ,,,:,:,,, ,  ,  , ,,,:,::III
   HMMMHHHHHHHHHIIII::.        ....:::.   ....::::..:..                                                                                                :,,:,:,,:,::, ,, ,,, ,  , ,,:,::I:IHV      ,,,,:,,, ,, , , , ,,:,::IIV
   'HMMMHHHHHHHHHHIII:::.,       ,,:          ...::..:,.                                                                                               ,,,,,,:`::`,  ,, ,, , , ,,:,::I:IIHH:     , ,,::,:,, ,  , , ,,:,::IIV
     MMHMMHHHHHHHHIIII::::...      ...:.     ..  ...::::.                                                                                              HA, ,, ,:`, ,, ,, , , ,,,:,::I:IHIHV:    , ,,:,:, ,, , , ,, ,,::I:III
     MMHHMMMHHHHHHHHHHHHHI::...                  ......::.                                                                                             HHHA::,:, ,,, ,, ,, ,,,:,::I:IIHIHH::  , , ,,:,, ,,  , , , ,,::I:II:AA
     MMMIHHMMMHHHHHHHHIIIII:::...     ...:             ...:                                                                                            MHHHA,:A,::, ,:,, ,,:,:,::I:IHVHHHV::   , ,,:,:,, ,, ,  , ,,:,::I:I:HHA
     MMMMIHMMMMMMHHHMHHHHHHHIIII:::...::            .....::.                                                                                           :MMMHHA,, ,:, ,, ,,:,::I:IIHIHIHIH::: , , ,,:,, ,, , , , ,,:,::I:IIAHHH
     MMMMMIHMMMMHHHHMHHHHMHHH::.I:..          ...      ....:.                                                                                          M:MMMHHHA,:,:,, ,:,:::I:IIHIHHHIMM:I:, , ,,:,:,, ,, , , ,,:,::I:II:HHHHA
     MMMIHHIHHHMMHHHHMMMHHHHHMMHH::.   ...         ....  ..::.                                                                                         HM:MMMMHHA ,, , ,::I:IIHIHHHIHMMMVII:, , ,,,:, ,, , , ,, ,,::I:II:AHHHHH
     MMMMHHHIHHHHMHHHHHHMMMHHHHHHIII:::..,         ....  ...::.                                                                                        HHH:MMMMMHA , ,::I:IHIHHHIHHHHMMVIHI:,, ,,:,, ,,, , , , ,,:::I:I:AHHHHHH
     MMMMMIHHHIHMMMMMHHHHHHHHMMHHHHHII::::.:'              ::::.                                                                                       HHHH:MMMMMMHA  ,::IIHI:,:IIHHHMMIHHII:,,,:,:,,, ,, , , , ,,:,::I:MMHHHHH
    :MMMMMIIHHHIHHHMMMMHHHHHHHHHHHHIIII::::.''          ....::::.                                                                                      HHHHH:MMMMMMMHA,:,:::,,,:IIHHMMMIHHII:,,:,:,, ,, , , , ,,:,:,:I:AMMHHHHH
    IMMMMHHIIIHHIIHHHHMMMHHHHHHHHIHHHHHII::.         ....  ...:::.                                                                                     HHHHHHH:MMMMMMMHA::, ,,:,:IHMMMIHHHI:,::,:,, ,, , , , , ,,,::I:AMMMHHHHH
    IMMMHHHIHIIIIIIIHHMMMHHHHHHHHHIIIII:::..                ....:::                                                                                    HHHHHHHH:MMMMMMMMHA , ,,:IHMMMMIHHHI:I::,:, ,, , ,  , , ,,::I:AMMMMHHHHV
    IMMHHHHHI::IIIHHIHHMMMHHHHHHHII::::::.....  .              ...::                                                                                   HHHHHHHHHH:MMMMMMMMMHA,:IHMMMMMIHHHIHII:,:,,, , ,  , , ,,:,:I:MMMMMMHHH
    :MMMMHHIII::IHHHHHIHHMMMHHHHHHII:::::..   ..    ,      ...   ..::                                                                                  HHHHHHHHHHH:MMMMMMMMMMMA:HMMMMMIHHHHIHII:, ,, ,  ,  , ,,:,:I:AMMMMMHHHH
    IMMHHHHII:' '' ':HMHHHHMMMHHHHHII:::..::''     .             ..:::                                                                                 HHHHHHHHHHHH:MMMMMMMMMMMMA"VMMMIHHHHHIHI:, ,, , , , ,:,:::I:AMMMMMMHHHV
    HMMHHHII::'    :::.HHHHHHMMMHHHHHII::''   ..     ..         ....:::                                                                                HHHHHHHHHHHHHH:MMMMMMMMMMMMA"MIHHHHHHI:,:,,, ,  , ,, ,,::I:AMMMMMHHHHH
    HHMHHHH...    ....::HHHMHMMMMMHHHIII:::''..   ...            ....::.                                                                               HHHHHHHHHHHHHHHHIMMMMMMMMMMMA:IHHHHIHI:, ,,  , , , ,,:,:I:AMMMMMHHHHHV
    HMHHHII:''    ''''::IHHMMHMMMMIHHHHHH::.  ....  .  .    ..    ...:::.                                                                              ,::VHHHHHHHHMMMMMMMMMMMMMIMMMMM:VHHHI:,:, ,,  , , ,:,::I:AMMMMMHHHHHV
    MMHHHI::'    .. ... IHHHHMMMM  'IHHHHII::...... ....            ..:::                                                                              ,,:::VHHHHHHHHHHHHHHHIIIII:MMMMMMMMA:::, ,, , ,,:,,:,:::AMMMMMMHHHHV
    MMMHHH::       '':::HHHHMHMM'    'HHHHI::::::.... .               ..:                                                                              ::::::VHHHHHHHHHHHHHHHIIIIII:MMMMMMMMMMA ,,,:,,:,:,::I:AIIIMMMHHHHH
    MMMIHI:: :       :,:.MHMHMMM       'HHHH::::..........             .:                                                                              ::::::::VHHHHHHHHHHHHHHIIIIIII:MMMMMMMMMMMA,,::,::::I:AMIIIIMMHHHHV
    MMMMHIIH:.         ..HHHMMM'        'HMHHHHI::,,,,..          ...                                                                                  :::::::::VHHHHHHHHHHHHHHIIIIIII:MMMMMMMMMMIIIA::I:II:AMMMIIIIMHHHH
   ,MMMHHH::.    ..   ...:HHMM'           'MMMHHHI:::....  ...         ..                                                                               `"::::::::VHHHHHHHHHHHHHHIIIIIIII:MMMMMMIIIIIIA:I:AMMMMMMIIIHHHHV
   IMMMMHHH::.     ....:::MMMI              IMMMHHHH:::......  ..                                                                                          `"":::::VHHHHHHHHHHHHHHHIIIIIIII:MMMIIIIIIIIAAMIMMMMMMIIHHHHH
  .HMMMMHHH::...   ..  ..:MMM       ....::II.IIMMMHHHMH::::.......                                                                                              `""::VHHHHHHHHHHHHHHHIIIIIIII:IIIIIIIIIIIIIIMMMMIIIIHHHV
 MMMMMMMMMHHH::..  ..::HHMMM   ,:IIIHIIII:IIIHHMMMMMMMMHHH:::.. .                                                                                                      VHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIMMMMMIIIHHV
 MMMMMMHHHHHIII::.  .:HMMMMM:IIIIH:'''':'':''::::IHMMMMHHHH::........                                                                                                       VHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIMMMMMMMIHHV
 MMMMMMMHHIII::''IHHHIIIIIHHHI:''             '':::.IHMMMMMHHHH::.....                                                                                                            VHHHHHHHHHHHIIIIIIIIIIIMMMMMMMMHHHV
 HHHHMMHIIHIIHHHIII::::''''''                   '':::IHMMMMHHMHHI:::...                                                                                                              VHHHHHHHHHHHHHMMMMMMMMMMMMMHHHV
 IHII''HHHHIII:'::...   ..                      ....  .HHHMMHMMMMHHI::..
 HHHHIII:''''':...     .              .....    :::: .IIHMHHHHHMHHHIMMH:..
 II:'':::..         .         ....::::::: .::::::IIHHIIIHMHHIIIHHHMMMHHII
 ..   .           .          ......::::::::'' IIHHHMHHHHHHHMMMMHHHMMMMMMM
      .....       ........::::::::::III::IIHHHHHHMHHHHHHHMMMMMMMMMMMMMMMM
 .....       ..:  ..:   ......:::::IIHHHHHHHIIIIIHHMMMMMMMMHHMMMMMMHII::'
 ::.    ........::::::::::IIIHHHHHHMMMMMMMMMMHHHHHMMMMMMMMMMHHMII::'''
 :::::::IIIHHHHHHHHHHMMMMMMMMMMMMMMMMMMMHHHHHIIII::'''''''
 IHIHIIHHHHMMMMMMHHIII:::::::::::::'''''''''
 HHHHHHHHHHHHHHHHHHHH'''''''
 HHHIIIIIII''''