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