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