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