@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;                   ,;*??%%%%SSS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+:                         
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,                  ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?;:,                    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+,                ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;,,               
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*,              :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?*;:,          
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?:             *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%*;:,    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?,           ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?+,
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;            :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?:              +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:                    *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                     ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+ 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,                    ,*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?, 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                     ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                     :%@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                      ,*S@@@@@@@@@@@@@@@@@@@@*,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;     
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                       ,:+?S@@@@@@@@@@@@@@%;  *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,      
+#@@@@@@@#%%#@@@@@@@@@@@@@@@@@@%++*?%S##@@@@@@@@@@@@@?                           ,:;*%S#@@@@@#%;    ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%*:        
 :?S#S?+:,  ,;*?S#@@@@@@@@@@@S;,      ,,:::;+*******+:                                ,,:::::,      ,*#@@@@@@@@@@@@@@@@@@@@@@@@@##S%?*+;:,            
   ,,            ,;*%#@@@@#?;                                                                         ,;+*??%%%SSSSS%%%???**+;::,,                    
                     ,:;+;,                                                                                                                           
                                                                                                                                                      
         ,,                                                                                                       ,:;+;;,                             
       ;%##?;,                                          ,,:;+*??:                                               ,*S@@@@@#S?;:                         
     :?@@@@@@#%+,                               ,:;+*?%S#@@@@@@?,                 :+**?****++;::,,,           :?#@@@@@@@@@@@@S?+:      ,:;*?*+:,      
    ;#@@@@@@@@@@#?;,                     ,:;+?%S#@@@@@@@@@@@@@S,                  *@@@@@@@@@@@@@@##S%?*+;:,,;%@@@@@@@@@@@@@@@@@@@S*;,:*S@@@@@@@#?;,   
   +@@@@@@@@@@@@@@@#?;,             ,:+?S#@@@@@@@@@@@@@@@@@@@#;                   +@@@@%??*+++%#@@@@@@@@@@#S@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@S: ,
  ,S@@@@@@@@@@@@@@@@@@S*,        :+%#@@@@@@@@@@@@@@@@@@@@@@@@*,                   ,?@#*: ,,    ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?, 
  ,S@@@@@@@@@@@@@@@@@@@@#;    :*S@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                     ,;+,          :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S#@@@@@@@@@#: 
   *@@@@@@@@@@@@@@@@@@@@@#:,+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:                                     ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:,,,,;+?S@@@@@%*
   ,?@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;                                        ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@#+,          ,;*S@@@
    ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                                           :#@@@@@@@@@@@@@@#%?%#@@@@@S*;,               :?@
      ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                                             :S@@@@@@@@@@@@@#+  ,;**+;:                    ;
?%%%?*+*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+,                                               :?#@@@@@@@@@@@@@#?:                           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                                                   ,;*%#@@@@@@@@@@@+                           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                              :+?;,                      ,:*S@@@@@@#?,                           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:                               ;?#@@@#%+:                       +#@@@#*:                :**;:,,,, ,,
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?*+;:,                          :#@@@@@@@@@S+,                     :S@@#*:,;;,           ,+#@@@@##SSS#
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%;,                       ,+#@@@@@@@@@@@?;,                   ;#@#?+;::,        , ,*#@@@@@@@@@@@
+*?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%;,                      ,*#@?:::+?**S#%+,                  ;?*:,        :;*%S?*%@@@@@@@@@@@@
    ,+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:                      ,+S?,      ,,,,                              ,;++*%@@@@@@@@@@@@@@@
    :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                      ,+;,                                             ?@@@@@@@@@@@@@@
 ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,                                                                 ,;*S@@@@@@@@@@@@@@
%#@@@@@@@#%??S@@@@@@@@@@@@@@@@@**S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                                                               ,+#@@@@@@@@@@@@@@%
@@@@#S*;:,   ,*@@@@@@@@@@@@@@@@? ,;?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                                                               :S@@@@@@@@@@@@S,
@#?+:         ,%@@@@@@@@@@@@@@@@+   ,:+?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                                                               :#@@@@@@@@@@@S: