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