                                             ?@S?@@@@@@@@@@@@@@@@@%**?%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+%+     ,#@@@@@@@@@@@@@@@@@S,            
                                             ?*, %@@@@@@@@@@@@@@@@@@#S?**?%%S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+;,     ;@@@@@@@@@@@@@@@@@@@:            
                                                 :@@@@@@@@@@@@@@@@@@@@@@@##SSS##@@@@@@@@@@@@@@@@@@@@@@@@@@@####%*:   ?@@@@@@@@@@@@@@@@@@@*            
                                                  *%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;,,,,,,   %@@@@@@@@@@@@@@@@@@@%            
                                                   ,++##;@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@;        ,S@@@@@@@@@@@@@@@@@@@#,           
                                                      ;? ?#?#*@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@#; +@*        ,S@@@@@@@@@@@@@@@@@@@@:           
                                                       , :%:::@@#@%@@@@@@@@@@@@@@@%S@%#@@@%*@@@?@@@S*?,   ::         *@@@@@@@@@@@@@@@@@@#%;         ,;
S?+:,                                                     ,  ;@+?S%@@@@@@@@@@@@@@#*S#+@@@* :@@@+#?+,,                :#@@@@@@@@@@@@@@@@@*,:     ,;*S@@
@@@@#?+:,                                                    ,: *@@@@@@@@@@@@@@@@@@#:+#%;  ,?*S;%                     *@@@@@@@@@@@@@@@@#,  ,;+?S@@@@@#
+?S@@@@@#S?*;:,,                 ,,,::;;,                  ,,:;+%@@@@@@@@@@@@@@@@@@#*?+:,,   ,+:;           ,+?*+++;;::S@@@@@@@@@@@@@@@S?%#@@@@@@@S*;,
   :*S@@@@@@@@@##S%%%??????%%%SSS##@@@@@#*           ,;+?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?+;,            +#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:    
     :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:    ,:+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?;,      ,%@@@@@@@@@@@@@@@@@@@@@@@@@@SSS%%S@@@@@%;,   
   +%#@@@@@#?;:::::::::::;;;+S@@@@@SS@@@@@@@+,:?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;   ;#@@@@@@S*%@@@@@@@#@@@@@@#@@*   ,?#@@@@@@@@*  
 ,?@@@@@@@@@@S,          ,+%#@@@@@#: ;%@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+%@@@@@@%;  *@@@@@@@@@@@@@%S@%,  ,S@@@@@@@@@@@?,
,%@@@@@@@@@@@@%,        ,S@@@@@@@@@#:  :?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:   ?@@@@@@@@@@@@@@+%+,  ,%@@@@@@@@@@@@@%
S@@@@@@@@@@@@@@?,      :S@@@@@@@@@@@#: :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;,*@@@@@@@@@@@@@@?,,    ?@@@@@@@@@@@@@@@
%@@@@@@@@@@@@@@#,     :#@@@@@@@@@@@@@S%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;      *@@@@@@@@@@@@@@#
:#@@@@@@@@@@@@@+      ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:      ,%@@@@@@@@@@@@@*
 *@@@@@@@@@@@@?,       S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?        :#@@@@@@@@@@@S,
 ,#@@@@@@@@@@#,        ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:         +@@@@@@@@@@@; 
  *@@@@@@@@@@+          S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%          ,?@@@@@@@@@S, 
  ,#@@@@@@@@?,          ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@:           :S@@@@@@@@;  
   +@@@@@@@S:           ,S@@@@@@@@@@@@@###################SSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%?%%%%%%%%%*             ;%%S%%SS*   
   ,%#SSSS%;             ;??*****+++++++++;;;;;;;;::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,               ,,,,,,,    
    ,::,,,,                                                                                                                                           
                                                                                                                                                      
                                                                                                                                                      
                           ,:::::::;;;;;;;;;+++++++++++************???????????????????????%%%%%%%%%%%%%%%%%%%%%%%%%%* :??%;                   ,,      
                           ,%###############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@? *@S,                           
                            :S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* :,                            
                            ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                              
                           ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                             
                           %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                             
                          +@@@@@@@@@@@@@@@@@%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                            
                         ,#@@@@@@@@@@@@@@@@%;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                           
                         ?@@@@@@@@@@@@@@@@S,;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                           
                        ,#@@@@@@@@@@@@@@@#: :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*@@@@@@@@@@@@@@@@S                           
                        *@@@@@@@@@@@@@@@#:  ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* ?@@@@@@@@@@@@@@@@:                          
                  ,:+?%#@@@@@@@@@@@@@@@#;    S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;  ?@@@@@@@@@@@@@@@#S%*;:,                    
              ,;*S#@@@@@@@@@@@@@@@@@@@#;     %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:  ,?@@@@@@@@@@@@@@@@@@@@#%*;:                
          :+?S@@@@@@@@@@@@@@@@@@@@@@@#:      S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;    ?@@@@@@@@@@@@@@@@@@@@@@@@S?+:,           
     ,:+%#@@@@@@@@@@@@@@@@@@@@@@@@@@%,      ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+     *@@@@@@@@@@@@@@@@@@@@@@@@@@@#S*;:       
 ,:+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*        ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?      ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%+:,  
S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,         :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,      ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,           +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:        ,;%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@