                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                 ;:                   
                                                                                   ,*?,                                          ?%:,             ,,  
                                   :                                              ,*@@*,                                       :%@@@#%+:;+,      +?,  
                                  ;@%:                                         ;+*#@@@@@?;:,                                ,:+#@@@@@@@@@+     ,?*,   
                                ,;%@@@+                                        ;#@@@@@@@@@+,                                :%@@@@@@@@@@@*    :%+     
                            ,;+*#@@@@@#?+;,                                    :#@@@@@@@@@:                                  ,#@@@@@@@@@@%   ;%;      
                            ,*@@@@@@@@@@@S:                                   ;#@@@@@@@@?:                                    S@@@@@@@@@?,  +?,       
                              %@@@@@@@@@@S:                                   ;#@@@@@@@#+,,                                  ,;#@@@@@@@@S%%S@??***+++;
                              ;%#@@@@@@@@@#,                                 ;%#@@@@@@@@@@#S%S%:                             %###@@@@@@@@@@@@@@@@@@@@@
                                ,%@@@@@@@@#,                                 :%@@@@@@@@@@@@@@@@#*;::::                      ,#@@@@@@@@@@@@S?*;++**??**
                               ,;?#@@@@@#*,                                    ;#@@@@@@@@@@@#@@@S@@@@*                      ,%@@@@@@@@@@@@?           
                               +@@@@@@@@@@%,                                   ,S@@@@@@@#+;,,:*?:*#?:                        :S#@@@@@@@@@@S           
         ,,,:::               ,?@@@@@@@@@@@*                                  ,?@@@@@@@%,         ,                            ,%@@@@@@@@@+           
 ,+**?%SS##@@@@%;:,   ,,:;*?%S#@@@@@@@@@@@@:                                  ,?@@@@@@@S;                                      ,*@@@@@@@@#,           
 +@@@@@@@@@@@@@@@@#SS###@@#S%?+;;%@@@@@@@@@*                                  *@@@@@@@@@@+                                   ,*#@@@@@@@@@;            
  :+*%#@@@@@@@@@@@@@@@@@@#%*+:,,:+#@@@@@@@@S,                                ,#@@@@@@@@@@@*                                 :S@@@@@@@@@@@%            
      ,:;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                              ;@@@@@@@@@@@@@?,                              +#@@@@@@@@@@@@#,           
            ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:                            ,S@@@@@@@@@@@@@@S:                           :%@@@@@@@@@@@@@@@:           
                 ,;+%S@@@@@@@@@@@@@@@@@@@@@@@@@#+                           *@@@@@@@@@@@@@@@@#;                        :%@@@@@@@@@@@@@@@@@;           
                      ,:+?S#@@@@@@@@@@@@@@@@@@@@@S;,                       ,#@@@@@@@@@@@@@@@@@*                       *@@@@@@@@@@@@@@@@@@@+           
                           ,:+**+*@@@@@@@@@@@@@@@@@#?:                      ?@@@@@@@@@@@@@S?+:                        :*S@@@@@@@@@@@@@@@@@*           
                                ,%@@@@@@@@@@@@@@@@@@#*                       :;*@@@S++@@@;                              :@@@@%?%S#@@@@@S%*,           
                               ,%@@@@@@@@@@@@#S%?*;,,                          +@@%,  S@#,                             +#@@#+     %@@@;               
                               ,S@@@@@@@#*::,,                                ,#@#,  ,S@S                            ,?@@@%:      ?@@#,               
                               +@@@@@@@S:                                     +@@S,,,:#@%::,,,                       *@@@*       :@@@%                
                               ,+%#@@@@@#?:                                 :*#@@@%%%#@@@S%%%?+,                    ,#@@*        *@@S,                
                                   ,;*%@@@@?;                               :*%##SSSS#@##S%%%?;,                   ,%@@*        :#@@:                 
                                       ;S@@@@*                                ,;?%SSS%%%%?*;:,,,,                  ;@@?,        +@@*                  
                                    ,+?#@@@@@#:                               ,+?SSSSSSSSSS%%%%?+:                ,#@@?,  ,,::;*@@@*;;::,             
           ,,:;;;:,                :?#@@@@@@@@@?**;:,                          ,,+?%%SSSSS%%%%%*:,,,,,,           ,?@@@#??%%%%SS@@@@#SS%?*:           
    ,,::;+*?%%SSS%?+;,     ,::;+*??%%#@@@@@@@##SSSS%?*:                           ,,:;;;;;:,,,;;::+???;             ;*??%%%SSSSSS###S%SSSS*,          
   :*%%SSSSSSSSSSSSSS%*++****++*?%SSSSSSSSSSSSSSSSSS%?;                                           ,::,,                  ,:;;*%S%%%%SSSSS%*,       ,  
    ,;*%SSSSSSSSSSSSSSSSSS?;,    :?SSS%%%SSS%?*?**+;:,                                                                       ;%SSSSSSSSSSS%?+;:, :;:, 
       ,;*%SSSSSSSSSSSSSSSS%%?+;*%%SSSSSSSSS%:                                                                               +SS%%%%%SSSSSSSS%??**;,  
          ,;*%SSSSSSSSSSSSSSSSSSSSSS%%%%%?**+,                                                                               ;?%?*+;;;+*??%%S%%%%%%%?+
             ,;*%SSSSSSSSSSSSSSSSSSS%?+:,                                                                                      ,:+*??*+;;;;+;;+?%%SSS%
                ,;*%SSSSSSSSSSSSSSSSSS%?*;,                                                                                        ,,:+****:    ,:;;;:
                   ,;*%%SSSSSSSSSSSSSSSSSS%?+,                                                                                                        
                      ,;*%%%%%%%%%%%%%%%%%?*;,                                                                                                        