                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                 ::                   
                                                                                   ;?:                                           +S,               :, 
                                   ,,                                             :S@?:                                        ,*#@@S?;,::,      ,?%: 
                                  :#%:                                        ,::?@@@@@S+::                                 ,,;S@@@@@@@@@?,     :%?,  
                                 :?@@@+                                       ,?@@@@@@@@@S:                                 :%@@@@@@@@@@@+     ;S+    
                             :;;%@@@@@#*;:,                                    ;@@@@@@@@@S                                   :#@@@@@@@@@@#,   *%:     
                            ,*#@@@@@@@@@@#:                                  ,+@@@@@@@@@*:                                   ,#@@@@@@@@@S:  ,?*       
                              ?@@@@@@@@@@#:                                  ,?@@@@@@@@S;,,, ,,                              ,+@@@@@@@@@%**?S%++;;;;::
                              ;%#@@@@@@@@@#:                                 ;%S@@@@@@@@@@@#S##+                            ,SS#@@@@@@@@@@@@@@@@@@@@@@
                                ,%@@@@@@@@@;                                 :S@@@@@@@@@@@@@@@@@%?**??                      ;@@@@@@@@@@@@@#S%%%SS###SS
                                :+S@@@@@#?,                                    +#@@@@@@@@@@#S@@@%#@@@+                      :#@@@@@@@@@@@@*     ,,,,,,
                               ;@@@@@@@@@@?,                                    %@@@@@@@@+:, :+?;:%*,                        *@@@@@@@@@@@@%           
            ,,,                *@@@@@@@@@@@?                                   *@@@@@@@#;                                     ,:#@@@@@@@@@;           
 ,:;;+*??%S####+,,      ,,;+*?S@@@@@@@@@@@@:                                   *@@@@@@@#;                                      ,%@@@@@@@@#,           
 *@@@@@@@@@@@@@@@#%?%%%S##@@#%?*+#@@@@@@@@@+                                  ;@@@@@@@@@@*                                   ,+S@@@@@@@@@;            
 ,+?S#@@@@@@@@@@@@@@@@@@@S?+:,  ,;#@@@@@@@@S,                                 ?@@@@@@@@@@@?,                                :S@@@@@@@@@@@*            
     ,:+?%#@@@@@@@@@@@@@@@@@@#SS#@@@@@@@@@@#?;                               ,#@@@@@@@@@@@@S:                             ,*@@@@@@@@@@@@@?            
          ,:;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                             *@@@@@@@@@@@@@@#;                          ,+#@@@@@@@@@@@@@@*            
               ,:;*%S@@@@@@@@@@@@@@@@@@@@@@@@@@#+,                          :#@@@@@@@@@@@@@@@@;                       ,*#@@@@@@@@@@@@@@@@;            
                     ,;+?S#@@@@@@@@@@@@@@@@@@@@@@S+,                        *@@@@@@@@@@@@@@@@@?                      *@@@@@@@@@@@@@@@@@@@:            
                          ,:+?%%??@@@@@@@@@@@@@@@@@#?:                      ;@@@@@@@@@@@@@#S?;,                      ;%#@@@@@@@@@@@@@@@@#,            
                                ,S@@@@@@@@@@@@@@@@@@@%,                      :*?@@@#*?@@@+,                            ,*@@@@SS##@@@@@#S+             
                               ,S@@@@@@@@@@@@@##S%*;:                          +@@S: ,#@@:                             +#@@S;  ,,:#@@#:               
                               ,S@@@@@@@@%;;:,,                               ,S@#:  ,S@%                            ,%@@@*,      S@@#,               
                               *@@@@@@@S:                                     +@@?   ,#@?                            ?@@@;       :@@@%                
                               :?#@@@@@@S+,                                  :S@@#***%@@#???**;,                    ,@@#;        +@@#:                
                                 ,:+?S@@@@#;,                               ,*#@@#SSS@@@@SSSS%*,                   ,%@@;        ,S@@:                 
                                      ,*#@@@S:                                ,+%%SSSSSSS%?+;:                     +@@*,        +@@%,                 
                                     ,;%@@@@@%,                               ,*%SSSSSSSS%%?****+:                :@@@;    ,,,,;#@@+,,,               
             ,,:,,                 ,*#@@@@@@@@S+;::,                          ,:;?%%SSSSSSSS%SS?;,                :#@@@%+*??%%%S@@@@S%?*:             
      ,,:;+*??%%%?+:,       ,,::;+*?%#@@@@@@@@#SSS%?*;,                          ,,;+++++;;;;;**;;;+++;,           :?SS##SSSSSSS#@@@#SSS%;            
   :*?%%%SSSSSSSSSSS%*;::;+****?%SSSSS###SSSSS%SSSSSSS*,                                          ,+*+:               ,,;+**?%%S%SSSSSSSS%:           
   ,;*%SSSSSSSSSSSSSSSSSS%*:,  ,,;?SS%%%%%%SS%%%%%%?*;,                                                                     ,;%SSSSSSSSSSS%*;,,   ,::,
      ,;*%SSSSSSSSSSSSSSSS%%*+:,;?%SSSSSSSSS%+:::,,                                                                          ;%SS%SSSSSSSSSSS%?+;;;:, 
         ,;*%SSSSSSSSSSSSSSSSS%%SSSSSSSS%%%?+,                                                                               :?%%?*++*?%%%SSSS%%%%%*+:
            ,;*%SSSSSSSSSSSSSSSSSSSS%*;::,,,                                                                                  ,:;+*?**+++++***?%%SSSS%
               ,:*%SSSSSSSSSSSSSSSSSS%?*;,                                                                                         ,:;;+*?*+, ,,;+***+
                  ,;*?%SSSSSSSSSSSSSSSSSS%?+:,                                                                                           ,,           
                     ,;*%%%%%%%%%%%%%%%%%%%?+,                                                                                                        