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