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