@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:                          
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+;::;+?S@S+,                             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;,      ,;*;                                
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*          ,                                  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                                             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:                                             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:,                                            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%;                                          
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?;,                                          
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:       ,                                     
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,       ,,                                     
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:          ,:                                     
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:             ,+,                                    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?++*?:          ,;*;,,                                 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%%S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,          ,;?%S#%;,                              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?+:,   ,:+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+            :*S@@@@#%,                           ,
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%+:,           ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,          ,;*S@@@@@#,:,   ,                    ,+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%*;,       ,;*%*:      ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:          :+%#@@@@@%*#;,:,+**+:                ,,
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%*+:,        ,:+%#@@@@@%;,      ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@*         ,;?#@@@@@@#@@?**;%S#@@#%+,              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%?+;:,              ,+%@@@@@@@@@#?;,      ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@;        :*%@@@@@@@@@@S@SS###S%*+:               
@@@@@@@@@@@@@@@@@@@#S%?*+;:,,            ,:;*+,   ,:*S@@@@@@@@@@@#+        ,;*S@@@@@@@@@@@@@@@@@@@@@@#:,:   ,,+%#@@@@@@@@@@@S?+;,,                    
@@@@@###SS%?**+;::,,               ,,:+*%#@S;,      ,:*S@@@@@@@@@S,    ,,    ,:+%#@@@@@@@@@@@@@@@@@@@@#%*,,:+*S@@@@@@@@@@%+,                          
;;::,,,                     ,:;+*?S#@@@@@@#:          :*S@@@@@@S;,      ,:;:    ,;?S@@@@@@@@@@@@@@@@@@@@#%S##@@@@@@@@@@?:                             
         ,,::;+**?%S#%,    :*S@@@@@@@@@@@#;           ,;*S@@@@#:         ,+??+,   ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:                               
  ,:+%SS##@@@@@@@@@@?;,    ,:+?#@@@@@@@@@%             :+%@@@@;           ,+%##*,   ,:+?S@@@@@@@@@@@@@@@@@@@@@@@@@@S;                                 
  ,+S@@@@@@@@@@@@@@*          :*#@@@@@@@@@;           ,;?#@@@S            ,;*S@@#*,    ,:+?#@@@@@@@@@@@@@@@@@@@@@@+                                   
   ,;?#@@@@@@@@@@@?            :?#@@@@@@@@#,          :*S@@@@@+           :+%#@@@@S,       ,;+?S##@@@@@@@@@@@@@@@;                                    
     :*#@@@@@@@@@%             ,;?#@@@@@@@@*         ,;?#@@@@@#,         ,;?S@@@@@?      ,,      ,,:;;++++;;:::::                                     
      :*#@@@@@@@@#,            ,+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@@@@@@#,      ,:*%#@@?                                     
 ,+%@@@@@@@@@@@@@@@@@@@@*+?%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*    :+%#@@@@@@@?      ,+?S@@@:                                     
 :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:  ,;?S@@@@@@@@@:    ,;*%@@@+                                      
;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@? ,+*%#@@@@@@@@@%    :+%#@@?                                       
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?%#S#@@@@@@@@@@@;  :;*S@@#,                                       
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,:**%#@@?          ,                             