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