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