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