~~~~///                              
                                 ~~~~///                              
                       /(~((~((((~~((((////////                       
                    ////((((((t((((((((/////////((((                  
                    ////((((((t((((((((/////////((((                  
               %%%~~    ((((((t((((((((/////////(((((/~~              
               %%%~~    ((((((t((((((((/////////(((((/~~              
           t/%%%%%((((((((((tt((((((((7~(((((///%%%%%((((((           
        t%%%(%33%3((((((tttttt(((((((((((((((///%%%%%((((((t%         
        t%%%(%33%3((((((tttttt(((((((((((((((///%%%%%((((((t%         
      %3%%%%(33333((((((tt7tt7((((((tt7((((((~~~%%%%%((((((t366B      
   #@@@66C337CCCCC((((((t77777t((tt777%((((((~~~%%%%%GGGee%SSQKR@@    
   #@@@66C337CCCCC((((((t77777t((tt777%((((((~~~%%%%%GGGee%SSQKR@@    
^@@@@R####Gs%s6666(%(tt(%%%%%%7((CGGGeG%%%t(((((3333%OGGGG6GGGSQKR#   
  @@BR#QKKB@OSGGOOtQ%%%%333%%3%ttGOGGGGGGGGG(GRRCCC6COOOOOOOOOGGeeQ/  
  @@BR#QKKB@OSGGOOtQ%%%%333%%3%ttGOGGGGGGGGG(GRRCCC6COOOOOOOOOGGeeQ/  
    (R#QQKB@Q@@@@#3RRRBGOO66CC3%%OOOOOOOOOOO6s#@RSG%ssOOOOOOOOOGG~    
       KQQ@@R@@@@@OBRRRKSGOOOss66OOOOOsOOssssse@@Se6CO6666ssOO%       
       KQQ@@R@@@@@OBRRRKSGOOOss66OOOOOsOOssssse@@Se6CO6666ssOO%       
         6@@@@@@@@GBRRRSQGOOOsssOOOssssssss66ss@@QSO76666666          
             @@@@@#BRR#OKKsssssssssss6sss666666@@#Ke36C66             
             @@@@@#BRR#OKKsssssssssss6sss666666@@#Ke36C66             
                /@@@RR#G#eOsssssssssss6s6666666@@RKe6                 
                    6RRKKKSsss66666ssssss666C66@/                     
                    6RRKKKSsss66666ssssss666C66@/                     
                           /6s66666s6s6663                            
                           /6s66666s6s6663