....;;                                                                 
                                               @@88888888%%                                                             
                                               tt88888888XXX                                                            
                                               tt88888888XXX                                                            
                                               ..888888888888888                                                        
                                               XX888888888888888tt                                                      
                                               %%88@@8888888@@8888                                                      
                                             ;;8888@@@@@@@@@@@888888tt                                                  
                                             @@88XXXXXXXXXXX@@@@XXXX88SS                                                
                                            S8888XXXXXXXXXXXXXXXXXXX8888                                                
                                            888XXXXXXXXXXXXXXXXXXXXXXX8888S                                             
                                          SS88888XXXXXXXXXXXXXXXXXXXXXXX888%%                                           
                                          SS88888XXXXXXXXXXXXXXXXXXXXXXX888%%                                           
                                          ..888888888SSSS@@@XXXXXXXXXXXX88888                                           
                                          ..XXX888888@@8888@XXXXXXXXXXXX888XX                                           
                                          tt@@@8888888888XXXXXXXXXXXSSSS@@888..                                         
                                      ..SS@@@XX888888@@XXXXXXXXXXXXXSS8888888                                           
                                      @@XX@@88888@@XXSSXXXXXXXXXSSSS88SS888;;                                           
                                  ;;88@@88888@@@@XXXXXXSSSSSSSXXXX88SS88888%%::                                         
                                @@8888888888888XXSSXXXXXXXXXXX8888888888888XX88%%8888                                   
                              88SS88888888XXSXXXXXX888888SSS88888888888888S%%XX8888XX88                                 
                              88SS88888888XXSXXXXXX888888SSS88888888888888S%%XX8888XX88                                 
                                8888XX888888S888888888888888888888888888%%%SSSS@@888888::                               
                              88888888SS8888888888888888888888888888XX%%SSSXX888888888888:                              
                             t888888888888888888888888888888888888SSSSSSSS@8888@@XXXX8888S                              
                             t888888888888@@888888888888888888SSSSSSSSXX888XXSS88@@88@@888                              
                             :@@8888@@  88SS8  XX8888888888SSS%%SSXX@@XX88 88XX88  XX@@888                              
                             :  88SSXX::XX88X;;%%SS88XXSSSSSSSXX@@88XX%%SS:XX88XX::XX88@@t                              
                             :XX88SSSSSS  tt %%XX;;ttXXSSSSX@@8888XX88;;XX%  tt  SSSSSS88X                              
                           XXSttSSSStt::..  S%%::XX8888@@@@88888@@8888XX::%SS  ..::ttSS  t%%XX                          
                           XXSttSSSStt::..  S%%::XX8888@@@@88888@@8888XX::%SS  ..::ttSS  t%%XX                          
                       ..88888XX  @@  ::     88  SS;;%%@@88888XX88@@;;SS  8      ::  @@  X88XX88..                      
                     ::SS88@@8  XX  88  ..::.  ;;  88@@88XXXSSXX@@XX88  ;; ..::..  88  XX 8888XX88::                    
                     ::8888@@88888  @@  :::::  SS  88XX888888888@@XX88  SS ::::::  @@  888@@888888SS                    
                   SSSS888888SSS@@  SS  ;;;;;  ..  XX;;888888888@@;;XX  .. ;;;;;;  SS  @@%SS88888888%%                  
                     888888888SSXX  88  ;;;;;      SS;;@@888888888;;SS     ;;;;;;  88  XXS88XX888888::                  
                   88@@88XX88@88XX  ::  SSSSS  %%  SSXX@@8888888XX@@SS  %% SSSSSS  ::  XX888XX888888XX                  
                 ..88888888888tt88    XX..SS:::tt  XX  @@888888888  @@  tt:::SS..XX    88t888888888888..                
                 ::8888888888888tt;;  %%..   ..  ;;XX@@888888888@@SSXX;;  .    ..%%  ;;tt8888888888888..                
                 ::8888888888888tt;;  %%..   ..  ;;XX@@888888888@@SSXX;;  .    ..%%  ;;tt8888888888888..                
                 ::88888888888@@  %%..  @@tt8  ..%%88XX8888@XXSSXX88@@%%.. 88tt@@  ..SS  @888888888888                  
                 ::%%88888888888XX%%;;..     ..;;  8888XXSSXXX@@@@8888  ;;.      ..;;tt@@88888888888%%                  
                 ::@@88888888888888888@@::..:XX;;8888XXXX@@@@@8888888888%%S......XX@@88888888888888888                  
                 tttt@@XX8888888888888%%@@::S;;8888@@@@8888888888888888888@88tt8888@@888888888888888SS::                
              @XXXX888888@@XXXXXXXXXXX8888888888888888888888888888888888XX8@@@@@@88888888888888888888888 88             
            ::S88@@@@@@@@XXXXX@@@@@@@@8888@@888888888888888888888888888888888888888888888888888888888888888tt           
          %%888@@@@@@@@88888888888888888%%   ::;;%%SSXX@@@@@8888@@XXXXSStt:    888888888888888888888888888888@@         
        88XX88@@@8888888888888888888888888::;;;;;::::::::.......::::::;;;;;;;::;;8888@@88888888888888888888888888       
        88XX88@@@8888888888888888888888888::;;;;;::::::::.......::::::;;;;;;;::;;8888@@88888888888888888888888888       
        ::88888888888888888888888888888888..888888888888888888888888888888888888888888888@888888888888888888888%%       
        @@8888888888888888888888888888888888 %%%%%%%%%%%%SSSSSSS%%%%%%SS%%S@@@@8888888888888888888888888888888888       
        @@88888888888888888888888888888888888@@SS..::;;:::::::::::;;::..88.XX888888888888888888888888888888888888       
      ..8888888888888888888888888888888888888XX88::XX..    ...  ..::88@@88X8888@@88888888888888888888888888888888       
      ::88@@8888888888888888888888888888888888888XX88  ;;ttXXX;;%%;;88XX88888888888888888888888888888888888888888       
      ::888888888888888888888888888888888888888888888XXXX8888888XX88888888888888888888888888888888888888888888888       
      ::8888888888888888888888888888888888888888888@@8888888888888888888888888888888888888888888888888888888888@@       
      ::XX8888888888888888888888888888888888888888888888888X88888888888888888888888888888888888888888888888888888       
      ::XX8888888888888888888888888888888888888888888888888X88888888888888888888888888888888888888888888888888888       
      ::%%888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888%%;;       
      ..%%@@88@888888888888888888888888888888888888@@8888888888888888888888888888888888888888888888888888@@@@%%..       
      ..ttXX::S888888888888888SS  88;;;;SS888XX::@@%%XX8888888888888888888888888888888888888888888XXXX  @XX%%::         
        ::%%XX@888888888888888@@@@@@@@@@XXXXX@@@@@@88888888888888888888888888888888888888888888888@@@@XXStt::           
          ::ttSXXXXXXXXXXXXXXSSS%%%%%%ttttttttt%%SSSSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSSSS%%tt;..             
            ..:;;tttttttt;;;;;::::......     ....::::;;;;ttttttttttttttttttttttttttttttttttttt;;;;::....