.--.   .--.  .---.  .---.    .-'''-.     ,-----.         .-./`)           
     |  | _/  /   |   |  |_ _|   / _     \  .'  .-,  '.       \ '_ .') _.--``) 
     | (`' ) /    |   |  ( ' )  (`' )/`--' / ,-.|  \ _ \     (_ (_) _)/_ _.-`  
     |(_ ()_)     |   '-(_{;}_)(_ o _).   ;  \  '_ /  | :      / .  \/( ' )    
     | (_,_)   __ |      (_,_)  (_,_). '. |  _`,/ \ _/  | ___  |-'`|((_{;}_)   
     |  |\ \  |  || _ _--.   | .---.  \  :: (  '\_/ \   ;|   | |   ' \(_,_)    
     |  | \ `'   /|( ' ) |   | \    `-'  | \ `"/  \  ) / |   `-'  /   \   `-.  
     |  |  \    / (_{;}_)|   |  \       /   '. \_/``".'   \      /     `---._) 
     `--'   `'-'  '(_,_) '---'   `-...-'      '-----'      `-..-'              
                                                                               
                                                                               
                                                                    (``--._    
                                                                     `-._ _\   
                                                                       ( ` )\  
                                                                      (_{;}_)) 
                                                                       (_,_)/  
                                                                     .-'   /   
                                                                    (_.---'    
                                                                               
                                                                               
   _-_'''-.  .--.   .--.  .---.  .---.    .-'''-.     ,-----.         .-./`)   
  ( ' )    \ |  | _/  /   |   |  |_ _|   / _     \  .'  .-,  '.       \ '_ .') 
 (_{;}_)    '| (`' ) /    |   |  ( ' )  (`' )/`--' / ,-.|  \ _ \     (_ (_) _) 
 .(_,_)--.  ||(_ ()_)     |   '-(_{;}_)(_ o _).   ;  \  '_ /  | :      / .  \  
 |   |   /  || (_,_)   __ |      (_,_)  (_,_). '. |  _`,/ \ _/  | ___  |-'`|   
 '   |      /|  |\ \  |  || _ _--.   | .---.  \  :: (  '\_/ \   ;|   | |   '   
 \    \____/ |  | \ `'   /|( ' ) |   | \    `-'  | \ `"/  \  ) / |   `-'  /    
  \        / |  |  \    / (_{;}_)|   |  \       /   '. \_/``".'   \      /     
   `'-...-'  `--'   `'-'  '(_,_) '---'   `-...-'      '-----'      `-..-'      
                                                                               
        _ _  _____     __   ___    _   .---.      ________ ,---.   .--..-./`)  
       ( ` ) \   _\   /  /.'   |  | |  | ,_|     |        ||    \  |  |\ .-.') 
      (_{;}_).-./ ). /  ' |   .'  | |,-./  )     |   .----'|  ,  \ |  |/ `-' \ 
       (_,_) \ '_ .') .'  .'  '_  | |\  '_ '`)   |  _|____ |  |\_ \|  | `-'`"` 
            (_ (_) _) '   '   ( \.-.| > (_)  )   |_( )_   ||  _( )_\  | .---.  
         _    /    \   \  ' (`. _` /|(  .  .-'   (_ o._)__|| (_ o _)  | |   |  
       _( )_  `-'`-'    \ | (_ (_) _) `-'`-'|___ |(_,_)    |  (_,_)\  | |   |  
      (_ o _)/  /   \    \ \ /  . \ /  |        \|   |     |  |    |  | |   |  
       (_,_)'--'     '----' ``-'`-''   `--------`'---'     '--'    '--' '---'  
                                                                               
             .---.           _ _     _______ ,---------.    .-''-.       _ _   
             | ,_|          ( ' )   /   __  \\          \ .'_ _   \     ( ' )  
           ,-./  )         (_{;}_) | ,_/  \__)`--.  ,---'/ ( ` )   '   (_{;}_) 
           \  '_ '`)        (_,_),-./  )         |   \  . (_ o _)  |    (_,_)  
            > (_)  )        //   \  '_ '`)       :_ _:  |  (_,_)___|    //     
           (  .  .-'       //     > (_)  )  __   (_I_)  '  \   .---.   //      
            `-'`-'|___  ,-'/     (  .  .-'_/  ) (_(=)_)  \  `-'    /,-'/       
             |        \)  (       `-'`-'     /   (_I_)    \       /)  (        
             `--------``---'        `._____.'    '---'     `'-..-' `---'       
                                                                               
    ____   ,---------.    ,-----.    .-------.      .-_'''-.       ,-----.     
  .'  __ `.\          \ .'  .-,  '.  |  _ _   \    '_( )_   \    .'  .-,  '.   
 /   '  \  \`--.  ,---'/ ,-.|  \ _ \ | ( ' )  |   |(_ o _)|  '  / ,-.|  \ _ \  
 |___|  /  |   |   \  ;  \  '_ /  | :|(_ o _) /   . (_,_)/___| ;  \  '_ /  | : 
    _.-`   |   :_ _:  |  _`,/ \ _/  || (_,_).' __ |  |  .-----.|  _`,/ \ _/  | 
 .'   _    |   (_I_)  : (  '\_/ \   ;|  |\ \  |  |'  \  '-   .': (  '\_/ \   ; 
 |  _( )_  |  (_(=)_)  \ `"/  \  ) / |  | \ `'   / \  `-'`   |  \ `"/  \  ) /  
 \ (_ o _) /   (_I_)    '. \_/``".'  |  |  \    /   \        /   '. \_/``".'   
  '.(_,_).'    '---'      '-----'    ''-'   `'-'     `'-...-'      '-----'     
                                                                               
     .---.  .---.    .-'''-.             ______            .-''-. ,---------.  
     |   |  |_ _|   / _     \ (``--._   |    _ `''.      .'_ _   \\          \ 
     |   |  ( ' )  (`' )/`--'  `-._ _\  | _ | ) _  \    / ( ` )   '`--.  ,---' 
     |   '-(_{;}_)(_ o _).       ( ` )\ |( ''_'  ) |   . (_ o _)  |   |   \    
     |      (_,_)  (_,_). '.    (_{;}_))| . (_) `. |   |  (_,_)___|   :_ _:    
     | _ _--.   | .---.  \  :    (_,_)/ |(_    ._) '_ _'  \   .---.   (_I_)    
     |( ' ) |   | \    `-'  |  .-'   /  |  (_.\.' /( ` )\  `-'    /  (_(=)_)   
     (_{;}_)|   |  \       /  (_.---'   |       .'(_{;}_)\       /    (_I_)    
     '(_,_) '---'   `-...-'             '-----'`   (_,_)  `'-..-'     '---'    
                                                                               
                                                    ,---.   .--.               
                                            .-,     |    \  |  |               
                                         ,-.|  \ _  |  ,  \ |  |               
                                         \  '_ /  | |  |\_ \|  |  _ _    _ _   
                                         _`,/ \ _/  |  _( )_\  | ( ' )--( ' )  
                                        (  '\_/ \   | (_ o _)  |(_{;}_)(_{;}_) 
                                         `"/  \  )  |  (_,_)\  | (_,_)--(_,_)  
                                           \_/``"   |  |    |  |               
                                                    '--'    '--'               
                                                                               
     .--.   .--.  .---.  .---.    .-'''-.     ,-----.         .-./`)           
     |  | _/  /   |   |  |_ _|   / _     \  .'  .-,  '.       \ '_ .') _.--``) 
     | (`' ) /    |   |  ( ' )  (`' )/`--' / ,-.|  \ _ \     (_ (_) _)/_ _.-`  
     |(_ ()_)     |   '-(_{;}_)(_ o _).   ;  \  '_ /  | :      / .  \/( ' )    
     | (_,_)   __ |      (_,_)  (_,_). '. |  _`,/ \ _/  | ___  |-'`|((_{;}_)   
     |  |\ \  |  || _ _--.   | .---.  \  :: (  '\_/ \   ;|   | |   ' \(_,_)    
     |  | \ `'   /|( ' ) |   | \    `-'  | \ `"/  \  ) / |   `-'  /   \   `-.  
     |  |  \    / (_{;}_)|   |  \       /   '. \_/``".'   \      /     `---._) 
     `--'   `'-'  '(_,_) '---'   `-...-'      '-----'      `-..-'              
                                                                               
                                                                               
                                                                    (``--._    
                                                                     `-._ _\   
                                                                       ( ` )\  
                                                                      (_{;}_)) 
                                                                       (_,_)/  
                                                                     .-'   /   
                                                                    (_.---'    
                                                                               
                                                                               
   _ _     .-''-.  .---.  .---.     _______      ____    .-------.    ____     
  ( ` )  .'_ _   \ |   |  |_ _|    /   __  \   .'  __ `. \  _(`)_ \ .'  __ `.  
 (_{;}_)/ ( ` )   '|   |  ( ' )   | ,_/  \__) /   '  \  \| (_ o._)|/   '  \  \ 
  (_,_). (_ o _)  ||   '-(_{;}_),-./  )       |___|  /  ||  (_,_) /|___|  /  | 
       |  (_,_)___||      (_,_) \  '_ '`)        _.-`   ||   '-.-'    _.-`   | 
    _  '  \   .---.| _ _--.   |  > (_)  )  __ .'   _    ||   |     .'   _    | 
  _( )_ \  `-'    /|( ' ) |   | (  .  .-'_/  )|  _( )_  ||   |     |  _( )_  | 
 (_ o _) \       / (_{;}_)|   |  `-'`-'     / \ (_ o _) //   )     \ (_ o _) / 
  (_,_)   `'-..-'  '(_,_) '---'    `._____.'   '.(_,_).' `---'      '.(_,_).'  
                                                                               
       _ _        ,---.     ,---.      .-''-.  ,---.   .--..-./`)   .---.      
      ( ` )      /,--.|    /_   |    .'_ _   \ |    \  |  |\ .-.')  | ,_|      
     (_{;}_)    //_  ||      ,_ |   / ( ` )   '|  ,  \ |  |/ `-' \,-./  )      
      (_,_)    /_( )_||  ,-./  )|  . (_ o _)  ||  |\_ \|  | `-'`"`\  '_ '`)    
              /(_ o _)|  \  '_ '`) |  (_,_)___||  _( )_\  | .---.  > (_)  )    
        _    / /(_,_)||_  > (_)  ) '  \   .---.| (_ o _)  | |   | (  .  .-'    
      _( )_ /  `-----' ||(  .  .-'  \  `-'    /|  (_,_)\  | |   |  `-'`-'|___  
     (_ o _)`-------|||-' `-'`-'|    \       / |  |    |  | |   |   |        \ 
      (_,_)         '-'     '---'     `'-..-'  '--'    '--' '---'   `--------` 
                                                                               
       _____     __    ____   ,---------. ,---.   .--.   ____     __  .-'''-.  
       \   _\   /  / .'  __ `.\          \|    \  |  |   \   \   /  // _     \ 
       .-./ ). /  ' /   '  \  \`--.  ,---'|  ,  \ |  |    \  _. /  '(`' )/`--' 
       \ '_ .') .'  |___|  /  |   |   \   |  |\_ \|  |     _( )_ .'(_ o _).    
      (_ (_) _) '      _.-`   |   :_ _:   |  _( )_\  | ___(_ o _)'  (_,_). '.  
        /    \   \  .'   _    |   (_I_)   | (_ o _)  ||   |(_,_)'  .---.  \  : 
        `-'`-'    \ |  _( )_  |  (_(=)_)  |  (_,_)\  ||   `-'  /   \    `-'  | 
       /  /   \    \\ (_ o _) /   (_I_)   |  |    |  | \      /     \       /  
      '--'     '----''.(_,_).'    '---'   '--'    '--'  `-..-'       `-...-'   
                                                                               
            .-------.        ,-----.    .-------.    .-------.        .-''-.   
            |  _ _   \     .'  .-,  '.  |  _ _   \   |  _ _   \     .'_ _   \  
            | ( ' )  |    / ,-.|  \ _ \ | ( ' )  |   | ( ' )  |    / ( ` )   ' 
            |(_ o _) /   ;  \  '_ /  | :|(_ o _) /   |(_ o _) /   . (_ o _)  | 
            | (_,_).' __ |  _`,/ \ _/  || (_,_).' __ | (_,_).' __ |  (_,_)___| 
            |  |\ \  |  |: (  '\_/ \   ;|  |\ \  |  ||  |\ \  |  |'  \   .---. 
            |  | \ `'   / \ `"/  \  ) / |  | \ `'   /|  | \ `'   / \  `-'    / 
            |  |  \    /   '. \_/``".'  |  |  \    / |  |  \    /   \       /  
            ''-'   `'-'      '-----'    ''-'   `'-'  ''-'   `'-'     `'-..-'   
                                                                               
                              .-------.       ____        .-''-.  ,---.   .--. 
                              |  _ _   \    .'  __ `.   .'_ _   \ |    \  |  | 
                              | ( ' )  |   /   '  \  \ / ( ` )   '|  ,  \ |  | 
                              |(_ o _) /   |___|  /  |. (_ o _)  ||  |\_ \|  | 
                              | (_,_).' __    _.-`   ||  (_,_)___||  _( )_\  | 
                              |  |\ \  |  |.'   _    |'  \   .---.| (_ o _)  | 
                              |  | \ `'   /|  _( )_  | \  `-'    /|  (_,_)\  | 
                              |  |  \    / \ (_ o _) /  \       / |  |    |  | 
                              ''-'   `'-'   '.(_,_).'    `'-..-'  '--'    '--' 
                                                                               
              .-''-.  .-------. _____     __   .-''-.  ,---.   .--.  ___    _  
            .'_ _   \ \  _(`)_ \\   _\   /  /.'_ _   \ |    \  |  |.'   |  | | 
           / ( ` )   '| (_ o._)|.-./ ). /  '/ ( ` )   '|  ,  \ |  ||   .'  | | 
          . (_ o _)  ||  (_,_) /\ '_ .') .'. (_ o _)  ||  |\_ \|  |.'  '_  | | 
          |  (_,_)___||   '-.-'(_ (_) _) ' |  (_,_)___||  _( )_\  |'   ( \.-.| 
          '  \   .---.|   |      /    \   \'  \   .---.| (_ o _)  |' (`. _` /| 
           \  `-'    /|   |      `-'`-'    \\  `-'    /|  (_,_)\  || (_ (_) _) 
            \       / /   )     /  /   \    \\       / |  |    |  | \ /  . \ / 
             `'-..-'  `---'    '--'     '----'`'-..-'  '--'    '--'  ``-'`-''  
                                                                               
                                ______         .-''-. ,---------.   _______    
                               |    _ `''.   .'_ _   \\          \ /   __  \   
                               | _ | ) _  \ / ( ` )   '`--.  ,---'| ,_/  \__)  
                               |( ''_'  ) |. (_ o _)  |   |   \ ,-./  )        
                               | . (_) `. ||  (_,_)___|   :_ _: \  '_ '`)      
                               |(_    ._) ''  \   .---.   (_I_)  > (_)  )  __  
                               |  (_.\.' /  \  `-'    /  (_(=)_)(  .  .-'_/  ) 
                               |       .'    \       /    (_I_)  `-'`-'     /  
                               '-----'`       `'-..-'     '---'    `._____.'   
                                                                               
                ,---.   .--.    .-''-.  .--.   .--.      ,-----.  ,---------.  
                |    \  |  |  .'_ _   \ |  | _/  /     .'  .-,  '.\          \ 
                |  ,  \ |  | / ( ` )   '| (`' ) /     / ,-.|  \ _ \`--.  ,---' 
                |  |\_ \|  |. (_ o _)  ||(_ ()_)     ;  \  '_ /  | :  |   \    
                |  _( )_\  ||  (_,_)___|| (_,_)   __ |  _`,/ \ _/  |  :_ _:    
                | (_ o _)  |'  \   .---.|  |\ \  |  |: (  '\_/ \   ;  (_I_)    
                |  (_,_)\  | \  `-'    /|  | \ `'   / \ `"/  \  ) /  (_(=)_)   
                |  |    |  |  \       / |  |  \    /   '. \_/``".'    (_I_)    
                '--'    '--'   `'-..-'  `--'   `'-'      '-----'      '---'    
                                                                               
                                                            _ _ .----,   _ _   
                                                           ( ' )`-,  (  (_I_)  
                                                          (_{;}_) _\_ \(_(=)_) 
                                                           (_,_) ( ' ) \(_I_)  
                                                                (_{;}_) ( )/   
                                                                 (_,_) /       
                                                                   /  /        
                                                                .-`  (         
                                                                '----`         
                                                                               
     .--.   .--.  .---.  .---.    .-'''-.     ,-----.         .-./`)           
     |  | _/  /   |   |  |_ _|   / _     \  .'  .-,  '.       \ '_ .') _.--``) 
     | (`' ) /    |   |  ( ' )  (`' )/`--' / ,-.|  \ _ \     (_ (_) _)/_ _.-`  
     |(_ ()_)     |   '-(_{;}_)(_ o _).   ;  \  '_ /  | :      / .  \/( ' )    
     | (_,_)   __ |      (_,_)  (_,_). '. |  _`,/ \ _/  | ___  |-'`|((_{;}_)   
     |  |\ \  |  || _ _--.   | .---.  \  :: (  '\_/ \   ;|   | |   ' \(_,_)    
     |  | \ `'   /|( ' ) |   | \    `-'  | \ `"/  \  ) / |   `-'  /   \   `-.  
     |  |  \    / (_{;}_)|   |  \       /   '. \_/``".'   \      /     `---._) 
     `--'   `'-'  '(_,_) '---'   `-...-'      '-----'      `-..-'              
                                                                               
                                                                               
                                                                    (``--._    
                                                                     `-._ _\   
                                                                       ( ` )\  
                                                                      (_{;}_)) 
                                                                       (_,_)/  
                                                                     .-'   /   
                                                                    (_.---'    
                                                                               
                                                                               
   _ _     .-''-.  .---.  .---.     _______      ____    .-------.    ____     
  ( ` )  .'_ _   \ |   |  |_ _|    /   __  \   .'  __ `. \  _(`)_ \ .'  __ `.  
 (_{;}_)/ ( ` )   '|   |  ( ' )   | ,_/  \__) /   '  \  \| (_ o._)|/   '  \  \ 
  (_,_). (_ o _)  ||   '-(_{;}_),-./  )       |___|  /  ||  (_,_) /|___|  /  | 
       |  (_,_)___||      (_,_) \  '_ '`)        _.-`   ||   '-.-'    _.-`   | 
    _  '  \   .---.| _ _--.   |  > (_)  )  __ .'   _    ||   |     .'   _    | 
  _( )_ \  `-'    /|( ' ) |   | (  .  .-'_/  )|  _( )_  ||   |     |  _( )_  | 
 (_ o _) \       / (_{;}_)|   |  `-'`-'     / \ (_ o _) //   )     \ (_ o _) / 
  (_,_)   `'-..-'  '(_,_) '---'    `._____.'   '.(_,_).' `---'      '.(_,_).'  
                                                                               
       _ _        ,---.     ,---.      .-''-.  ,---.   .--..-./`)   .---.      
      ( ` )      /,--.|    /_   |    .'_ _   \ |    \  |  |\ .-.')  | ,_|      
     (_{;}_)    //_  ||      ,_ |   / ( ` )   '|  ,  \ |  |/ `-' \,-./  )      
      (_,_)    /_( )_||  ,-./  )|  . (_ o _)  ||  |\_ \|  | `-'`"`\  '_ '`)    
              /(_ o _)|  \  '_ '`) |  (_,_)___||  _( )_\  | .---.  > (_)  )    
        _    / /(_,_)||_  > (_)  ) '  \   .---.| (_ o _)  | |   | (  .  .-'    
      _( )_ /  `-----' ||(  .  .-'  \  `-'    /|  (_,_)\  | |   |  `-'`-'|___  
     (_ o _)`-------|||-' `-'`-'|    \       / |  |    |  | |   |   |        \ 
      (_,_)         '-'     '---'     `'-..-'  '--'    '--' '---'   `--------` 
                                                                               
                                                            _ _ .----,   _ _   
                                                           ( ' )`-,  (  (_I_)  
                                                          (_{;}_) _\_ \(_(=)_) 
                                                           (_,_) ( ' ) \(_I_)  
                                                                (_{;}_) ( )/   
                                                                 (_,_) /       
                                                                   /  /        
                                                                .-`  (         
                                                                '----`         
                                                                               
     .--.   .--.  .---.  .---.    .-'''-.     ,-----.         .-./`)           
     |  | _/  /   |   |  |_ _|   / _     \  .'  .-,  '.       \ '_ .') _.--``) 
     | (`' ) /    |   |  ( ' )  (`' )/`--' / ,-.|  \ _ \     (_ (_) _)/_ _.-`  
     |(_ ()_)     |   '-(_{;}_)(_ o _).   ;  \  '_ /  | :      / .  \/( ' )    
     | (_,_)   __ |      (_,_)  (_,_). '. |  _`,/ \ _/  | ___  |-'`|((_{;}_)   
     |  |\ \  |  || _ _--.   | .---.  \  :: (  '\_/ \   ;|   | |   ' \(_,_)    
     |  | \ `'   /|( ' ) |   | \    `-'  | \ `"/  \  ) / |   `-'  /   \   `-.  
     |  |  \    / (_{;}_)|   |  \       /   '. \_/``".'   \      /     `---._) 
     `--'   `'-'  '(_,_) '---'   `-...-'      '-----'      `-..-'              
                                                                               
                                   .-''-.  .---.  .---.,---------.             
                                 .'_ _   \ |   |  |_ _|\          \ (``--._    
                                / ( ` )   '|   |  ( ' ) `--.  ,---'  `-._ _\   
                               . (_ o _)  ||   '-(_{;}_)   |   \       ( ` )\  
                               |  (_,_)___||      (_,_)    :_ _:      (_{;}_)) 
                               '  \   .---.| _ _--.   |    (_I_)       (_,_)/  
                                \  `-'    /|( ' ) |   |   (_(=)_)    .-'   /   
                                 \       / (_{;}_)|   |    (_I_)    (_.---'    
                                  `'-..-'  '(_,_) '---'    '---'               
                                                                               
                              ,---------.    ,-----.      .---.     .-------.  
                              \          \ .'  .-,  '.    | ,_|     \  _(`)_ \ 
                               `--.  ,---'/ ,-.|  \ _ \ ,-./  )     | (_ o._)| 
                                  |   \  ;  \  '_ /  | :\  '_ '`)   |  (_,_) / 
                                  :_ _:  |  _`,/ \ _/  | > (_)  )   |   '-.-'  
                                  (_I_)  : (  '\_/ \   ;(  .  .-'   |   |      
                                 (_(=)_)  \ `"/  \  ) /  `-'`-'|___ |   |      
                                  (_I_)    '. \_/``".'    |        \/   )      
                                  '---'      '-----'      `--------``---'      
                                                                               
             .-''-.  .--.   .--.      _______  .-./`) .---.  .---.,---------.  
           .'_ _   \ |  | _/  /      /   __  \ \ .-.')|   |  |_ _|\          \ 
          / ( ` )   '| (`' ) /      | ,_/  \__)/ `-' \|   |  ( ' ) `--.  ,---' 
         . (_ o _)  ||(_ ()_)     ,-./  )       `-'`"`|   '-(_{;}_)   |   \    
         |  (_,_)___|| (_,_)   __ \  '_ '`)     .---. |      (_,_)    :_ _:    
         '  \   .---.|  |\ \  |  | > (_)  )  __ |   | | _ _--.   |    (_I_)    
          \  `-'    /|  | \ `'   /(  .  .-'_/  )|   | |( ' ) |   |   (_(=)_)   
           \       / |  |  \    /  `-'`-'     / |   | (_{;}_)|   |    (_I_)    
            `'-..-'  `--'   `'-'     `._____.'  '---' '(_,_) '---'    '---'    
                                                                               
                                                          .-'''-. ,---.   .--. 
                                                         / _     \|    \  |  | 
                                                        (`' )/`--'|  ,  \ |  | 
                                                       (_ o _).   |  |\_ \|  | 
                                                        (_,_). '. |  _( )_\  | 
                                                       .---.  \  :| (_ o _)  | 
                                                       \    `-'  ||  (_,_)\  | 
                                                        \       / |  |    |  | 
                                                         `-...-'  '--'    '--' 
                                                                               
        .-./`)  ________  ________   ___    _    .-'''-.    ____               
        \ .-.')|        ||        |.'   |  | |  / _     \ .'  __ `.    _.--``) 
        / `-' \|   .----'|   .----'|   .'  | | (`' )/`--'/   '  \  \  /_ _.-`  
         `-'`"`|  _|____ |  _|____ .'  '_  | |(_ o _).   |___|  /  | /( ' )    
         .---. |_( )_   ||_( )_   |'   ( \.-.| (_,_). '.    _.-`   |((_{;}_)   
         |   | (_ o._)__|(_ o._)__|' (`. _` /|.---.  \  :.'   _    | \(_,_)    
         |   | |(_,_)    |(_,_)    | (_ (_) _)\    `-'  ||  _( )_  |  \   `-.  
         |   | |   |     |   |      \ /  . \ / \       / \ (_ o _) /   `---._) 
         '---' '---'     '---'       ``-'`-''   `-...-'   '.(_,_).'            
                                                                               
                                             ______       .---.       .-''-.   
                                  (``--._   |    _ `''.   | ,_|     .'_ _   \  
                                   `-._ _\  | _ | ) _  \,-./  )    / ( ` )   ' 
                                     ( ` )\ |( ''_'  ) |\  '_ '`) . (_ o _)  | 
                                    (_{;}_))| . (_) `. | > (_)  ) |  (_,_)___| 
                                     (_,_)/ |(_    ._) '(  .  .-' '  \   .---. 
                                   .-'   /  |  (_.\.' /  `-'`-'|___\  `-'    / 
                                  (_.---'   |       .'    |        \\       /  
                                            '-----'`      `--------` `'-..-'   
                                                                               
                    .-''-.     .-'''-.     ,-----.    .---.  .---.,---------.  
                  .'_ _   \   / _     \  .'  .-,  '.  |   |  |_ _|\          \ 
                 / ( ` )   ' (`' )/`--' / ,-.|  \ _ \ |   |  ( ' ) `--.  ,---' 
                . (_ o _)  |(_ o _).   ;  \  '_ /  | :|   '-(_{;}_)   |   \    
                |  (_,_)___| (_,_). '. |  _`,/ \ _/  ||      (_,_)    :_ _:    
                '  \   .---..---.  \  :: (  '\_/ \   ;| _ _--.   |    (_I_)    
                 \  `-'    /\    `-'  | \ `"/  \  ) / |( ' ) |   |   (_(=)_)   
                  \       /  \       /   '. \_/``".'  (_{;}_)|   |    (_I_)    
                   `'-..-'    `-...-'      '-----'    '(_,_) '---'    '---'    
                                                                               
           ,---------.   _ _  ,---.   .--.    .-''-.  .-------.       ____     
           \          \ ( ' ) |    \  |  |  .'_ _   \ |  _ _   \    .'  __ `.  
            `--.  ,---'(_{;}_)|  ,  \ |  | / ( ` )   '| ( ' )  |   /   '  \  \ 
               |   \    (_,_) |  |\_ \|  |. (_ o _)  ||(_ o _) /   |___|  /  | 
               :_ _:          |  _( )_\  ||  (_,_)___|| (_,_).' __    _.-`   | 
               (_I_)          | (_ o _)  |'  \   .---.|  |\ \  |  |.'   _    | 
              (_(=)_)         |  (_,_)\  | \  `-'    /|  | \ `'   /|  _( )_  | 
               (_I_)          |  |    |  |  \       / |  |  \    / \ (_ o _) / 
               '---'          '--'    '--'   `'-..-'  ''-'   `'-'   '.(_,_).'  
                                                                               
                        .---.     .---.       .-''-.  .---.  .---.    .-'''-.  
                        | ,_|     | ,_|     .'_ _   \ |   |  |_ _|   / _     \ 
                      ,-./  )   ,-./  )    / ( ` )   '|   |  ( ' )  (`' )/`--' 
                      \  '_ '`) \  '_ '`) . (_ o _)  ||   '-(_{;}_)(_ o _).    
                       > (_)  )  > (_)  ) |  (_,_)___||      (_,_)  (_,_). '.  
                      (  .  .-' (  .  .-' '  \   .---.| _ _--.   | .---.  \  : 
                       `-'`-'|___`-'`-'|___\  `-'    /|( ' ) |   | \    `-'  | 
                        |        \|        \\       / (_{;}_)|   |  \       /  
                        `--------``--------` `'-..-'  '(_,_) '---'   `-...-'   
                                                                               
   .-'''-. ,---------. .-------. .-./`) .-------.        _______      .-'''-.  
  / _     \\          \\  _(`)_ \\ .-.')|  _ _   \      /   __  \    / _     \ 
 (`' )/`--' `--.  ,---'| (_ o._)|/ `-' \| ( ' )  |     | ,_/  \__)  (`' )/`--' 
(_ o _).       |   \   |  (_,_) / `-'`"`|(_ o _) /   ,-./  )       (_ o _).    
 (_,_). '.     :_ _:   |   '-.-'  .---. | (_,_).' __ \  '_ '`)      (_,_). '.  
.---.  \  :    (_I_)   |   |      |   | |  |\ \  |  | > (_)  )  __ .---.  \  : 
\    `-'  |   (_(=)_)  |   |      |   | |  | \ `'   /(  .  .-'_/  )\    `-'  | 
 \       /     (_I_)   /   )      |   | |  |  \    /  `-'`-'     /  \       /  
  `-...-'      '---'   `---'      '---' ''-'   `'-'     `._____.'    `-...-'   
                                                                               
          .---.  .---.     _______  .-./`) .-------.        .-''-.             
(``--._   |   |  |_ _|    /   __  \ \ .-.')|  _ _   \     .'_ _   \    _.--``) 
 `-._ _\  |   |  ( ' )   | ,_/  \__)/ `-' \| ( ' )  |    / ( ` )   '  /_ _.-`  
   ( ` )\ |   '-(_{;}_),-./  )       `-'`"`|(_ o _) /   . (_ o _)  | /( ' )    
  (_{;}_))|      (_,_) \  '_ '`)     .---. | (_,_).' __ |  (_,_)___|((_{;}_)   
   (_,_)/ | _ _--.   |  > (_)  )  __ |   | |  |\ \  |  |'  \   .---. \(_,_)    
 .-'   /  |( ' ) |   | (  .  .-'_/  )|   | |  | \ `'   / \  `-'    /  \   `-.  
(_.---'   (_{;}_)|   |  `-'`-'     / |   | |  |  \    /   \       /    `---._) 
          '(_,_) '---'    `._____.'  '---' ''-'   `'-'     `'-..-'             
                                                                               
                                       .-'''-. .-./`) .---.  .---.,---------.  
                                      / _     \\ .-.')|   |  |_ _|\          \ 
                                     (`' )/`--'/ `-' \|   |  ( ' ) `--.  ,---' 
                                    (_ o _).    `-'`"`|   '-(_{;}_)   |   \    
                                     (_,_). '.  .---. |      (_,_)    :_ _:    
                                    .---.  \  : |   | | _ _--.   |    (_I_)    
                                    \    `-'  | |   | |( ' ) |   |   (_(=)_)   
                                     \       /  |   | (_{;}_)|   |    (_I_)    
                                      `-...-'   '---' '(_,_) '---'    '---'    
                                                                               
           ,---------.   _ _  ,---.   .--.   .-'''-.    ____    .--.      .--. 
           \          \ ( ' ) |    \  |  |  / _     \ .'  __ `. |  |_     |  | 
            `--.  ,---'(_{;}_)|  ,  \ |  | (`' )/`--'/   '  \  \| _( )_   |  | 
               |   \    (_,_) |  |\_ \|  |(_ o _).   |___|  /  ||(_ o _)  |  | 
               :_ _:          |  _( )_\  | (_,_). '.    _.-`   || (_,_) \ |  | 
               (_I_)          | (_ o _)  |.---.  \  :.'   _    ||  |/    \|  | 
              (_(=)_)         |  (_,_)\  |\    `-'  ||  _( )_  ||  '  /\  `  | 
               (_I_)          |  |    |  | \       / \ (_ o _) /|    /  \    | 
               '---'          '--'    '--'  `-...-'   '.(_,_).' `---'    `---` 
                                                                               
          .-''-.  .--.   .--.      _______  .-./`) .---.  .---.     _______    
        .'_ _   \ |  | _/  /      /   __  \ \ .-.')|   |  |_ _|    /   __  \   
       / ( ` )   '| (`' ) /      | ,_/  \__)/ `-' \|   |  ( ' )   | ,_/  \__)  
      . (_ o _)  ||(_ ()_)     ,-./  )       `-'`"`|   '-(_{;}_),-./  )        
      |  (_,_)___|| (_,_)   __ \  '_ '`)     .---. |      (_,_) \  '_ '`)      
      '  \   .---.|  |\ \  |  | > (_)  )  __ |   | | _ _--.   |  > (_)  )  __  
       \  `-'    /|  | \ `'   /(  .  .-'_/  )|   | |( ' ) |   | (  .  .-'_/  ) 
        \       / |  |  \    /  `-'`-'     / |   | (_{;}_)|   |  `-'`-'     /  
         `'-..-'  `--'   `'-'     `._____.'  '---' '(_,_) '---'    `._____.'   
                                                                               
                                                                  ,---.   .--. 
                                                                  |    \  |  | 
                                                                  |  ,  \ |  | 
                                                                  |  |\_ \|  | 
                                                                  |  _( )_\  | 
                                                             _ _  | (_ o _)  | 
                                                            ( ` ) |  (_,_)\  | 
                                                           (_{;}_)|  |    |  | 
                                                            (_,_) '--'    '--' 
                                                                               
              ,---.   .--..-./`)                                               
              |    \  |  |\ .-.')                                              
              |  ,  \ |  |/ `-' \                                              
              |  |\_ \|  | `-'`"`   _ _    _ _    _ _    _ _                   
              |  _( )_\  | .---.   ( ' )--( ' )  ( ' )--( ' )                  
              | (_ o _)  | |   |  (_{;}_)(_{;}_)(_{;}_)(_{;}_)                 
              |  (_,_)\  | |   |   (_,_)--(_,_)  (_,_)--(_,_)                  
              |  |    |  | |   |                                               
              '--'    '--' '---'                                               
                                                                               
             ,---.   .--.   ____    .-./`)  _______       .-''-.   ______      
            |    \  |  | .'  __ `. \ .-.')\  ____  \   .'_ _   \ |    _ `''.   
            |  ,  \ |  |/   '  \  \/ `-' \| |    \ |  / ( ` )   '| _ | ) _  \  
            |  |\_ \|  ||___|  /  | `-'`"`| |____/ / . (_ o _)  ||( ''_'  ) |  
            |  _( )_\  |   _.-`   | .---. |   _ _ '. |  (_,_)___|| . (_) `. |  
            | (_ o _)  |.'   _    | |   | |  ( ' )  \'  \   .---.|(_    ._) '  
            |  (_,_)\  ||  _( )_  | |   | | (_{;}_) | \  `-'    /|  (_.\.' /   
            |  |    |  |\ (_ o _) / |   | |  (_,_)  /  \       / |       .'    
            '--'    '--' '.(_,_).'  '---' /_______.'    `'-..-'  '-----'`      
                                                                               
         .---.       .-''-.  ,---.  ,---.   .-''-.   ______                    
         | ,_|     .'_ _   \ |   /  |   | .'_ _   \ |    _ `''.                
       ,-./  )    / ( ` )   '|  |   |  .'/ ( ` )   '| _ | ) _  \               
       \  '_ '`) . (_ o _)  ||  | _ |  |. (_ o _)  ||( ''_'  ) |  _ _    _ _   
        > (_)  ) |  (_,_)___||  _( )_  ||  (_,_)___|| . (_) `. | ( ' )--( ' )  
       (  .  .-' '  \   .---.\ (_ o._) /'  \   .---.|(_    ._) '(_{;}_)(_{;}_) 
        `-'`-'|___\  `-'    / \ (_,_) /  \  `-'    /|  (_.\.' /  (_,_)--(_,_)  
         |        \\       /   \     /    \       / |       .'                 
         `--------` `'-..-'     `---`      `'-..-'  '-----'`