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