>>77777777777777777777777777CC7777::                                                          
..??7777????>>????7777CC77777777CC77::                                      --;;..              
..-->>??77CC77????7777CCCCCC??>>!!--..                                    ..??>>????>>;;..      
  ..''::;;-->>77??7777CCCCCC;;......      ..??CC$$CC$$CCCCCCCCCCCCCCCC77!!::??>>7777HHHHCC;;    
            ::>>77>>77CCCC$$??            ..77CCCCCCCCHHHHHHHHHHHHHHHHCC--;;>>??77CCHHOOCC::    
              ::>>??!!CCCC$$$$""          ..""??77CCCCHHHHHHHH$$$$CC??!!::--!!??77CCOOHH??::    
                ::??!!!!CCCC$$$$::          ..::;;""CCHHHHHHCC>>""--::....--""??77CCOO$$""..    
                ..;;77;;>>CC$$$$77..            ''77HHOOHH77""::..        """"??77CCOO??::      
                  ..--77;;??$$$$HH??          ::77HHOO$$>>;;..          ..>>!!??77$$$$""..      
                    ..""77--77$$$$$$""      --CCHHHHCC!!::              ..>>!!??77$$77;;        
                      ..>>77!!CC$$HH$$;;  ""CCOOHH77""''                ..??>>??77$$>>..        
                        ::>>77>>$$$$HHCC??HHOOHH77--..    ..::;;;;;;''  ::??>>??77CC;;          
                          ;;??77??$$$$HH$$HHHH77;;....""!!""--------""""!!>>>>??77??''          
                          ..--77CC$$HH$$HHHH??;;..""""--;;::::::;;;;------""!!??CC""..          
                            ..>>??77$$$$HH$$--::!!--::..''::;;;;;;;;;;;;;;----""77::            
                              "">>>>$$HHOOCC--!!;;....::::::::::::::::::;;;;;;--!!--            
                              ----""$$HHOO77!!;;  ..::::::::''''''''::::::::;;;;--""::          
                              ----""$$$$OO77--  ..::::::''''''''''''''''''::::;;;;--""..        
                              --!!>>$$HHHH""..  ::::''''::::'''''''''';;''''::::;;----""        
                              -->>77$$OO77::  ''::''''''HHHH''..''..77QQ--''::::::;;--""..      
                      ....'';;>>>>CCHHOO!!    ::::''''--NNNN::....''HHQQ??''''::::;;------      
                    ;;777777??>>77$$OOHH--  ..::::''''--QQNN::....''HHNN??''''''::;;;;--!!      
                    ""777777CC$$HHHHHHCC::  ''::''''''''HHHH........??QQ::''''''::::;;--!!..    
                    ::"">>!!!!!!!!!!>>??''  ::::''''''..''''..........::..''''''::::;;--""..    
                      ..............''>>''  ::::''''......................''''''::::;;----''    
                                    ..!!''  ::::''''''......................'''';;::;;--""''    
                                    ..""::  ::;;""''''....................''''::>>::;;--!!''    
                                      ""--::::::77;;''''................''''''CC"";;;;--!!..    
                                      ;;!!::::::--HH;;''................''''77$$::;;----""      
                                      ''>>;;::::::>>QQ""''''......''..'';;$$QQ;;;;;;--!!;;      
                                      ..--""::::;;::??QQCC""::::''::--??HHHH--::;;----!!''      
                                        ''>>--::::::::""$$HH$$CCCCCC$$HH77;;::;;;;-->>;;        
                                          -->>--::;;;;::::""??777777>>;;::::;;;;--!!""..        
                                          .."">>--::;;;;;;::::::::::::::;;;;----!!!!''          
                                            ..""??------;;;;;;;;;;;;;;;;------>>>>::            
                                              ..--????""------------------!!??""''              
                                                ..::""????>>!!!!!!!!>>????!!;;..                
                                                    ..::--"">>>>>>>>!!--::..                    
                                                          ............