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