;;CCHHOO$$>>..                                
                                              ;;OOHH??""""!!CCOO77                              
                                            !!OO??;;''..  ..''""$$$$                            
                        ..::;;..          --OO77;;::''''''''::::!!$$$$                          
                      CCHHCC77HH$$''      OO$$??--;;::''''''::;;""CCHH""                        
                    HH77;;''..::>>QQ''  ""$$7777""--;;;;::;;;;-->>77CCHH                        
                  CCOO>>--;;::;;!!$$HH..$$7777??>>""----------!!>>??77HH''                      
                ..OO$$77!!""""!!??$$OO!!HH77>>>>!!""""------""""!!>>??CC""                      
                --HHCC77>>!!!!>>??77$$CCHH>>>>!!""------;;------""!!>>77!!                      
                ""$$77>>!!""""""!!??CCCCHH!!!!""--;;;;;;::;;;;;;--""!!CC""                      
                ::HH>>!!--;;;;;;""!!77>>$$!!""--;;;;::''''''::;;;;--""$$::                      
                ..HH!!"";;::''::--""HH;;!!77----;;::''......''::;;;;!!HH..                      
                  ""$$--::....::;;77>>  ..HH"";;;;''....  ..''::::;;CC!!                        
                  !!QQHH--'''';;??NNCC..  ""HH--''''..    ....''::??CC..                        
                CC$$$$>>"";;::--!!CC$$OO;;  >>OO""''..      ..::77OO''                          
            ..OO>>CC77!!--::'';;"">>HH!!HH$$OOOO77--::''..'';;!!$$OOHH--                        
            HH>>>>HH77>>""--;;--!!>>$$HHHHCCCC??""--;;::::::;;;;""CC77$$CC..                    
          ??CC!!CC$$CC77>>!!!!!!??77OOHH""??77""--;;''..  ..'';;--""CC!!!!OO::                  
        ..HH??>>CCCC77??>>>>>>>>>>HHCC::!!$$!!""--;;::''..''::;;;;"">>$$----HH;;                
        !!77"">>77??>>!!!!!!!!!!CCCC;;;;CCCC!!""--;;::::''''::;;--"">>CC77::--HH::              
        CC!!;;>>??>>!!""------>>$$"";;>>CC77??!!""--;;;;::;;;;----!!777777!!::!!$$              
        $$--::>>>>!!""--;;;;;;HH>>""""777777??>>!!!!""------""!!!!>>>>??77??""""????            
        $$;;::!!>>""--;;::::!!77!!!!!!????>>>>!!!!""""""""""""""""!!!!>>????""!!!!$$..          
        ??77;;!!!!"";;::''''CC!!""-->>>>>>!!!!""""""--------------""""!!>>>>!!--"">>??          
        ''CCHH!!!!--;;::''::CC--;;::>>>>!!""""--------;;;;;;;;------""""!!!!!!::;;--$$          
          ''CCCC--;;;;::''""??;;::;;!!!!!!""----;;;;;;;;;;;;;;;;;;;;----""!!!!''::;;CC''        
            ::77HH$$>>--::??""::''--""!!""----;;;;;;::::::::::::;;;;;;--""""""::''::??--        
              ..::""??CC$$QQ--''''""--""----;;;;::''''''''''''''::::;;;;--""--;;''''>>""        
                      ..''$$--..''""--""--;;;;::''''''......''''''::;;;;--------''..>>""        
                          77!!..''""------;;::''''..............''''::;;;;------....77--        
                          --$$::::------;;;;::''..................''::::;;------'';;HH''        
                          ..??$$>>------;;::::''......      ......''''::;;--;;""??HH!!          
                            ..""OO"";;;;;;::::''......        ....''''::;;;;::>>$$--            
                                !!$$--::::::''''......        ....''''::''::""HH;;              
                                ..>>HH77""::''''......        ....''''::""CCHH""                
                                  ..;;??$$HHCC??!!--;;''''::;;--!!77$$HHCC>>::                  
                                        '';;"">>77CC$$$$$$$$$$CC??!!--;;..                      
                                                ......''''''....